]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/programs/Makefile
Added support for NEWIO, merged cern-hlt tree, updated to latest track candidate...
[u/mrichter/AliRoot.git] / HLT / programs / Makefile
1 #$Id$
2 ###############################
3 # Makefile for HLT programs.  #
4 #                             #
5 # Author: Constantin Loizides #                    
6 ###############################
7
8
9 ifndef ALIHLT_TOPDIR
10 ALIHLT_TOPDIR = $(shell pwd)/..
11 endif
12
13 include $(ALIHLT_TOPDIR)/Makefile.conf
14
15 DEFSTR = -Dno_root
16 INCLUDES = -I$(ALIHLT_TOPDIR)/hough -I$(ALIHLT_TOPDIR)/src -I$(ALIHLT_TOPDIR)/comp -I$(ALIHLT_TOPDIR)/misc
17 LIBS = -L$(ALIHLT_LIBDIR) -lAliL3Src -lAliL3Hough -lAliL3Comp -lAliL3Misc 
18
19 ifneq ($(ALIHLT_USEPACKAGE),STANDALONE)
20 ROOTCFLAGS := $(shell root-config --cflags)
21 ROOTLIBS   := $(shell root-config --libs)
22 ROOTGLIBS  := $(shell root-config --glibs)
23 endif
24
25 ifeq ($(ALIHLT_USEPACKAGE),ROOT) 
26 DEFSTR = -Duse_root
27 INCLUDES += -I$(ROOTSYS)/include 
28 RLIBS = $(ROOTLIBS) -lMinuit -lEG 
29 LIBS += $(RLIBS)
30 endif
31
32 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
33 DEFSTR = -Duse_aliroot -Duse_root
34 ifeq ($(USENEWIO),1)
35 DEFSTR += -Duse_newio
36 ALICELIBS = -L$(ALICE_ROOT)/lib/tgt_Linux -lTPC -lITS -lCONTAINERS -lSTEER -lRAW -lVMC -lGeom
37 else
38 ALICELIBS = -L$(ALICE_ROOT)/lib/tgt_Linux -lTPC -lITS -lCONTAINERS -lSTEER -lMC
39 endif
40 INCLUDES += -I$(ROOTSYS)/include -I$(ALICE_ROOT)/include/ -I$(ALICE_ROOT)/TPC -I$(ALICE_ROOT)/CONTAINERS -I$(ALICE_ROOT)/STEER
41 RLIBS = $(ROOTLIBS) -lMinuit -lEG
42 LIBS += $(ALICELIBS) $(RLIBS)
43 endif
44
45 ifeq ($(ALIHLT_USEPACKAGE),STANDALONE)
46 DEFSTR = -Dno_root
47 RLIBS =  -lpthread -lm -ldl -rdynamic
48 LIBS += $(RLIBS)
49 endif
50
51 ifdef DO_MC
52 DEFSTR += -Ddo_mc
53 endif
54
55 #Use logging classes
56 ifndef NOLOGGING
57 DEFSTR += -Duse_logging
58 ifdef ALIHLT_MLUCDIR
59 INCLUDES += -I$(ALIHLT_MLUCDIR)/include
60 MLUCLIBS = -L$(ALIHLT_MLUCDIR)/lib/ -lMLUC 
61 else
62 INCLUDES += -I/prog/alice/level3/kip/MLUC/include
63 MLUCLIBS += -L/prog/alice/level3/kip/MLUC/lib/linux-i386 -lMLUC
64 endif
65 LIBS += $(MLUCLIBS)
66 endif
67
68 DEFSTR += $(EXTRADEF)
69
70 CXX          = g++
71 LD           = $(CXX)
72 GCCVERSION   = $(shell $(CXX) --version | head -n 1 | cut -d" " -f 3 | cut -d. -f 1 | cut -d" " -f1)
73
74 CXXGCC3FLAGS = -DGCCVERSION=$(GCCVERSION)
75 #CXXGCC3FLAGS += -pedantic
76 #CXXGCC3FLAGS += -Wno-deprecated
77 #CXXGCC3FLAGS += -Woverloaded-virtual
78
79 CXXFLAGS = -O2 -Wall -ggdb $(CXXGCC3FLAGS) $(EXTRACXXFLAGS) 
80 LDFLAGS  = -O2 $(EXTRALDFLAGS) $(LIBS)
81
82 PRGS    = runit read runvhdlcf runhough runvhdlhough runtracker
83 UTILS   = ccfile gettransform
84 UTILS_not_working  = convbin speedtest 
85
86 all: $(PRGS) $(UTILS)
87
88 programs: $(PRGS)
89
90 utils: $(UTILS)
91
92 #run hough transform on l3 data.
93 runhough: runhough.o
94         $(LD) $< $(LDFLAGS) -o $@
95
96 #run hough transform on l3 data.
97 runvhdlhough: runvhdlhough.o
98         $(LD) $< $(LDFLAGS) -o $@
99
100 #run conventional clusterfinder on altro data
101 runvhdlcf: runvhdlcf.o
102         $(LD) $< $(LDFLAGS) -o $@
103
104 #run conventional clusterfinder
105 runit: runit.o
106         $(LD) $< $(LDFLAGS) -o $@
107
108 #run conventional tracker
109 runtracker: runtracker.o
110         $(LD) $< $(LDFLAGS) -o $@
111
112 #read l3 raw data, print it and convert to altro data
113 read: read.o
114         $(LD) $< $(LDFLAGS) -o $@
115
116 #convert big <-> little endian cosmics data file
117 ccfile: convcosmicsfile.o
118         $(LD) $< $(LDFLAGS) -o $@
119
120 #convert to binary
121 convbin: ali2raw.o
122         $(LD) $< $(LDFLAGS) -o $@
123
124 #get transform values
125 gettransform: gettransform.o
126         $(LD) $< $(LDFLAGS) -o $@
127
128 speedtest: speedtest.cxx
129         g++ -O -Wall -fPIC -ffast-math $(CXXFLAGS) speedtest.cxx -o speedtest
130 #       g++ -O -Wall -fPIC -mcpu=ev6   $(CXXFLAGS) speedtest.cxx -o speedtest
131 #       cxx -O -Wall -fPIC -lm         $(CXXFLAGS) speedtest.cxx -o speedtest 
132
133 %.o:%.cxx 
134         $(CXX) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
135
136 clean :
137         rm -f *.o $(PRGS) $(UTILS) $(UTILS_not_working)
138
139