2 ###############################
3 # Makefile for HLT programs. #
5 # Author: Constantin Loizides #
6 ###############################
10 ALIHLT_TOPDIR = $(shell pwd)/..
13 include $(ALIHLT_TOPDIR)/Makefile.conf
16 INCLUDES = -I$(ALIHLT_TOPDIR)/src -I$(ALIHLT_TOPDIR)/hough -I$(ALIHLT_TOPDIR)/comp -I$(ALIHLT_TOPDIR)/misc -I$(ALIHLT_TOPDIR)/trigger -I$(ALIHLT_TOPDIR)/kalman
18 LIBS = -L$(ALIHLT_LIBDIR) -lAliL3Src -lAliL3Hough -lAliL3Comp -lAliL3Misc
19 STATICLIBS = $(ALIHLT_LIBDIR)/libAliL3Src.a $(ALIHLT_LIBDIR)/libAliL3Hough.a $(ALIHLT_LIBDIR)/libAliL3Comp.a $(ALIHLT_LIBDIR)/libAliL3Misc.a
21 ifneq ($(ALIHLT_USEPACKAGE),STANDALONE)
22 ROOTCFLAGS := $(shell root-config --cflags)
23 ROOTLIBS := $(shell root-config --libs)
24 ROOTGLIBS := $(shell root-config --glibs)
27 ifeq ($(ALIHLT_USEPACKAGE),ROOT)
29 INCLUDES += -I$(ROOTSYS)/include
30 RLIBS = $(ROOTLIBS) -lMinuit -lEG
32 STATICLIBS += $(RLIBS)
35 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
36 DEFSTR = -Duse_aliroot -Duse_root
39 ALICELIBS = -L$(ALICE_ROOT)/lib/tgt_Linux -lTPC -lITS -lCONTAINERS -lSTEER -lRAWDatabase -lRAWDatarec -lRAWDatasim -lVMC -lGeom
41 ALICELIBS = -L$(ALICE_ROOT)/lib/tgt_Linux -lTPC -lITS -lCONTAINERS -lSTEER -lMC
43 INCLUDES += -I$(ROOTSYS)/include -I$(ALICE_ROOT)/include/ -I$(ALICE_ROOT)/TPC -I$(ALICE_ROOT)/CONTAINERS -I$(ALICE_ROOT)/STEER
44 RLIBS = $(ROOTLIBS) -lMinuit -lEG
45 LIBS += $(ALICELIBS) $(RLIBS)
46 STATICLIBS += $(ALICELIBS) $(RLIBS)
49 ifeq ($(ALIHLT_USEPACKAGE),STANDALONE)
51 RLIBS = -lpthread -lm -ldl -rdynamic
53 STATICLIBS += $(RLIBS)
62 DEFSTR += -Duse_logging
64 INCLUDES += -I$(ALIHLT_MLUCDIR)/include
65 MLUCLIBS = -L$(ALIHLT_MLUCDIR)/lib/ -lMLUC
67 INCLUDES += -I/prog/alice/level3/kip/MLUC/include
68 MLUCLIBS += -L/prog/alice/level3/kip/MLUC/lib/linux-i386 -lMLUC
71 STATICLIBS += $(MLUCLIBS)
74 DEFSTR += -D$(ARCH) $(EXTRADEF)
78 #CXXGCC3FLAGS += -pedantic
79 #CXXGCC3FLAGS += -Wno-deprecated
80 #CXXGCC3FLAGS += -Woverloaded-virtual
81 CXXFLAGS = -O2 -Wall -ggdb $(CXXGCC3FLAGS) $(EXTRACXXFLAGS)
82 LDFLAGS = -O2 $(EXTRALDFLAGS) $(LIBS)
83 STATICLDFLAGS = -O2 $(PROFILEFLAGS) $(EXTRALDFLAGS) $(STATICLIBS)
86 PRGS = runit read runvhdlcf runhough runvhdlhough runtracker tpcbeamtesttracker tpcbeamtestdisplay
88 UTILS = ccfile gettransform
89 STUTILS = gettransform_st runit_st
90 UTILS_not_working = convbin speedtest
102 #run hough transform on l3 data.
104 $(LD) $< $(LDFLAGS) -o $@
106 #run hough transform on l3 data.
107 runvhdlhough: runvhdlhough.o
108 $(LD) $< $(LDFLAGS) -o $@
110 #run conventional clusterfinder on altro data
111 runvhdlcf: runvhdlcf.o
112 $(LD) $< $(LDFLAGS) -o $@
114 #run conventional clusterfinder
116 $(LD) $< $(LDFLAGS) -o $@
119 $(LD) $< $(LDFLAGS) -o $@
121 #run conventional tracker
122 runtracker: runtracker.o
123 $(LD) $< $(STATICLDFLAGS) -o $@
125 #TPC Test cluster finder and tracker
126 tpcbeamtesttracker: tpcbeamtesttracker.o
127 $(LD) $< $(LDFLAGS) -o $@
130 tpcbeamtestdisplay: tpcbeamtestdisplay.o
131 $(LD) $< $(LDFLAGS) -o $@
133 #read l3 raw data, print it and convert to altro data
135 $(LD) $< $(LDFLAGS) -o $@
137 #convert big <-> little endian cosmics data file
138 ccfile: convcosmicsfile.o
139 $(LD) $< $(LDFLAGS) -o $@
143 $(LD) $< $(LDFLAGS) -o $@
145 #get transform values
146 gettransform: gettransform.o
147 $(LD) $< $(LDFLAGS) -o $@
149 gettransform_st: gettransform.sto
150 $(LD) $< $(STATICLDFLAGS) -o $@
153 speedtest: speedtest.cxx
154 g++ -O -Wall -fPIC -ffast-math $(CXXFLAGS) speedtest.cxx -o speedtest
155 # g++ -O -Wall -fPIC -mcpu=ev6 $(CXXFLAGS) speedtest.cxx -o speedtest
156 # cxx -O -Wall -fPIC -lm $(CXXFLAGS) speedtest.cxx -o speedtest
159 $(CXX) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
162 $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
165 rm -f *.o *.sto gmon.out $(PRGS) $(UTILS) $(STPRGS) $(STUTILS) $(UTILS_not_working)