]>
Commit | Line | Data |
---|---|---|
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 |