]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - Makefile.flat
A new macro, based on Jiri's that will produce Digits from SDigits.
[u/mrichter/AliRoot.git] / Makefile.flat
index f2f7acd579531de2f9ce8db65c19c523399af6de..4d1da9f38456869fd61f156a4c66d0ad58abc980 100644 (file)
@@ -7,6 +7,12 @@
 ##### include general path/location macros #####
 override ALICE_ROOT=$(shell pwd)
 
+ifdef ALIVERBOSE
+MUTE:=
+else
+MUTE:=@
+endif
+
 include build/Makefile.config
 ################################################################## 
 # 
@@ -33,6 +39,8 @@ override ALICE_TARGET:=$(ALICE_TARGET)DEBUG
 FFLAGS := -g $(filter-out -O%,$(FFLAGS))
 CXXFLAGS := -g $(filter-out -O%,$(CXXLAGS))
 CFLAGS := -g $(filter-out -O%,$(CLAGS))
+SOFLAGS := -g $(filter-out -O%,$(SOFLAGS))
+LDFLAGS := -g $(filter-out -O%,$(LDFLAGS))
 endif
 ##################################################################
 
@@ -45,12 +53,15 @@ endif
 ALIROOTMODULES:= STEER \
         TGeant3 PHOS TRD TPC ZDC MUON PMD FMD TOF ITS \
          CASTOR RICH START STRUCT EVGEN RALICE ALIFAST \
-        THijing CONTAINERS MEVSIM TMEVSIM THbtp HBTP EMCAL
+        THijing CONTAINERS MEVSIM TMEVSIM THbtp HBTP EMCAL HBTAN \
 
-#ALIROOTMODULES:= HBTP
 
-CERNMODULES:= PDF PYTHIA PYTHIA6 GEANT321 MINICERN HIJING
+GEANT4MODULES:=        TGeant4 AliGeant4
+ifeq ($(MAKECMDGOALS),geant4)
+ALIROOTMODULES += $(GEANT4MODULES)
+endif
 
+CERNMODULES:= PDF PYTHIA PYTHIA6 GEANT321 MINICERN HIJING
 
 MODULES:=$(ALIROOTMODULES) $(CERNMODULES)
 
@@ -67,19 +78,12 @@ MODDIRS := MODULES
 #      The module directory will be added by each module
 #
 
-CXXFLAGS += $(patsubst %,-I%,$(ALICE_ROOT))
 CXXFLAGS += -I$(ALICE_ROOT)/include
 CXXFLAGS += $(patsubst %,-I%,$(ROOTSYS)/include)
 
-FFLAGS += $(patsubst %,-I%,$(ALICE_ROOT))
-FFLAGS += -I$(ALICE_ROOT)/include
-FFLAGS += $(patsubst %,-I%,$(ROOTSYS)/include)
-
-CINTFLAGS += $(patsubst %,-I%,$(ALICE_ROOT))
 CINTFLAGS += -I$(ALICE_ROOT)/include
 CINTFLAGS += $(patsubst %,-I%,$(ROOTSYS)/include)
 
-DEPINC += $(patsubst %,-I%,$(ALICE_ROOT))
 DEPINC  += -I$(ALICE_ROOT)/include
 DEPINC += $(patsubst %,-I%,$(ROOTSYS)/include)
 #############################################################
@@ -101,15 +105,14 @@ default:     alilibs  aliroot
 #
 #            Each module will add to this
 
-ALLLIBS :=
-ALLEXECS :=
+ALLLIBS      :=
+ALLEXECS     :=
 INCLUDEFILES :=
-BINLIBS := 
-EXPORTFILES := 
+BINLIBS      := 
+EXPORTFILES  := 
 #############################################################
 
-BINLIBDIRS := -L$(ALICE_ROOT)/$(LIBPATH)
-
+BINLIBDIRS   := -L$(ALICE_ROOT)/$(LIBPATH)
 
 
 #Dependencies of module.mk files
@@ -119,8 +122,10 @@ include build/module.dep
 #############################################################
 # 
 #        Check if module.mk is present for the library
-%.mk:
+%.mk: build/module.tpl
+ifndef ALIQUIET
        @echo "***** Creating $@ file *****";
+endif
        @share/alibtool mkmodule  $(patsubst %/module.mk,%,$@) > $@;
 #############################################################
 
@@ -130,9 +135,8 @@ include build/module.dep
 #             dependencies or module.mk files.
 
 ifeq ($(findstring $(MAKECMDGOALS), clean clean-all clean-dicts clean-modules clean-depend clean-objects clean-libs clean-bins),)
-#ifneq ($(findstring clean,$(MAKECMDGOALS)),clean)
 
-#            If makeing modules, not not include
+#            If making modules, not not include
 #                       anything
 
 ifneq ($(findstring modules,$(MAKECMDGOALS)),modules)
@@ -168,13 +172,15 @@ include build/dummy.d
 
 # targets
 
-.PHONY:                alilibs aliroot makedistr clean
+.PHONY:                alilibs aliroot geant4 makedistr clean
 
 modules: $(patsubst %,%/module.mk,$(MODULES))  
 
+geant4modules: $(patsubst %,%/module.mk,$(GEANT4MODULES)) 
+
 aliroot: $(BINPATH) $(ALLEXECS) alilibs bin
 
-#haders: $(EXPORTFILES)
+geant4: aliroot
 
 alilibs: $(LIBPATH) $(ALLLIBS) lib modules
 
@@ -188,7 +194,9 @@ all: aliroot
 depend: $(INCLUDEFILES) 
 
 debug:
+ifndef ALIQUIET
        @echo "***** Entering DEBUG mode. *****"
+endif
        @(export ALIDEBUG=YES && $(MAKE) -f Makefile.flat )
 lib: 
        @mkdir lib
@@ -199,16 +207,22 @@ bin:
        @mkdir bin/tgt_$(ALICE_TARGET)
 
 $(MODULES):
+ifndef ALIQUIET
        @echo "***** Making $@ *****"
-       mkdir -p $@
+endif
+       @mkdir -p $@
 
 $(BINPATH):
+ifndef ALIQUIET
        @echo "***** Making $@ *****"
-       mkdir -p $@
+endif
+       @mkdir -p $@
 
 $(LIBPATH):
+ifndef ALIQUIET
        @echo "***** Making $@ *****"
-       mkdir -p $@
+endif
+       @mkdir -p $@
 
 build/dummy.d: $(EXPORTFILES)
        @(if [ ! -f $@ ] ; then \
@@ -216,7 +230,7 @@ build/dummy.d: $(EXPORTFILES)
        fi)
 
 clean:
-       @echo "***** No targen clean, use on of these *****"
+       @echo "***** No targen clean, use one of these *****"
        @echo " clean-aliroot     : Clean up all aliroot libraries"
        @echo " clean-MODULENAME  : Clean everything from module MODULENAME"
        @echo " clean-all         : Cleans up everything, including cern libraires"
@@ -224,50 +238,49 @@ clean:
        @echo " clean-libs        : Clean all libraries (not object files)"
        @echo "********************************************"
 
-clean-all: clean-modules
+clean-all: clean-modules clean-libs clean-bins
+ifndef ALIQUIET
        @echo "***** Cleaning up everything ****"
-       rm -rf $(patsubst %,%/module.mk,$(MODULES)) 
-       rm -rf $(patsubst %,%/tgt_$(ALICE_TARGET),$(MODULES))
-       rm -rf lib/tgt_$(ALICE_TARGET)
-       rm -rf bin/tgt_$(ALICE_TARGET)
-       rm -rf $(EXPORTDIR)
+endif
+       $(MUTE)rm -rf $(patsubst %,%/tgt_$(ALICE_TARGET),$(MODULES))
+       $(MUTE)rm -rf $(EXPORTDIR)
 
 #This cleans only libraries that are not CERN-libraries
 
 clean-aliroot:   $(patsubst %,%/module.mk,$(ALIROOTMODULES)) $(patsubst %,clean-%,$(ALIROOTMODULES))
 
 clean-dicts:
+ifndef ALIQUIET
        @echo "***** Cleaning up G__ files *****"
-       rm -rf */tgt_$(ALICE_TARGET)/G__*
+endif
+       $(MUTE)rm -rf */tgt_$(ALICE_TARGET)/G__*
+
 clean-modules:
+ifndef ALIQUIET
        @echo "***** Cleaning up module.mk files *****"
-       rm -rf $(patsubst %,%/module.mk,$(MODULES)) 
+endif
+       $(MUTE)rm -rf $(patsubst %,%/module.mk,$(MODULES)) 
 
 clean-depend:
+ifndef ALIQUIET
        @echo "***** Cleaning up dependencies *****"
-       rm -rf */tgt_$(ALICE_TARGET)/*.d
-       rm -rf */tgt_$(ALICE_TARGET)/*/*.d
-       rm -rf */tgt_$(ALICE_TARGET)/*/*/*.d
-       rm -rf */tgt_$(ALICE_TARGET)/*/*/*/*.d
+endif
+       $(MUTE)echo rm `find . -name "*.d"`
 
 clean-objects:
+ifndef ALIQUIET
        @echo "***** Cleaning up .o files *****"
-       rm -rf */tgt_$(ALICE_TARGET)/*.o
-       rm -rf */tgt_$(ALICE_TARGET)/*/*.o
-       rm -rf */tgt_$(ALICE_TARGET)/*/*/*.o
-       rm -rf */tgt_$(ALICE_TARGET)/*/*/*/*.o
+endif
+       $(MUTE)echo rm `find . -name "*.o"`
 
 clean-libs:
+ifndef ALIQUIET
        @echo "***** Cleaning up library files *****"
-       rm -rf lib/tgt_$(ALICE_TARGET)/*
+endif
+       $(MUTE)rm -rf lib/tgt_$(ALICE_TARGET)/*
 
 clean-bins:
+ifndef ALIQUIET
        @echo "***** Cleaning up binary files *****"
-       rm -rf bin/tgt_$(ALICE_TARGET)
-
-
-
-
-
-
-
+endif
+       $(MUTE)rm -rf bin/tgt_$(ALICE_TARGET)