COMM       @(#)Imakefile	1.29 11/11/99 CERN CN-SW/DC Jean-Philippe Baud
COMM
COMM  Copyright (C) 1990-1999 by CERN/CN/SW/DC
COMM  All rights reserved
COMM

COMM		Make common routines library

#if HasUltra && sun
ULTRA = -DULTRA -DUNETSOLR
#endif /* Sun && ULTRA */
#if HasNis
COMM -DNIS to compile with Yellow Pages (aka NIS) code for getacct()
#if _AIX || hpux || sun || ultrix || ( __osf__ && __alpha ) || linux
CCOPTFLAGS = -DNIS $(ULTRA)
#endif
#if sgi
COMM -cckr on Irix 4.0.1 because the NIS function prototypes are
COMM buggy (e.g. <rpcsvc/ypclnt.h>)
CCOPTFLAGS = -DNIS -cckr
#endif
#endif
#if _AIX && _IBMESA
SYSDEP_OBJS = getarg.o iargc.o
#endif
#if hpux && BuildExamples
SYSDEP_OBJS = getarghp.o
#endif
#if _WIN32
SYSDEP_OBJS = cmdf2argv.obj getopt.obj sleep.obj syslog.obj uxid.obj ws_errmsg.obj inet_netof.obj getregkey.obj
#endif
#if cray
COMM UNETUNICOS reflects the current UNICOS release for Ultra.
COMM It is used by /usr/include/ultra/unetioct.h where first
COMM param of ioctl is now a char constant.

CCOPTFLAGS = -DUNETUNICOS=60
CRAYREADFF=readf.f
CRAYREADFO=readf.Osuf
#endif

#ifdef USESCONFIGD
NEWGETCONF=-DNEWGETCONF
#endif

PATH_CONFIG = ShiftConfigFile
MAPPING = MappingFile
LOCHOSTSFILE = LocalHostsList
RTHOSTSFILE = RemoteHostsList
#if Accounting
SACCTFILE = SacctDir/sacct
ACCTFILE = -DACCTFILE=\"$(SACCTFILE)\"
WSACCTO = wsacct.Osuf
#endif
#if BuildHpssServer
#if defined(_AIX)
CC = xlc_r4 -qlanglvl=extended -Dunix -DAIX42
#endif
#if defined(__osf__) && defined(__alpha)
CC = cc -threads -DDUXV4
#endif
#endif
INCLUDES = ../h
CFLAGS = -O -I$(INCLUDES) -DPATH_CONFIG=\"$(PATH_CONFIG)\" -DLOCALHOSTSFILE=\"$(LOCHOSTSFILE)\" -DMAPPING_FILE=\"$(MAPPING)\" -DRTHOSTSFILE=\"$(RTHOSTSFILE)\" $(CCOPTFLAGS) $(DEFCFLAGS) $(NEWGETCONF) $(ACCTFILE)
FFLAGS = $(FFOPTFLAGS)

.PRECIOUS:	LibraryTargetName(common)

COMMONLIB_OBJS = $(SYSDEP_OBJS) \
		 compat.Osuf getacct.Osuf getacctent.Osuf getconfent.Osuf \
		 getfilep.Osuf getifnam.Osuf getuser.Osuf log.Osuf readc.Osuf \
		 $(CRAYREADFO) remote.Osuf segment.Osuf sendscsicmd.Osuf \
		 serror.Osuf setnetio.Osuf socket.Osuf solveln.Osuf trace.Osuf \
		 $(WSACCTO) ypgetacct.Osuf ypgetacctent.Osuf

MANPAGES = $(FILMANDIR)/account.$(FILMANSUFFIX) \
	   $(LIBMANDIR)/getacct.$(LIBMANSUFFIX) \
	   $(LIBMANDIR)/getacctent.$(LIBMANSUFFIX) \
	   $(LIBMANDIR)/getconfent.$(LIBMANSUFFIX) \
	   $(LIBMANDIR)/log.$(LIBMANSUFFIX)
EXPORTMANPAGES = $(EXPORTMAN)/man4/account.$(FILMANSUFFIX) \
	   $(EXPORTMAN)/man3/getacct.$(LIBMANSUFFIX) \
	   $(EXPORTMAN)/man3/getacctent.$(LIBMANSUFFIX) \
	   $(EXPORTMAN)/man3/getconfent.$(LIBMANSUFFIX) \
	   $(EXPORTMAN)/man3/log.$(LIBMANSUFFIX)

all:	LibraryTargetName(common)

#if _WIN32
cmdf2argv.c:	..\win32\cmdf2argv.c
	RemoveFile(cmdf2argv.c)
	copy ..\win32\cmdf2argv.c cmdf2argv.c
getopt.c:	..\win32\getopt.c
	RemoveFile(getopt.c)
	copy ..\win32\getopt.c getopt.c
sleep.c:	..\win32\sleep.c
	RemoveFile(sleep.c)
	copy ..\win32\sleep.c sleep.c
syslog.c:	..\win32\syslog.c
	RemoveFile(syslog.c)
	copy ..\win32\syslog.c syslog.c
uxid.c:	..\win32\uxid.c
	RemoveFile(uxid.c)
	copy ..\win32\uxid.c uxid.c
ws_errmsg.c:	..\win32\ws_errmsg.c
	RemoveFile(ws_errmsg.c)
	copy ..\win32\ws_errmsg.c ws_errmsg.c
inet_netof.c:	..\win32\inet_netof.c
	RemoveFile(inet_netof.c)
	copy ..\win32\inet_netof.c inet_netof.c
getregkey.c:	..\win32\getregkey.c
	RemoveFile(getregkey.c)
	copy..\win32\getregkey.c getregkey.c
#endif

NormalLibraryTarget(common,$(COMMONLIB_OBJS))

install:	all

export:

exportman: $(EXPORTMANPAGES)

exportshr:

install.man: $(FILMANDIR) $(LIBMANDIR) $(MANPAGES)

MakeDir($(FILMANDIR),root,bin,0755)
MakeDir($(LIBMANDIR),root,bin,0755)

IMANPAGE(account,$(FILMANDIR),$(FILMANSUFFIX))
IMANPAGE(getacct,$(LIBMANDIR),$(LIBMANSUFFIX))
IMANPAGE(getacctent,$(LIBMANDIR),$(LIBMANSUFFIX))
IMANPAGE(getconfent,$(LIBMANDIR),$(LIBMANSUFFIX))
IMANPAGE(log,$(LIBMANDIR),$(LIBMANSUFFIX))
EMANPAGE(account,$(EXPORTMAN)/man4,$(FILMANSUFFIX))
EMANPAGE(getacct,$(EXPORTMAN)/man3,$(LIBMANSUFFIX))
EMANPAGE(getacctent,$(EXPORTMAN)/man3,$(LIBMANSUFFIX))
EMANPAGE(getconfent,$(EXPORTMAN)/man3,$(LIBMANSUFFIX))
EMANPAGE(log,$(EXPORTMAN)/man3,$(LIBMANSUFFIX))

clean:
	@echo cleaning in CurDir
	-@RemoveFiles(FilesToClean $(CRAYREADFF))

clobber: clean

Makefiles:

log.Osuf:     $(INCLUDES)/log.h
serror.Osuf:  $(INCLUDES)/serrno.h
wsacct.Osuf:  $(INCLUDES)/sacct.h
#if _WIN32
syslog.obj:	..\win32\syslog.h ..\win32\slogmsg.h
uxid.obj:	..\win32\grp.h ..\win32\pwd.h
ws_errmsg.obj:	..\win32\ws_errmsg.h
#endif
