+# -*- Mode: Makefile -*-
#$Id$
################################
# Makefile.rules for HLT code. #
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
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)
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
endif
endif
-DEFSTR += $(EXTRADEF)
+DEFSTR += -D$(ARCH) $(EXTRADEF)
DICT = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).cxx
DICTH = $(MODNAME)Cint-$(ALIHLT_USEPACKAGE).h
endif
endif
-ALIHLT_LIBSO = $(ALIHLT_LIBDIR)/lib$(MODNAME).so
+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 Target
+default: so
-#Default Targets
-#
+libs: so static
-all: $(OBJDIR) $(ALIHLT_LIBDIR) $(ALIHLT_LIBSO)
+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 AliHLTStandardIncludes.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)
@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)"
@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