# GNUmakefile for linking to an official release with A_C # # Note that for user links the directory structure is flattened. # # R. Harris 14-Aug-1997 Added support for CDF1 (Run 1 CDF Code) # Get experiment variable from the release .experiment file. R. Harris EXPERIMENT := $(shell if [ -f .experiment ]; \ then cat .experiment; else echo NO_EXPER; \ echo "Warning: .experiment not found, EXPERIMENT not set">&2; \ fi) ifndef OPTFILE OPTFILE := myana.opt endif OBJFILES := $(shell if [ -f $(OPTFILE) ]; then cat $(OPTFILE); else echo 'NOFILE'; fi) ifeq (NOFILE,$(OBJFILES)) FOBJFILES := $(wildcard *.f) FCOBJFILES := $(wildcard *.F) COBJFILES := $(wildcard *.c) CCOBJFILES := $(wildcard *.cc) OBJFILES := $(FOBJFILES:.f=.o) $(FCOBJFILES:.F=.o) $(COBJFILES:.c=.o) $(CCOBJFILES:.cc=.o) endif # binary products ifdef EXENAME BIN = $(EXENAME) else BIN = $(PWD)/$(notdir $(PWD)).exe endif include $(BFDIST)/releases/$(BFCURRENT)/SoftRelTools/arch_spec.mk # add experiment define and all other defines. R. Harris override CPPFLAGS += -D$(EXPERIMENT) $(DEFINES) # optionally exclude shift if not setup # No use of the silo while there is no packlib-shift in Pasha's CERN (R. Harris) # ifdef SHIFT_DIR # CERNPAK := -lpdflib -lpacklib-shift -lshift # else CERNPAK := -lpdflib -lpacklib # endif # local library definitions for executable link ifeq (CDF1,$(EXPERIMENT)) LIBS += -la_c -lbnk -lcos -lgeom -lp_u -lqfl LIBS += -lsim -ltop -lvtx -lsvx -ltau -lmuo -lgmu LIBS += -lmet -lele -lcal -lcpr -ltrk -lcas -lmon -ldsp LIBS += -ljet -ltrs -lele -luti -ltrk -lgeom LIBS += -lcal -lsvx -lgenerator -ldsp -lcal -lqfl LIBS += -lsim -ltrs -lgmu -lgenerator -lpart -lvtx LIBS += -lsvx -lp_u -lcal -lcas -ltrk LIBS += -lsim -lmuo -lgeom -lbnk -luti -lmon -lr_n -la_c LIBS += -lcdfdb -lcdfcp -luipack -lybos -levt -lTrybos -ls_i -le_l else LIBS += -la_c -lgnt -lbnk -lgeom -lp_u -lqfl LIBS += -lsim -ltop -lvtx -lsv2 -lsvx -ltau -lmuo LIBS += -lmet -lele -lcal -lcpr -lcot -ltrk -lcas -lmon -ldsp LIBS += -ljet -ltrs -lele -luti -ltrk -lgeom LIBS += -lcal -lsvx -lgenerator -ldsp -lcal -lqfl LIBS += -lsim -ltrs -lgenerator -lpart -lvtx LIBS += -lsvxii -lgnt -lsvx -lsv2 -lp_u -lcal -lcas -ltrk LIBS += -lsim -lmuo -lgeom -lbnk -luti -lmon -lr_n -la_c LIBS += -lcdfdb -lcdfcp -luipack -lybos -levt -lTrybos -ls_i -le_l endif # Make LOADLIBES from the above list of internal libraries plus the # external packages: override LOADLIBES += $(LIBS) include $(PROJECT_DIR)/SoftRelTools/arch_spec_geant.mk include $(PROJECT_DIR)/SoftRelTools/arch_spec_cern.mk # use the -v version of the following line if you want verbose output override LDFLAGS += -v -L$(CERN_DIR)/lib override LOADLIBES += -lX11 -lXm -lXt override LOADLIBES += -lg++ -lstdc++ -lgcc ifneq (,$(findstring Linux2,$(BFARCH))) override LOADLIBES += -lXext override LDFLAGS += -L/usr/X11R6/lib else override LOADLIBES += -lPW override LDFLAGS += -L$(GCC_DIR)/lib endif # Hack for distribution. Special area on IRIX5 machines for gcc library. ifneq (,$(findstring IRIX5,$(BFARCH))) override LDFLAGS += -L$(GCC_DIR)/lib/gcc-lib/mips-sgi-irix5.2/2.7.2 endif ifneq (,$(findstring IRIX6,$(BFARCH))) override LDFLAGS += -old_ld -L$(GCC_DIR)/lib/gcc-lib/mips-sgi-irix6.2/2.7.2.1 endif $(BIN): $(OBJFILES) $(LIBS) ;\ if [ -f $(BIN) ] ; then mv $(BIN) $(BIN)_old; fi ;\ echo Linking $(BIN) ;\ $(FC) $(LDFLAGS) -o $@ \ $(PROJECT_DIR)/lib/$(BFARCH)/anmain.o \ $(OBJFILES) $(LOADLIBES) $(LDOUT) -include $(foreach var,$(OBJFILES:.o=.d),$(PWD)/$(var)) # these are almost always blank INC = SUBDIRS = LIB = LIBFFILES = LIBCFILES = LIBCCFILES = #----------------------------------------------------------------- include $(PROJECT_DIR)/SoftRelTools/stdlinking.mk