#Variables include $(SCT_DAQ_ROOT)/build/Makefile.include #Commands include $(SCT_DAQ_ROOT)/build/Makefile.commands .PHONY: all install clean distclean java c++ install_headers install_java compile_java install_c++ install_idl # Build real one if possible SCTAPISERVERBINS := $(if $(DAQ_SW_DIR)$(DF_INST_PATH),SctApiServer) DSctApiServer SCRIPTS := $(addprefix $(ScriptDir)/../,$(wildcard scripts/*.sh)) #LESTER: In the long run, migrate the following package name to SctApiIPC in order to match the name of the package. In the mean time we will have to leave it as it is. Package := Sct_SctApi all: install_headers c++ java install c++: $(SCTAPISERVERBINS) SctApiClient nmask install_c++ $(MAKE) -C UnitTest $(MAKECMDGOALS) javaTests: test_client.class java: classes SctApi.javaidl $(MAKE) compile_java compile_java: javaTests install_java install: install_c++ install_java $(SCRIPTS) # Only define one DAQ_SW_DIR:=$(if $(DF_INST_PATH),,$(if $(DAQ_SW_DIR),$(DAQ_SW_DIR),)) DAQ_LIB_DIR:=$(DF_INST_PATH)/$(CMTCONFIG)/lib DAQ_INCLUDE_DIR:=$(DF_INST_PATH)/include JINCLUDES := -i $(TDAQ_INST_PATH)/include CPPFLAGS += `xml2-config --cflags` LDLIBS += -lboost_thread -lboost_date_time -lpthread LDLIBS += `xml2-config --libs` # @echo "To run the java class, make sure . is in the classpath then type: # java -Dtdaq.ipc.init.ref=$TDAQ_IPC_INIT_REF Sct_SctApi.test_client" SRCS := $(shell find -name "*.cc") # Order important, need to fix dependencies... JARS := Sct_SctApi.jar JIDLSRCS := $(shell find Sct_SctApi -name "*.java") JAVAFLAGS += -d classes # OBJS to build into IPC client library CLIENTOBJS := SctApiSK.o SctApiServer: SctApiServer.o SctApiServerMain.o SctApiSK.o TriggerWrapper.o ScanWrapper.o RODTriggerTranslation.o g++ $(LDFLAGS) -o SctApiServer $^ -lSctApi -lsctConfIPC $(LDLIBS) DSctApiServer: SctApiServer.o SctApiServerMain.o SctApiSK.o TriggerWrapper.o ScanWrapper.o RODTriggerTranslation.o g++ $(LDFLAGS) -o DSctApiServer $^ -lDSctApi -lsctConfIPC $(LDLIBS) SctApiServer.o: SctApi.hh SctApiClient: LDLIBS += -lsctConfIPC SctApiClient: SctApiClient.o SctApiSK.o g++ $(LDFLAGS) -o SctApiClient $^ $(LDLIBS) SctApiClient.o: SctApi.hh nmask: LDLIBS += -lsctConfIPC nmask: nmask.o SctApiSK.o g++ $(LDFLAGS) -o nmask $^ $(LDLIBS) nmask.o: SctApi.hh SctApiSK.cc SctApi.hh: SctApi.idl $(CPPIDLCMD) #LESTER: Next two lines are probably obsoleted by OMNIORB4 # @echo "Checking all methods overridden by SctApiServer.h" # @bash checkSct_SctApi || (rm Sct_SctApi.hh && false) SctApiIPC.so: $(CLIENTOBJS) $(CC) -shared -o $@ $(filter %.o, $^) $(LDFLAGS) $(LDLIBS) DSctApiServer.so: $(CLIENTOBJS) SctApiServer.o TriggerWrapper.o ScanWrapper.o RODTriggerTranslation.o $(CC) -shared -o $@ $(filter %.o, $^) $(LDFLAGS) $(LDLIBS) -lDSctApi -lsctConfIPC $(LibDir)/lib%.so: %.so cp $< $@ SctApi.javaidl: SctApi.idl $(JAVAIDLCMD) && touch $@ classes/Sct_SctApi/SctApiIPC.class: $(JIDLSRCS) $(JAVACMD) Sct_SctApi.jar: classes/Sct_SctApi/SctApiIPC.class $(JARCMD) -C classes Sct_SctApi $(ShareLibDir)/%.jar: %.jar $(CPCMD) classes: $(MKDIR) test_client.class: test_client.java javac -sourcepath . $^ install_c++: install_idl install_headers $(addprefix $(BinDir)/,$(SCTAPISERVERBINS)) $(LibDir)/libDSctApiServer.so $(LibDir)/libSctApiIPC.so install_java: $(addprefix $(ShareLibDir)/,$(JARS)) $(ShareBinDir)/SctApiGUI install_idl install_headers: $(IncludeDir)/$(Package)/SctApi.hh $(IncludeDir)/$(Package)/SctApiServer.h install_idl: make $(IncludeDir)/$(Package)/SctApi.idl $(IncludeDir)/$(Package)/%: % make $(IncludeDir)/$(Package) $(CPCMD) $(IncludeDir)/$(Package): $(MKDIR) # From Makefile.commands %.o: %.cc $(CPPCMD) $(IncludeDir)/SctApi/%: % make $(IncludeDir)/SctApi $(CPCMD) $(IncludeDir)/SctApi: $(MKDIR) $(BinDir)/%: % $(CPCMD) $(ShareBinDir)/%: % $(CPCMD) $(ScriptDir)/%: scripts/% $(CPCMD) clean: -$(RM) *.o *.d *.so core *~ *.jar $(SCTAPISERVERBINS) SctApiClient nmask Sct_SctApi-server-stubs.cc Sct_SctApi.cc Sct_SctApi.hh *.javaidl *.cppidl $(shell find -name "*.class" | sed 's/\$$/\\\$$/g') $(MAKE) -C UnitTest $(MAKECMDGOALS) distclean: clean -$(RM) -f *.d -r Sct_SctApi *.javaidl sctConf*.cc sctConf.hh SctApi.hh SctApiSK.cc $(MAKE) -C UnitTest $(MAKECMDGOALS) ifeq ($(INCLUDEDEPENDANCIES),) include $(SRCS:.cc=.d) endif marshalling.h: $(IncludeDir)/Sct/SequenceUtils.h %.d: %.cc $(DEPENDCMD)