PRESRCS = $(wildcard *.cpp) #ifndef EXTLLHDIR SRCS = $(filter-out %ext.cpp, $(PRESRCS)) #else SRCS = $(PRESRCS) #endif TRGS = $(patsubst %.cpp, ../AtmJointFit_Bin/%, $(SRCS)) #PRESCRS=Dev.cpp #SRCS=${PRESCRS} #TRGS=../AtmJointFit_Bin/Dev all : $(TRGS) OPTS=-O3 -Wno-write-strings -g --param=max-vartrack-size=100000000 ROOTLIBS=$(shell root-config --libs) -lRooFit -lRooFitCore -lMinuit -lHistPainter -lGeom -lEG -lXMLIO ROOTCFLAGS=$(shell root-config --cflags) GSL_LIBS=$(shell gsl-config --libs) GSL_INCLUDES=$(shell gsl-config --cflags) # Where we have our MaCh3 and psyche libraries LIBDIR = ../lib # The libraries themselves for MaCh3 BEAMLIBS := -lThrowParms -lThreeProb_1.00 -lSamplePDF -lCovariance -lMCMC -lSplines -lManager -lagf-g -lpetey-g -lgsl -lgslcblas -lpsycheIO -lpsycheSelections -lpsycheCore -lpsycheSteering -lpsycheSystematics -lpsycheUtils T2KSKINCDIR += -I../T2KSKTools/eigen-3.3.9/install/include/eigen3/ -I../T2KSKTools/t2ksk-common/include -I../T2KSKTools/t2ksk-detcovmat/include ifdef EXTLLHDIR EXTLIBS=-L$(EXTLLHDIR)/lib T2KLIBS=-lThrowParms -lThreeProb_1.00 -lSamplePDF -lCovariance -lMCMC -lSplines -lManager -lLLHGETTER -lEXTLLH INCLUDES=-I../ -I../utils/agf/include/ -I../psycheinc/ $(GSL_INCLUDES) -I$(EXTLLHDIR)/src $(T2KSKINCDIR) else T2KLIBS=-lThrowParms -lThreeProb_1.00 -lSamplePDF -lCovariance -lMCMC -lSplines -lManager INCLUDES=-I../ -I../utils/agf/include/ -I../psycheinc/ $(GSL_INCLUDES) $(T2KSKINCDIR) endif PSYCHELIBS=$(patsubst ../lib/lib%.so,-l%,$(wildcard $(LIBDIR)/libpsyche*)) NIWGLIBS=$(patsubst ../lib/lib%.so,-l%,$(wildcard $(LIBDIR)/libNIWG*)) T2KSKLIBS=$(patsubst ../lib/lib%.so,-l%,$(wildcard $(LIBDIR)/libt2ksk*)) #AGFLIBS=-lagf-g -lpetey-g #ATMLIBS=-lOscProb OSCLIBS=-lOscillator_1.00 # The general CFLAGS CPPFLAGS=$(OPTS) $(ROOTCFLAGS) -std=c++11 ifdef PSYCHESETUP CPPFLAGS+=-DPSYCHESETUP endif # The general libs #LIBS=$(T2KLIBS) $(PSYCHELIBS) $(ROOTLIBS) $(AGFLIBS) $(GSL_LIBS) ${OSCLIBS} ${ATMLIBS} LIBS=$(T2KLIBS) $(PSYCHELIBS) $(NIWGLIBS) $(T2KSKLIBS) $(ROOTLIBS) $(AGFLIBS) $(GSL_LIBS) ${OSCLIBS} ifdef CUDAPATH CUDA_DEFINES=-DCUDA endif ifdef MULTITHREAD OMP_DEFINES=-DMULTITHREAD CPPFLAGS+=-fopenmp endif $(TRGS) : $(SRCS) echo : @echo $(PRESRCS) @echo $(SRCS) @echo $(TRGS) ../AtmJointFit_Bin/% : %.cpp g++ $(CPPFLAGS) $(INCLUDES) ${T2KSKIncs} ${EigenIncs} -o $@ $< -L$(LIBDIR) $(EXTLIBS) -Wl,--start-group $(LIBS) -Wl,--end-group -Wno-deprecated -Wl,-rpath,$(LIBDIR) ${T2KSKLibs} $(CUDA_DEFINES) $(OMP_DEFINES) # Remove the executables clean: rm -f ../AtmJointFit_Bin/*