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
COMM  Copyright (C) 2000-2011 by CERN/IT/PDP/DM
COMM  All rights reserved
COMM

COMM 		Make DPM/LFC shared libraries           GENERIC

#include <Library.tmpl>

include FileName(..,VERSION)
LIB = InstallLibDir

COMM Archive symbol table entry name
#if __osf__ && __alpha
SYMTABNAM = ________64ELEL_
#else
SYMTABNAM = __.SYMDEF
#endif

#if BuildNameServerAsLFC
COMM Libraries to include in SharedLibraryTargetName(lfc)

all:    SharedLibraryTargetName(lfc)

install: $(LIB) FileName($(LIB),SharedLibraryTargetName(lfc))

export: $(EXPORTLIB)/SharedLibraryTargetName(lfc)
#else
#if BuildNameServerAsDPNS
COMM Libraries to include in SharedLibraryTargetName(dpm)

all:    SharedLibraryTargetName(dpm)

install: $(LIB) FileName($(LIB),SharedLibraryTargetName(dpm))

export: $(EXPORTLIB)/SharedLibraryTargetName(dpm)
#else
#endif
#endif

COMM Libraries to include in SharedLibraryTargetame(lcgdm)

all:	SharedLibraryTargetName(lcgdm)

install: $(LIB) FileName($(LIB),SharedLibraryTargetName(lcgdm))

export: $(EXPORTLIB)/SharedLibraryTargetName(lcgdm)

exportman: 

exportshr: 

libdpm.sl libdpm.so libdpm.dylib: $(RFIOLIB) $(NSLIB) $(DPMLIB)
liblfc.sl liblfc.so liblfc.dylib: $(NSLIB)

%.sl %.so %.dylib: SharedLibraryTargetName(lcgdm)
	@echo " making $@ in `pwd`"
	@-rm -rf tmp
	@mkdir tmp
	@for i in $^ ;\
	do (cd tmp; case $$i in *.a) $(AR) x ../$$i; rm -f $(SYMTABNAM) ;; esac) done
	(cd tmp; $(CC) $(SHLIBLDFLAGS) SonameOption($@,`echo $(VERSION)|cut -f1 -d.`) -o ../$@ *.o -L.. -llcgdm $(LIBCSEC))
	@-rm -rf tmp

liblcgdm.sl liblcgdm.so liblcgdm.dylib: $(COMMONLIB) $(SECURITYLIB)
	@echo " making $@ in `pwd`"
	@-rm -rf tmp
	@mkdir tmp
	@for i in $^ ;\
	do (cd tmp; $(AR) x ../$$i; rm -f $(SYMTABNAM)) done
	(cd tmp; $(CC) $(SHLIBLDFLAGS) SonameOption($@,`echo $(VERSION)|cut -f1 -d.`) -o ../$@ *.o $(SHLIBREQLIBS) $(LIBCSEC) -ldl -lstdc++)
	@-rm -rf tmp

libdpm.dll: $(RFIOLIB) $(NSLIB) $(DPMLIB)
liblfc.dll: $(NSLIB)
liblcgdm.dll: $(COMMONLIB) $(SECURITYLIB)

%.dll:
	@echo  making $@ in CurDir
	link /dll /noentry /nologo /out:$@ $**

MakeDir($(LIB),root,bin,0755)

InstallSharedLibrary(dpm,$(VERSION),$(LIB))
InstallSharedLibrary(lfc,$(VERSION),$(LIB))
InstallSharedLibrary(lcgdm,$(VERSION),$(LIB))

InstallSharedLibrary(dpm,$(VERSION),$(EXPORTLIB))
InstallSharedLibrary(lfc,$(VERSION),$(EXPORTLIB))
InstallSharedLibrary(lcgdm,$(VERSION),$(EXPORTLIB))

install.man:

#if _WIN32
clean:
	@echo cleaning in CurDir
	-@RemoveFiles(FilesToClean)
#else
clean:
	@echo cleaning in CurDir
	-@RemoveFiles(FilesToClean)
	-@rm -rf tmp > /dev/null 2>&1
#endif
clobber:        clean

Makefiles:

MakeDepLibrary(common,common)

MakeDepLibrary(rfio,rfio)

MakeDepLibrary(ns,ns)

MakeDepLibrary(dpm,dpm)

MakeDepLibrary(security,security)

FORCE:

