Added files for the reference version based on an old version of Anders'
[u/mrichter/AliRoot.git] / HLT / Makefile.rules
1 # -*- Mode: Makefile -*-
2 #$Id$
3 ################################
4 # Makefile.rules for HLT code. #
5 #                              #
6 # Author: Anders Vestbo,       #
7 #         Constantin Loizides  #                    
8 ################################
9
10 #----------------------------------------------------
11 # !!! Dont change anything here                 !!!
12 # !!! and if you have to send a mail to authors !!!
13 #----------------------------------------------------
14
15 DEFSTR = -Dno_root
16 OBJDIR = lib_alone
17 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 -I$(ALIHLT_TOPDIR)/BASE
18
19 ifeq ($(ALIHLT_USEPACKAGE),ROOT) 
20 INCLUDES += -I$(ROOTSYS)/include 
21 DEFSTR = -Duse_root
22 OBJDIR = lib_ROOT
23 ROOTSTR := $(shell $(ROOTSYS)/bin/root -n -b -q  | grep Version | cut -b 17-25 | cut -d" " -f1)
24 DEFSTR += -DROOTVERSION=\"$(ROOTSTR)\" 
25 endif
26
27 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
28 INCLUDES += -I$(ROOTSYS)/include -I$(ALICE_ROOT)/include/ -I$(ALICE_ROOT)/TPC -I$(ALICE_ROOT)/CONTAINERS -I$(ALICE_ROOT)/STEER
29 DEFSTR = -Duse_aliroot -Duse_root
30 ifeq ($(USENEWIO),1)
31 DEFSTR += -Duse_newio
32 INCLUDES += -I$(ALICE_ROOT)/RAW
33 endif
34 OBJDIR = lib
35 ROOTSTR := $(shell $(ROOTSYS)/bin/root -n -b -q  | grep Version | cut -b 17-25 | cut -d" " -f1)
36 DEFSTR += -DROOTVERSION=\"$(ROOTSTR)\" 
37 ifeq ($(USECVS),1)
38 ALIROOTSTR := $(shell if test -n "`cd $(ALICE_ROOT)/STEER/ && cvs stat AliRun.cxx | grep "Sticky Tag" | grep none`"; then echo HEAD; else cd $(ALICE_ROOT)/STEER/ && cvs stat AliRun.cxx | grep "Sticky Tag" | cut -b 18- | cut -d" " -f1; fi)
39 DEFSTR += -Duse_cvs
40 else
41 ALIROOTSTR = "Unknown"
42 endif
43 DEFSTR += -DALIROOTVERSION=\"$(ALIROOTSTR)\"
44 ifeq ($(ALIROOTST),HEAD)
45 DEFSTR += -Duse_reconstruction
46 endif
47 endif
48
49 ifeq ($(DOMC),1)
50 DEFSTR += -Ddo_mc
51 endif
52
53 ifeq ($(USEROWHOUGH),1)
54 DEFSTR += -DROWHOUGHPARAMS
55 endif
56
57 ifneq ($(NOLOGGING),1)
58 DEFSTR += -Duse_logging
59 ifdef ALIHLT_MLUCDIR
60 INCLUDES += -I$(ALIHLT_MLUCDIR)/include
61 else
62 INCLUDES += -I/prog/alice/level3/kip/MLUC/include
63 endif
64 endif
65
66 DEFSTR += -D$(ARCH) $(EXTRADEF)
67
68 DICT  = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).cxx
69 DICTH = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).h
70 DICTO = $(OBJDIR)/$(MODNAME)Cint-$(ALIHLT_USEPACKAGE).o
71
72 ifndef OBJS
73 ifeq ($(OBJDIR),lib_alone)
74 HDRS = $(SRCS:.cxx=.h) 
75 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS))
76 else
77 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
78 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
79 endif
80 endif
81
82 STATICOBJS = $(patsubst %.o,%.sto,$(OBJS))
83
84 ALIHLT_LIBSO  = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
85 ALIHLT_DYLIB  = $(ALIHLT_LIBDIR)/lib$(MODNAME).dylib
86 ALIHLT_STATIC = $(ALIHLT_LIBDIR)/lib$(MODNAME).a
87
88 #Default Target
89 default: so
90
91 libs: so static
92
93 so: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO) 
94
95 static: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_STATIC)
96
97 $(ALIHLT_LIBSO): $(OBJS)
98 ifeq ($(ARCH),macosx)
99         $(LD) $(DYFLAGS) $^ $(LDFLAGS) -o $(ALIHLT_DYLIB)
100 endif
101         $(LD) $(SOFLAGS) $^ $(LDFLAGS) -o $@
102
103 $(ALIHLT_STATIC): $(STATICOBJS)
104         $(LDSTATIC) $(STATICFLAGS) $@ $^ 
105
106 $(DICT): $(HDRS)
107         @echo "Generating dictionary..."
108         rootcint -f $(DICT) -c $(CINTCXXFLAGS) $(INCLUDES) \
109                     $(DEFSTR) -include AliL3StandardIncludes.h $(HDRS)
110
111 $(OBJDIR)/%.o: %.cxx 
112         $(CXX) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
113
114 $(OBJDIR)/%.sto: %.cxx 
115         $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
116
117 $(OBJDIR): 
118         test ! -e $(OBJDIR) && mkdir -p $(OBJDIR)
119
120 $(ALIHLT_LIBDIR):
121         test ! -e $(ALIHLT_LIBDIR) && mkdir -p $(ALIHLT_LIBDIR)
122
123 help:
124         cat $(ALIHLT_TOPDIR)/doc/README
125
126 print:
127         @echo "MODNAME           = $(MODNAME)" 
128         @echo "ALIHLT_BASEDIR    = $(ALIHLT_BASEDIR)"
129         @echo "ALIHLT_TOPDIR     = $(ALIHLT_TOPDIR)"
130         @echo "ALIHLT_MLUCDIR    = $(ALIHLT_MLUCDIR)"
131         @echo "ALIHLT_USEPACKAGE = $(ALIHLT_USEPACKAGE)"
132         @echo "ALIHLT_USENEWIO   = $(ALIHLT_USENEWIO)"
133         @echo "ALIHLT_NOLOGGING  = $(ALIHLT_NOLOGGING)"
134         @echo "ALIHLT_DOMC       = $(ALIHLT_DOMC)"
135         @echo "ALIHLT_ALIDETECT  = $(ALIHLT_ALIDETECT)"
136         @echo "ALIHLT_ROWHOUGH   = $(ALIHLT_ROWHOUGH)"
137         @echo "ROOTSTR           = $(ROOTSTR)"
138         @echo "ALIROOTSTR        = $(ALIROOTSTR)"
139
140 printall: print
141         @echo "ALIHLT_LIBSO      = $(ALIHLT_LIBSO)"
142         @echo "DEFSTR            = $(DEFSTR)"
143         @echo "OBJDIR            = $(OBJDIR)"
144         @echo "INCLUDES          = $(INCLUDES)"
145         @echo "SRCS              = $(SRCS)"
146         @echo "HRDS              = $(HDRS)"
147         @echo "OBJS              = $(OBJS)"
148
149 clean:
150         rm -f $(OBJDIR)/*.o $(OBJDIR)/*.sto
151         rm -f $(DICT) $(DICTH) 
152         rm -rf $(OBJDIR)
153
154 cleanlib:
155         rm -f $(ALIHLT_LIBSO) $(ALIHLT_DYLIB) $(ALIHLT_STATIC)
156
157 realclean: clean cleanlib
158
159
160 .phony: help print printall clean so realclean
161