(ALIHLT_TOPDIR)/BASE added to include paths, (ALICE_ROOT)/RAW added to avoid compile...
[u/mrichter/AliRoot.git] / HLT / Makefile.rules
index 21be933a0376e6101467422f08b522bd8ecdf460..cee7c148e2654353ac11bd300de8fc64d4140d5a 100644 (file)
@@ -1,3 +1,4 @@
+# -*- Mode: Makefile -*-
 #$Id$
 ################################
 # Makefile.rules for HLT code. #
@@ -13,7 +14,7 @@
 
 DEFSTR = -Dno_root
 OBJDIR = lib_alone
-INCLUDES = -I$(ALIHLT_TOPDIR)/hough -I$(ALIHLT_TOPDIR)/src -I$(ALIHLT_TOPDIR)/comp -I$(ALIHLT_TOPDIR)/misc -I$(ALIHLT_TOPDIR)/trigger -I$(ALIHLT_TOPDIR)/kalman
+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
 
 ifeq ($(ALIHLT_USEPACKAGE),ROOT) 
 INCLUDES += -I$(ROOTSYS)/include 
@@ -26,6 +27,10 @@ endif
 ifeq ($(ALIHLT_USEPACKAGE),ALIROOT)
 INCLUDES += -I$(ROOTSYS)/include -I$(ALICE_ROOT)/include/ -I$(ALICE_ROOT)/TPC -I$(ALICE_ROOT)/CONTAINERS -I$(ALICE_ROOT)/STEER
 DEFSTR = -Duse_aliroot -Duse_root
+ifeq ($(USENEWIO),1)
+DEFSTR += -Duse_newio
+INCLUDES += -I$(ALICE_ROOT)/RAW
+endif
 OBJDIR = lib
 ROOTSTR := $(shell $(ROOTSYS)/bin/root -n -b -q  | grep Version | cut -b 17-25 | cut -d" " -f1)
 DEFSTR += -DROOTVERSION=\"$(ROOTSTR)\" 
@@ -36,12 +41,19 @@ else
 ALIROOTSTR = "Unknown"
 endif
 DEFSTR += -DALIROOTVERSION=\"$(ALIROOTSTR)\"
+ifeq ($(ALIROOTST),HEAD)
+DEFSTR += -Duse_reconstruction
+endif
 endif
 
 ifeq ($(DOMC),1)
 DEFSTR += -Ddo_mc
 endif
 
+ifeq ($(USEROWHOUGH),1)
+DEFSTR += -DROWHOUGHPARAMS
+endif
+
 ifneq ($(NOLOGGING),1)
 DEFSTR += -Duse_logging
 ifdef ALIHLT_MLUCDIR
@@ -51,14 +63,12 @@ INCLUDES += -I/prog/alice/level3/kip/MLUC/include
 endif
 endif
 
-
-DEFSTR += $(EXTRADEF)
+DEFSTR += -D$(ARCH) $(EXTRADEF)
 
 DICT  = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).cxx
 DICTH = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).h
 DICTO = $(OBJDIR)/$(MODNAME)Cint-$(ALIHLT_USEPACKAGE).o
 
-
 ifndef OBJS
 ifeq ($(OBJDIR),lib_alone)
 HDRS = $(SRCS:.cxx=.h) 
@@ -69,23 +79,41 @@ OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
 endif
 endif
 
-ALIHLT_LIBSO = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
+STATICOBJS = $(patsubst %.o,%.sto,$(OBJS))
 
-#Default Targets  
-#
+ALIHLT_LIBSO  = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
+ALIHLT_DYLIB  = $(ALIHLT_LIBDIR)/lib$(MODNAME).dylib
+ALIHLT_STATIC = $(ALIHLT_LIBDIR)/lib$(MODNAME).a
 
-all: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO) 
+#Default Target
+default: so
+
+libs: so static
+
+so: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO) 
+
+static: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_STATIC)
 
 $(ALIHLT_LIBSO): $(OBJS)
-       $(LD) $(SOFLAGS) $(LDFLAGS) $^ -o $@
+ifeq ($(ARCH),macosx)
+       $(LD) $(DYFLAGS) $^ $(LDFLAGS) -o $(ALIHLT_DYLIB)
+endif
+       $(LD) $(SOFLAGS) $^ $(LDFLAGS) -o $@
+
+$(ALIHLT_STATIC): $(STATICOBJS)
+       $(LDSTATIC) $(STATICFLAGS) $@ $^ 
 
 $(DICT): $(HDRS)
        @echo "Generating dictionary..."
-       rootcint -f $(DICT) -c $(INCLUDES) -DGCCVERSION=$(GCCVERSION) $(DEFSTR) -include AliL3StandardIncludes.h $(HDRS)
+       rootcint -f $(DICT) -c $(CINTCXXFLAGS) $(INCLUDES) \
+                    $(DEFSTR) -include AliL3StandardIncludes.h $(HDRS)
 
 $(OBJDIR)/%.o: %.cxx 
        $(CXX) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
 
+$(OBJDIR)/%.sto: %.cxx 
+       $(CXX) $(PROFILEFLAGS) $(CXXFLAGS) $(DEFSTR) -c $(INCLUDES) -o $@ $<
+
 $(OBJDIR): 
        test ! -e $(OBJDIR) && mkdir -p $(OBJDIR)
 
@@ -101,9 +129,11 @@ print:
        @echo "ALIHLT_TOPDIR     = $(ALIHLT_TOPDIR)"
        @echo "ALIHLT_MLUCDIR    = $(ALIHLT_MLUCDIR)"
        @echo "ALIHLT_USEPACKAGE = $(ALIHLT_USEPACKAGE)"
+       @echo "ALIHLT_USENEWIO   = $(ALIHLT_USENEWIO)"
        @echo "ALIHLT_NOLOGGING  = $(ALIHLT_NOLOGGING)"
        @echo "ALIHLT_DOMC       = $(ALIHLT_DOMC)"
        @echo "ALIHLT_ALIDETECT  = $(ALIHLT_ALIDETECT)"
+       @echo "ALIHLT_ROWHOUGH   = $(ALIHLT_ROWHOUGH)"
        @echo "ROOTSTR           = $(ROOTSTR)"
        @echo "ALIROOTSTR        = $(ALIROOTSTR)"
 
@@ -117,14 +147,14 @@ printall: print
        @echo "OBJS              = $(OBJS)"
 
 clean:
-       rm -f $(OBJDIR)/*.o
+       rm -f $(OBJDIR)/*.o $(OBJDIR)/*.sto
        rm -f $(DICT) $(DICTH) 
        rm -rf $(OBJDIR)
 
-so:
-       rm -f $(ALIHLT_LIBSO)
+cleanlib:
+       rm -f $(ALIHLT_LIBSO) $(ALIHLT_DYLIB) $(ALIHLT_STATIC)
 
-realclean: clean so
+realclean: clean cleanlib
 
 
 .phony: help print printall clean so realclean