1 # -*- Mode: Makefile -*-
3 ################################
4 # Makefile.rules for HLT code. #
6 # Author: Anders Vestbo, #
7 # Constantin Loizides #
8 ################################
10 #----------------------------------------------------
11 # !!! Dont change anything here !!!
12 # !!! and if you have to send a mail to authors !!!
13 #----------------------------------------------------
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 INCLUDES = -I$(ALIHLT_TOPDIR)/BASE
20 ### ifeq ($(ALIHLT_USEPACKAGE),ROOT)
21 ### INCLUDES += -I$(ROOTSYS)/include
22 ### DEFSTR = -Duse_root
24 ### ROOTSTR := $(shell $(ROOTSYS)/bin/root -n -b -q | grep Version | cut -b 17-25 | cut -d" " -f1)
25 ### DEFSTR += -DROOTVERSION=\"$(ROOTSTR)\"
28 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
29 INCLUDES += -I$(ROOTSYS)/include -I$(ALICE_ROOT)/include/ -I$(ALICE_ROOT)/TPC -I$(ALICE_ROOT)/CONTAINERS -I$(ALICE_ROOT)/STEER
30 DEFSTR = -Duse_aliroot -Duse_root
33 INCLUDES += -I$(ALICE_ROOT)/RAW
36 ROOTSTR := $(shell $(ROOTSYS)/bin/root -n -b -q | grep Version | cut -b 17-25 | cut -d" " -f1)
37 DEFSTR += -DROOTVERSION=\"$(ROOTSTR)\"
39 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)
42 ALIROOTSTR = "Unknown"
44 DEFSTR += -DALIROOTVERSION=\"$(ALIROOTSTR)\"
45 ifeq ($(ALIROOTST),HEAD)
46 DEFSTR += -Duse_reconstruction
54 ### ifeq ($(USEROWHOUGH),1)
55 ### DEFSTR += -DROWHOUGHPARAMS
58 ### ifneq ($(NOLOGGING),1)
59 ### DEFSTR += -Duse_logging
60 ### ifdef ALIHLT_MLUCDIR
61 ### INCLUDES += -I$(ALIHLT_MLUCDIR)/include
63 ### INCLUDES += -I/prog/alice/level3/kip/MLUC/include
67 DEFSTR += -D$(ARCH) $(EXTRADEF)
69 DICT = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).cxx
70 DICTH = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).h
71 DICTO = $(OBJDIR)/$(MODNAME)Cint-$(ALIHLT_USEPACKAGE).o
74 ifeq ($(OBJDIR),lib_alone)
75 HDRS = $(SRCS:.cxx=.h)
76 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS))
78 HDRS = $(SRCS:.cxx=.h) $(MODNAME)LinkDef.h
79 OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
83 STATICOBJS = $(patsubst %.o,%.sto,$(OBJS))
85 ALIHLT_LIBSO = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
86 ALIHLT_DYLIB = $(ALIHLT_LIBDIR)/lib$(MODNAME).dylib
87 ALIHLT_STATIC = $(ALIHLT_LIBDIR)/lib$(MODNAME).a
94 so: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO)
96 static: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_STATIC)
98 $(ALIHLT_LIBSO): $(OBJS)
100 $(LD) $(DYFLAGS) $^ $(LDFLAGS) -o $(ALIHLT_DYLIB)
102 $(LD) $(SOFLAGS) $^ $(LDFLAGS) -o $@
104 $(ALIHLT_STATIC): $(STATICOBJS)
105 $(LDSTATIC) $(STATICFLAGS) $@ $^
108 @echo "Generating dictionary..."
109 rootcint -f $(DICT) -c $(CINTCXXFLAGS) $(INCLUDES) \
110 $(DEFSTR) -include $(EXTRA_INCLUDES) $(HDRS)
113 $(CXX) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
115 $(OBJDIR)/%.sto: %.cxx
116 $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
119 test ! -e $(OBJDIR) && mkdir -p $(OBJDIR)
122 test ! -e $(ALIHLT_LIBDIR) && mkdir -p $(ALIHLT_LIBDIR)
125 cat $(ALIHLT_TOPDIR)/doc/README
128 @echo "MODNAME = $(MODNAME)"
129 @echo "ALIHLT_BASEDIR = $(ALIHLT_BASEDIR)"
130 @echo "ALIHLT_TOPDIR = $(ALIHLT_TOPDIR)"
131 @echo "ALIHLT_MLUCDIR = $(ALIHLT_MLUCDIR)"
132 @echo "ALIHLT_USEPACKAGE = $(ALIHLT_USEPACKAGE)"
133 @echo "ALIHLT_USENEWIO = $(ALIHLT_USENEWIO)"
134 @echo "ALIHLT_NOLOGGING = $(ALIHLT_NOLOGGING)"
135 @echo "ALIHLT_DOMC = $(ALIHLT_DOMC)"
136 @echo "ALIHLT_ALIDETECT = $(ALIHLT_ALIDETECT)"
137 @echo "ALIHLT_ROWHOUGH = $(ALIHLT_ROWHOUGH)"
138 @echo "ROOTSTR = $(ROOTSTR)"
139 @echo "ALIROOTSTR = $(ALIROOTSTR)"
142 @echo "ALIHLT_LIBSO = $(ALIHLT_LIBSO)"
143 @echo "DEFSTR = $(DEFSTR)"
144 @echo "OBJDIR = $(OBJDIR)"
145 @echo "INCLUDES = $(INCLUDES)"
146 @echo "SRCS = $(SRCS)"
147 @echo "HRDS = $(HDRS)"
148 @echo "OBJS = $(OBJS)"
151 rm -f $(OBJDIR)/*.o $(OBJDIR)/*.sto
152 rm -f $(DICT) $(DICTH)
156 rm -f $(ALIHLT_LIBSO) $(ALIHLT_DYLIB) $(ALIHLT_STATIC)
158 realclean: clean cleanlib
161 .phony: help print printall clean so realclean