CXX = g++ CXXFLAGS = -g LD = g++ LDFLAGS = -g -L. ROOTCONFIG := $(shell which root-config) ROOTCINT := $(shell which rootcint) ROOTCXXFLAGS := $(shell $(ROOTCONFIG) --cflags) ROOTLDFLAGS := $(shell $(ROOTCONFIG) --ldflags) ROOTLIBS := $(shell $(ROOTCONFIG) --libs) LIBS := $(USERLIBS) $(ROOTLIBS) $(LIBS) INCLUDEDIRS := - CXXFLAGS := $(ROOTCXXFLAGS) $(CXXFLAGS) -fPIC LDFLAGS := $(ROOTLDFLAGS) $(LDFLAGS) CORE = checktrack.o clusters.o dut.o e4_totcalib.o etacorrections.o looper.o module.o moduleDict.o root_totcalib.o simThreeVector.o tbconfig.o tbutils.o totcalib.o Track.o TrackDict.o EVENTBUILDERS = anglecuts.o battrack.o checkregion.o checkcentralregion.o chi2builder.o clusterdumper.o clusterfinder.o clustermasker.o dutsync.o etaCutter.o eubuildtrack.o eubuildtrack16.o maskandlvl1.o maskreader.o lvl1cuts.o pixelmasker.o totcalibreader.o translator.o translatorRunningXY.o simBaseBuilder.o simDutRunner.o simPixelEdepBuilder.o simTruthBuilder.o ANALYSIS = angledist.o batunbiased.o beamprofile.o blank.o checkalign.o checkalignRunningXY.o checkdutsync.o checktrack.o clusterchecker.o clusterpixtot.o clustersvsrun.o correlations.o edgeefficiency.o edgeefficiencyshift.o efficiency.o efficiency2.o efficiencysimp.o efficiencyvsrun.o etawidth.o getetacorr.o hotpixelfinder.o lvl1cut.o maxcellresiduals.o qEfficiency.o qshare1D.o qshare2D.o readout.o residuals.o sumtot.o simDutEdep.o simResiduals.o SIMDUT = pixel_simple.o Full3D_HP.o Full3D_Vadim.o STYLE = AtlasStyle.o AtlasLabels.o OBJS = $(addprefix temp/,$(CORE) $(ANALYSIS) $(EVENTBUILDERS) $(SIMDUT) $(STYLE)) vpath %.cc core/src analysis/src eventbuilders/src simdut/src style/src vpath %.h core/include analysis/include eventbuilders/include simdut/include style/include all: tbmon_3710_3749_eudetPPSmar2012_4A #Force everything to recompile if event.h updates. #-O3 -msse2 -ftree-vectorize -ftree-vectorizer-verbose=5 temp/%.o : %.cc %.h event.h $(CC) -c -Icore/include/ -Ianalysis/include -Ieventbuilders/include -Isimdut/include -Istyle/include $(CXXFLAGS) $< -o $@ libTrack.so: temp/Track.o temp/TrackDict.o $(LD) $(LDFLAGS) -Icore/include/ -shared -o $@ $^ libModule.so: temp/module.o temp/moduleDict.o $(LD) $(LDFLAGS) -Icore/include/ -shared -o $@ $^ TrackDict.cc: Track.h TrackLinkDef.h $(ROOTCINT) -v4 -f $@ -c $^ moduleDict.cc: module.h moduleLinkDef.h $(ROOTCINT) -v4 -f $@ -c $^ tbmon_3710_3749_eudetPPSmar2012_4A: driver_3710_3749_eudetPPSmar2012_4A.cc driver.h siteconfig.h $(OBJS) mkdir -p temp $(LD) $(LDFLAGS) -Icore/include/ -Ianalysis/include -Ieventbuilders/include -Isimdut/include -Istyle/include $(CXXFLAGS) -o $@ $^ $(LIBS) #docs: doc/tbmon_3710_3749_eudetPPSmar2012_4A.texi # cd doc && makeinfo --html --no-split tbmon_3710_3749_eudetPPSmar2012_4A.texi && makeinfo tbmon.texi docs: doc/Doxyfile cd doc && doxygen #sql23: sql23.cc temp/Track.o temp/TrackDict.o temp/module.o # Doesn't work... # $(LD) $(LDFLAGS) -Icore/include/ -o $@ $^ $(LIBS) clean: rm temp/* TrackDict.* moduleDict.* tbmon_3710_3749_eudetPPSmar2012_4A fitter: APIXFitter.cc APIXFitter.h $(LD) $(LDFLAGS) $(LIBS) -lgsl -lgslcblas -Icore/include/ -Ianalysis/include -Ieventbuilders/include $(CXXFLAGS) -o $@ $^