(ALIHLT_TOPDIR)/BASE added to include paths, (ALICE_ROOT)/RAW added to avoid compile...
[u/mrichter/AliRoot.git] / HLT / Makefile.rules
index a97d819a75d7ed3607e59a1d08fa296895a632f6..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)/src -I$(ALIHLT_TOPDIR)/hough -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 
@@ -28,6 +29,7 @@ INCLUDES += -I$(ROOTSYS)/include -I$(ALICE_ROOT)/include/ -I$(ALICE_ROOT)/TPC -I
 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)
@@ -39,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
@@ -70,29 +79,41 @@ OBJS = $(patsubst %.cxx,$(OBJDIR)/%.o,$(SRCS)) $(DICTO)
 endif
 endif
 
-ALIHLT_LIBSO = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
-ALIHLT_DYLIB = $(ALIHLT_LIBDIR)/lib$(MODNAME).dylib
+STATICOBJS = $(patsubst %.o,%.sto,$(OBJS))
+
+ALIHLT_LIBSO  = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
+ALIHLT_DYLIB  = $(ALIHLT_LIBDIR)/lib$(MODNAME).dylib
+ALIHLT_STATIC = $(ALIHLT_LIBDIR)/lib$(MODNAME).a
 
-#Default Targets  
-#
+#Default Target
+default: so
 
-all: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO) 
+libs: so static
+
+so: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO) 
+
+static: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_STATIC)
 
 $(ALIHLT_LIBSO): $(OBJS)
-ifeq ($(ARCH),Darwin)
+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 $(CINTCXXFLAGS) $(INCLUDES) -DGCCVERSION=$(GCCVERSION) \
+       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)
 
@@ -112,6 +133,7 @@ print:
        @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)"
 
@@ -125,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) $(ALIHLT_DYLIB)
+cleanlib:
+       rm -f $(ALIHLT_LIBSO) $(ALIHLT_DYLIB) $(ALIHLT_STATIC)
 
-realclean: clean so
+realclean: clean cleanlib
 
 
 .phony: help print printall clean so realclean