# Makefile for ELBO (extra long baseline osc.) code. CXX = g++ CXXFLAGS = -Wall -g -I$(CERN)/pro/include -Df2cFortran #CXXFLAGS = -Wall -O2 -I$(CERN)/pro/include -Df2cFortran BLITZLIB = -lblitz CERNLIB = $(shell cernlib) -lg2c LIBS = $(BLITZLIB) $(CERNLIB) -lmysqlclient # ELBO = elbo-prob.cc elbo-xsec.cc elbo-spect.cc LIBSRC = matrix.cc OdeFunc.cc ode-steppers.cc nuosc.cc earth.cc NuTransODE.cc options.cc Wiggle.cc Ntuple.cc reweight.cc InterCompoundFunc.cc InterSplineFunc.cc GnumiNuSource.cc OscProbE.cc cross-section-func.cc StdOpts.cc Prob.cc Xsec.cc Spect.cc DBInt.cc NuoscParam.cc smear.cc LIBINC = $(addsuffix .h, $(basename $(LIBSRC))) hbook.h cfortran.h OBJS = $(addsuffix .o, $(basename $(LIBSRC))) EXECS = NuTransODE-test matrix-test ode-test nuosc-test blitz-test earth-nradii-test density-test wiggle wiggle-test ntuple-test inter-spline-test gnumi-nu-source osc-prob-e-test nomatter-test EXECSRC = $(addsuffix .cc, $(EXECS)) LIB=libnuosc.so all: loaders elbo gnumi-flux gnumi-beamplug-hists gnumi-two-beams-hists gnumi-fnal-loi-hists smooth loaders: xsec-load prob-load spect-load $(LIB): $(OBJS) $(CXX) -shared -o $@ $^ elbo: elbo.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) wiggle: wiggle.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) smooth: smooth.o InterSplineFunc.o matrix.o $(CXX) $(LDFLAGS) -o $@ $^ -lblitz convolve: convolve.o $(CXX) $(LDFLAGS) -o $@ $^ %-load: %-load.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) %-test: %-test.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) DBInt-test: DBInt-test.o DBInt.o $(CXX) $(LDFLAGS) -o $@ $^ Xsec-test: Xsec-test.o Xsec.o DBInt.o $(CXX) $(LDFLAGS) -o $@ $^ event-rate: event-rate.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) # Spect-test: Spect-test.o Spect.o DBInt.o # $(CXX) $(LDFLAGS) -o $@ $^ gnumi-flux: gnumi-flux.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) collater: collater.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) gnumi-beamplug-hists: gnumi-beamplug-hists.o track.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) gnumi-two-beams-hists: gnumi-two-beams-hists.o track.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) gnumi-fnal-loi-hists: gnumi-fnal-loi-hists.o track.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) gnumi-to-fardet: gnumi-to-fardet.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) db-data-test: db-data-test.o DBData.o $(CXX) $(LDFLAGS) -o $@ $^ cross-section-func-test: cross-section-func-test.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) inter-compound-func-test: inter-compound-func-test.o $(LIB) $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) TARFILES = $(LIBSRC) $(LIBINC) $(EXECSRC) Makefile README.html tar: rm -f elbo.tar.gz tar -czf elbo.tar.gz $(TARFILES) %.d: %.cc set -e; $(CXX) -MM $(CXXFLAGS) $< \ | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ [ -s $@ ] || rm -f $@ track.o: track.F g77 -g -Wall -o $@ -c $< %.o: %.cc $(CXX) $(CXXFLAGS) -o $@ -c $< clean: rm -f $(OBJS) $(EXECS) *.o *.d include $(LIBSRC:.cc=.d)