# # Default make rules for the Antares DAQ software. # #### $Id: Makerules,v 1.76 2012/09/23 13:02:02 mjg Exp $ #### #### Paths #### ifndef BASEDIR .PHONY : err err : echo "ERROR: Environment variable BASEDIR is not set" false endif SYSTEM := $(shell uname -s) MACHINE := $(shell uname -m) PROCESSOR := $(shell uname -p) CPU_64 := x86_64 ifndef ANTRS_DAQ_ROOT ANTRS_DAQ_ROOT = $(BASEDIR) endif ANTRS_OUT = $(ANTRS_DAQ_ROOT)/out/$(SYSTEM) ANTRS_BIN = $(ANTRS_OUT)/bin ANTRS_LIB = $(ANTRS_OUT)/lib ANTRS_INCLUDE = $(ANTRS_DAQ_ROOT)/include ANTRS_CLASS = $(ANTRS_DAQ_ROOT)/class ANTRS_DOC = $(ANTRS_DAQ_ROOT)/doc export ANTRS_DAQ_ROOT ANTRS_BIN ANTRS_LIB ANTRS_INCLUDE ANTRS_CLASS ANTRS_DOC # Oracle OTL_LIBS := -lclntsh # ROOT ifdef ROOTSYS ROOTPRESENT := $(shell $(BASEDIR)/check4existance $(ROOTSYS)) ifeq ($(ROOTPRESENT), YES) ROOTLIBS = `${ROOTSYS}/bin/root-config --libs` ROOTGLIBS = `${ROOTSYS}/bin/root-config --glibs` ROOTINCL = `${ROOTSYS}/bin/root-config --cflags` endif endif # QT ifeq ($(origin QTDIR), undefined) QTDIR := /usr/public/qt endif QTPRESENT := $(shell $(BASEDIR)/check4existance $(QTDIR)) # KDE ifeq ($(origin KDEDIR), undefined) KDEDIR := /usr/public/kde endif # PATH ifeq ($(origin PATH), undefined) PATH := . endif ifeq ($(ROOTPRESENT), YES) ifneq ($(findstring $(ROOTSYS)/bin, $(PATH)), $(ROOTSYS)/bin) PATH := $(ROOTSYS)/bin:$(PATH) endif endif ifeq ($(QTPRESENT), YES) ifneq ($(findstring $(QTDIR)/bin, $(PATH)), $(QTDIR)/bin) PATH := $(QTDIR)/bin:$(PATH) endif endif # LD_LIBRARY_PATH ifeq ($(origin LD_LIBRARY_PATH), undefined) LD_LIBRARY_PATH := . endif ifeq ($(ROOTPRESENT), YES) ifneq ($(findstring $(ROOTSYS)/lib, $(LD_LIBRARY_PATH)), $(ROOTSYS)/lib) LD_LIBRARY_PATH := $(ROOTSYS)/lib:$(LD_LIBRARY_PATH) endif endif ifeq ($(QTPRESENT), YES) ifneq ($(findstring $(QTDIR)/lib, $(LD_LIBRARY_PATH)), $(QTDIR)/lib) LD_LIBRARY_PATH := $(QTDIR)/lib:$(LD_LIBRARY_PATH) endif endif ifneq ($(findstring $(KDEDIR)/lib, $(LD_LIBRARY_PATH)), $(KDEDIR)/lib) LD_LIBRARY_PATH := $(KDEDIR)/lib:$(LD_LIBRARY_PATH) endif ifneq ($(findstring $(ANTRS_LIB), $(LD_LIBRARY_PATH)), $(ANTRS_LIB)) LD_LIBRARY_PATH := $(ANTRS_LIB):$(LD_LIBRARY_PATH) endif # java classpath ifeq ($(origin CLASSPATH), undefined) CLASSPATH := . endif ifneq ($(findstring $(ANTRS_CLASS), $(CLASSPATH)), $(ANTRS_CLASS)) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS) endif ifneq ($(findstring $(ANTRS_CLASS)/ojdbc14.jar, $(CLASSPATH)), $(ANTRS_CLASS)/ojdbc14.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/ojdbc14.jar endif ifneq ($(findstring $(ANTRS_CLASS)/hep.jar, $(CLASSPATH)), $(ANTRS_CLASS)/hep.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/hep.jar endif ifneq ($(findstring $(ANTRS_CLASS)/jas.jar, $(CLASSPATH)), $(ANTRS_CLASS)/jas.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/jas.jar endif ifneq ($(findstring $(ANTRS_CLASS)/collections.jar, $(CLASSPATH)), $(ANTRS_CLASS)/collections.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/collections.jar endif ifneq ($(findstring $(ANTRS_CLASS)/jbcl.jar, $(CLASSPATH)), $(ANTRS_CLASS)/jbcl.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/jbcl.jar endif ifneq ($(findstring $(ANTRS_CLASS)/vecmath.jar, $(CLASSPATH)), $(ANTRS_CLASS)/vecmath.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/vecmath.jar endif ifneq ($(findstring $(ANTRS_CLASS)/j3dutils.jar, $(CLASSPATH)), $(ANTRS_CLASS)/j3dutils.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/j3dutils.jar endif ifneq ($(findstring $(ANTRS_CLASS)/j3dcore.jar, $(CLASSPATH)), $(ANTRS_CLASS)/j3dcore.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/j3dcore.jar endif ifneq ($(findstring $(ANTRS_CLASS)/qkplot.jar, $(CLASSPATH)), $(ANTRS_CLASS)/qkplot.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/qkplot.jar endif ifneq ($(findstring $(ANTRS_CLASS)/comm.jar, $(CLASSPATH)), $(ANTRS_CLASS)/comm.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/comm.jar endif ifneq ($(findstring $(ANTRS_CLASS)/jcl.jar, $(CLASSPATH)), $(ANTRS_CLASS)/jcl.jar) CLASSPATH := $(CLASSPATH):$(ANTRS_CLASS)/jcl.jar endif # export export ROOTSYS ROOTPRESENT export QTDIR QTPRESENT export PATH export LD_LIBRARY_PATH export CLASSPATH CC = gcc CXX = g++ CFLAGS = -Wall -ansi CXXFLAGS = -Wall -ansi -fPIC CPPFLAGS = -I$(ANTRS_INCLUDE) $(DEFINES) DEFINES = LDFLAGS = -L$(ANTRS_LIB) JAVA = java JAVAC = javac JAVADOC = javadoc JAVAFLAGS = -Djava.util.prefs.syncInterval=2000000 JAVACFLAGS = -Xlint JAR = jar JARFLAGS = cf DOXYGEN = doxygen CHSM = $(ANTRS_BIN)/chsm CHSM2CXX = $(ANTRS_BIN)/chsm2c++ CHSM_CONFIG = $(ANTRS_DAQ_ROOT)/software/chsm/config CHSM_CONFIG_MK = $(CHSM_CONFIG)/config.mk CPPFLAGS += -I$(ANTRS_INCLUDE)/chsm CPPFLAGS += -DOTL_ORA10G_R2 ### Install procedures & Options ### ifneq ($(SYSTEM), SunOS) INSTALL = install #MKDIR = $(INSTALL) -d MKDIR = mkdir -p else ALF = -lposix4 -lxnet -lrpcsvc -lsocket /usr/ucblib/libucb.a INSTALL = /usr/ucb/install MKDIR = mkdir -p endif INSTALL_MODE = -m 644 -p INSTALL_XMODE = -m 755 RM = rm -f #### Default rules #### .PHONY : firstgoal default clean # This is to ensure that the 'default' goal is the target when no # target is explicitly given to the 'make' program. firstgoal : default # 'defaultclean' may be used as a prerequisite for the 'clean' target. defaultclean : @find . -type f \( -name "*.[oa]" -o -name "*.class" -o -name "*~" -o -name "core" \) -exec $(RM) '{}' \; show : @echo "Showing make settings:" @echo "package = $(package)" @echo "PWD = $$PWD" @echo "BASEDIR = $(BASEDIR)" @echo "ANTRS_DAQ_ROOT = $(ANTRS_DAQ_ROOT)" @echo "ANTRS_BIN = $(ANTRS_BIN)" @echo "ANTRS_LIB = $(ANTRS_LIB)" @echo "ANTRS_INCLUDE = $(ANTRS_INCLUDE)" @echo "ANTRS_CLASS = $(ANTRS_CLASS)" @echo "ANTRS_DOC = $(ANTRS_DOC)" @echo "ROOTSYS = $(ROOTSYS)" @echo "PATH = $(PATH)" @echo "LD_LIBRARY_PATH = $(LD_LIBRARY_PATH)" @echo "CLASSPATH = $(CLASSPATH)" @echo "C -> $(CC) $(CPPFLAGS) $(CFLAGS)" @$(CC) -v @echo "C++ -> $(CXX) $(CPPFLAGS) $(CXXFLAGS)" @$(CXX) -v @echo "Link -> $(LD) $(LDFLAGS)" @echo "Javac -> $(JAVAC) $(JAVACFLAGS)" @echo "Java -> $(JAVA) $(JAVAFLAGS)" @$(JAVA) -version # To easily compile Java source files containing a single class definition %.class : %.java $(JAVAC) $(JAVACFLAGS) $< OBJ = o #### End ####