COMM
COMM  Copyright (C) 2005-2010 by CERN
COMM  All rights reserved
COMM
COMM  @(#)$RCSfile: Imakefile,v $ $Revision: 4084 $ $Date: 2011-01-31 11:32:57 +0100 (Mon, 31 Jan 2011) $ CERN Jean-Philippe Baud

COMM    Make lfc-dli server

LFCSHAREDIR = FileName($(SHAREDIR),LFC)
GSOAP_LOCATION=GsoapLocation
GSOAP_VERSION=GsoapVersion
WSDL2H_FLAGS=GsoapWsdl2hFlags
SOAPFLG = -DWITH_IPV6
INCLUDES = FileName(..,h)
#if SOLARIS
LIBS = -L../lib -llfc -ldl -lsocket -lnsl
#else
LIBS = -L../lib -llfc -ldl
#endif
SPOOL = DliSpool
LOGFILE = FileName($(SPOOL),log)
#if EMIBuild
SOAPLIB = -lgsoap
#else
STDSOAP_OBJS = stdsoap2.Osuf
#endif

COMM######################### FLAGS ##############################

DFLAGS = -DLOGFILE=\"$(LOGFILE)\" $(SOAPFLG)
 
CFLAGS = -g -I$(INCLUDES) -I$(GSOAP_LOCATION)/include $(MTCCFLAGS) $(DFLAGS)
 
COMM######################### RULES ##############################

MANPAGES = $(MANDIR)/lfc-dli.$(MANSUFFIX) $(MANDIR)/lfc-dli-client.$(MANSUFFIX)
CLIENT = ProgramTargetName(lfc-dli-client)
SERVER = ProgramTargetName(lfc-dli) \
	 rc.lfc-dli \
	 lfc-dli.conf.templ
IPROGS_C = FileName($(BIN),ProgramTargetName(lfc-dli-client))
IPROGS_D = FileName($(BIN),ProgramTargetName(lfc-dli)) \
	   FileName($(LFCSHAREDIR),rc.lfc-dli) \
	   FileName($(SYSCONFDIR),lfc-dli.conf.templ)

SRV_OBJS = 	dli.Osuf \
		dlilogit.Osuf \
		$(STDSOAP_OBJS) \
		dliC.Osuf \
		dliServer.Osuf

all: $(SERVER) $(CLIENT)

dliH.h dliStub.h dliC.c dliClient.c dliServer.c DataLocationInterface.nsmap: DataLocationInterface.h
	$(GSOAP_LOCATION)/bin/soapcpp2 -c -p dli DataLocationInterface.h
DataLocationInterface.h: DataLocationInterface.wsdl
	$(GSOAP_LOCATION)/bin/wsdl2h $(WSDL2H_FLAGS) -c -t typemap.dat DataLocationInterface.wsdl

stdsoap2.Osuf: $(GSOAP_LOCATION)/src/stdsoap2.c
	$(CC) -c -g -I$(GSOAP_LOCATION)/include $(SOAPFLG) $(GSOAP_LOCATION)/src/stdsoap2.c

NormalProgramTarget(lfc-dli,$(SRV_OBJS), $(DEPLIB), $(MTLDFLAGS) $(SOAPLIB) $(LIBS) $(MTLDLIBS))
NormalProgramTarget(lfc-dli-client,lfc-dli-client.Osuf $(STDSOAP_OBJS) dliC.Osuf dliClient.Osuf,$(DEPLIB),$(SOAPLIB) $(LIBS))
rc.lfc-dli: lfc-dli.scripts
	sed -e 's#DPMCONFIGFILE=.*#DPMCONFIGFILE=$(DPMCONFIG)#' \
		-e 's#PREFIX=.*#PREFIX=$(prefix)#' $? > $@
lfc-dli.conf.templ: lfc-dli.sysconfig
	$(CP) $? $@

install: $(BIN) $(LFCSHAREDIR) $(SYSCONFDIR) $(IPROGS_C) $(IPROGS_D) $(SPOOL)

InstallProgram(lfc-dli,$(BIN),root,bin,755)
InstallProgram(lfc-dli-client,$(BIN),root,bin,755)
InstallTarget(rc.lfc-dli,root,bin,0644,$(LFCSHAREDIR))
InstallTarget(lfc-dli.conf.templ,root,bin,0644,$(SYSCONFDIR))

MakeDir($(BIN),root,bin,0755)
MakeDir($(LFCSHAREDIR),root,bin,0755)
MakeDir($(SPOOL),root,bin,0755)
MakeDir($(SYSCONFDIR),root,bin,0755)

install.man: $(MANDIR) $(MANPAGES)

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

IMANPAGE(lfc-dli,$(MANDIR),$(MANSUFFIX))
IMANPAGE(lfc-dli-client,$(MANDIR),$(MANSUFFIX))

COMM###################### CLEANING RULES ########################

clean:
	-@RemoveFiles(*.Osuf *H.h *Object.h *Proxy.h *Stub.h *C.c *Client.c *Lib.c *Server.c *.nsmap *.xml DataLocationInterface.h)

clobber: clean
	-@RemoveFiles($(SERVER) $(CLIENT) dli_testlistReplicas)

#if _WIN32
depend:
	@echo Not supported on this platform
#else
depend:
	makedepend $(DFLAGS) -Y$(INCLUDES) *.c 2> /dev/null
#endif

Makefiles:

FORCE:

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

dli.Osuf: dliH.h DataLocationInterface.nsmap

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