COMM
COMM  Copyright (C) 1999-2011 by CERN/IT/PDP/DM
COMM  All rights reserved
COMM
COMM       @(#)$RCSfile: Imakefile,v $ $Revision: 8062 $ $Date: 2012-12-18 15:13:34 +0100 (Tue, 18 Dec 2012) $ CERN IT-PDP/DM Jean-Philippe Baud
 
COMM    Make name server programs.


#define IMAKE_CNS  "Imakefile.cns"
#define IMAKE_LFC  "Imakefile.lfc"
#define IMAKE_DPNS "Imakefile.dpns"


#if PyRunSwig
PY_RUNSWIG = "YES"
#endif
#if UseArgus
ARGUS_LOCATION = ArgusLocation
ARGUSINC = -I$(ARGUS_LOCATION)/include
LIBARGUS = -L$(ARGUS_LOCATION)/$(_lib) -largus-pep
#endif
#if UseSEMsg
SEMSG_LOCATION = SEMsgLocation
SEMSGINC = -I$(SEMSG_LOCATION)/include
LIBSEMSG = -ldl -lstdc++ $(SEMSG_LOCATION)/$(_lib)/libSEMsgConnector_C.a
SEMSGFLAG = -DSEMSG
#endif
CNS_HOST = NsHost
CNSHOSTPFX = NsHostPfx
#if BuildSecurity
CSECFLAG = -DCSEC
#if UseGSI
GLOBUS_LOCATION=GlobusLocation
#if EMIBuild
GLOBUS_LIBS=-lglobus_gssapi_gsi -lglobus_gss_assist
#else
#if defined(__STDC__)
GLOBUS_FLAVOUR=GlobusFlavour##pthr
#else
GLOBUS_FLAVOUR=GlobusFlavour/**/pthr
#endif
GLOBUS_LIBS=-L$(GLOBUS_LOCATION)/lib -lglobus_gssapi_gsi_$(GLOBUS_FLAVOUR) -lglobus_gss_assist_$(GLOBUS_FLAVOUR)
#endif
LIBCSEC += $(GLOBUS_LIBS)
#endif
LIBCSEC += -ldl
#if UseVirtualIds
VIDFLAG = -DVIRTUAL_ID
#endif
#if UseVOMS
VOMSFLAG = -DUSE_VOMS
#endif
#endif
INCLUDES = FileName(..,h)
TOPLIBRARYNAME = TopLibraryName
#if _AIX
LIBS = -L../shlib -l$(TOPLIBRARYNAME) -llcgdm
#else
#if defined(__alpha) && defined(__osf__)
LIBS = -no_so -L../shlib -l$(TOPLIBRARYNAME) -llcgdm -so_archive
#else
#if hpux
LIBS = -L../shlib -l$(TOPLIBRARYNAME) -llcgdm
#else
#if linux

LIBS = -L../shlib -l$(TOPLIBRARYNAME) -llcgdm -lnsl -lstdc++

#else
#if sgi
LIBS = -L../shlib -l$(TOPLIBRARYNAME) -llcgdm
#else
#if SOLARIS
LIBS = -L../shlib -l$(TOPLIBRARYNAME) -llcgdm -lsocket -lnsl
#else
#if _WIN32
LIBS = ..\lib\$(TOPLIBRARYNAME).lib wsock32.lib advapi32.lib
#else
LIBS = -L../shlib -l$(TOPLIBRARYNAME) -llcgdm
#endif
#endif
#endif
#endif
#endif
#endif
#endif
LIBUUID =
#ifndef darwin
LIBUUID += -luuid
#endif
#if _WIN32
NSLIB = ns.lib
#else
NSLIB = -L. -lns
#endif
SPOOL = NsSpool
LOGFILE = FileName($(SPOOL),log)
#if Accounting
SACCTDIR = SacctDir
SACCTFILE = FileName(SacctDir,sacct)
ACCTFILE = -DACCTFILE=\"$(SACCTFILE)\"
#endif
LCGDM_MAPFILE = IdMapFile
NSCONFIG = NsConfigFile
#if UseOracle
DBOBJS = Cns_oracle_ifce.Osuf
ORAFLG = -DUSE_ORACLE
#if defined(_WIN32)
ORAINC = -I$(ORACLE_HOME)\PRO80\C\INCLUDE
LIBORA = $(ORACLE_HOME)\PRO80\LIB\MSVC\SQLLIB80.LIB
WNT_SYS_INCLUDE = "INCLUDE=$(MSDEVDIR)\..\Vc\Include"
#else
ORAINC = -I$(ORACLE_HOME)/precomp/public
#endif
#else
#if UseMySQL
DBOBJS = Cns_mysql_ifce.Osuf
MYSFLG = -DUSE_MYSQL
MYSQL_LOCATION = MySQLLocation
MYSINC = -I$(MYSQL_LOCATION)/include/mysql
LIBMYS = -L$(MYSQL_LOCATION)/$(_lib)/mysql -lmysqlclient
#else
#if UsePostgres
DBOBJS = Cns_libpq_ifce.Osuf
POSFLG = -DUSE_POSTGRES
LIBPOS = -lpq
#endif
#endif
#endif
 
COMM######################### FLAGS ##############################
 
DFLAGS = -DBIN=\"$(BIN)\" -DCNS_HOST=\"$(CNS_HOST)\" \
         -DCNSHOSTPFX=\"$(CNSHOSTPFX)\" \
         -DLCGDM_MAPFILE=\"$(LCGDM_MAPFILE)\" \
         -DLOGFILE=\"$(LOGFILE)\" \
         -DNSCONFIG=\"$(NSCONFIG)\" \
         $(ACCTFLAG) $(ACCTFILE) $(NSTYPE) $(ORAFLG) $(MYSFLG) $(POSFLG) $(CSECFLAG) \
         $(VIDFLAG) $(VOMSFLAG) $(SEMSGFLAG)
 
CFLAGS = -g -I$(INCLUDES) $(MTCCFLAGS) $(DFLAGS) $(ORAINC) $(MYSINC) $(POSINC) $(SEMSGINC)
 
COMM######################### RULES ##############################

#if BuildNameServerClient
MANDIRS = $(LIBMANDIR) $(MANDIR)
#else
#if BuildNameServerLibrary || BuildInterfaces
MANDIRS = $(LIBMANDIR)
#else
#if BuildNameServerDaemon
MANDIRS = $(MANDIR) $(DMONMANDIR)
#endif
#endif
#endif

#if BuildNameServerAsLFC
#include IMAKE_LFC
#else
#if BuildNameServerAsDPNS
#include IMAKE_DPNS
#else
#include IMAKE_CNS
#endif
#endif

MakeDir($(BIN),root,bin,0755)
MakeDir($(SBIN),root,bin,0755)
MakeDir($(NSSHAREDIR),root,bin,0755)
MakeDir($(SPOOL),root,bin,0755)
MakeDir($(SYSCONFDIR),root,bin,0755)
MakeDir($(LIB),root,bin,0755)
MakeDir($(INITRCDIR),root,bin,0755)
MakeDir($(LOGROTATEDIR),root,bin,0755)
MakeDir($(FLAVOURDIR),root,bin,0755)
MakeDir($(CONFFLAVOURDIR),root,bin,0755)
MakeDir($(LIBFLAVOURDIR),root,bin,0755)

#if Accounting
MakeDir($(SACCTDIR),root,bin,0777)
#endif

MakeDir($(LIBMANDIR),root,bin,0755)
MakeDir($(MANDIR),root,bin,0755)
MakeDir($(DMONMANDIR),root,bin,0755)

COMM###################### CLEANING RULES ########################
 
clean:
	-@RemoveFiles(FilesToClean)
 
clobber:        clean
	-@RemoveFiles($(CLIENT) $(PROGS_D) $(ARGUS_IFCE))
 
#if _WIN32
depend:
	@echo Not supported on this platform
#else
depend:
	makedepend $(DFLAGS) -Y$(INCLUDES) *.c 2> /dev/null
#endif

Makefiles:
 
FORCE:

COMM###################### DEPENDENCIES ##########################

COMM DO NOT DELETE THIS LINE -- make  depend  depends  on  it.
