##### include general path/location macros #####
override ALICE_ROOT=$(shell pwd)
+ifdef ALIVERBOSE
+MUTE:=
+else
+MUTE:=@
+endif
+
include build/Makefile.config
##################################################################
#
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
##################################################################
CASTOR RICH START STRUCT EVGEN RALICE ALIFAST \
THijing CONTAINERS MEVSIM TMEVSIM THbtp HBTP EMCAL HBTAN
-#ALIROOTMODULES:= HBTP
-
CERNMODULES:= PDF PYTHIA PYTHIA6 GEANT321 MINICERN HIJING
-
MODULES:=$(ALIROOTMODULES) $(CERNMODULES)
##################################################################
# 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)
#############################################################
#
# 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
#############################################################
#
# 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,%,$@) > $@;
#############################################################
# 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)
aliroot: $(BINPATH) $(ALLEXECS) alilibs bin
-#haders: $(EXPORTFILES)
-
alilibs: $(LIBPATH) $(ALLLIBS) lib modules
# Single Makefile "distribution": Makefile + modules + mkdepend scripts
depend: $(INCLUDEFILES)
debug:
+ifndef ALIQUIET
@echo "***** Entering DEBUG mode. *****"
+endif
@(export ALIDEBUG=YES && $(MAKE) -f Makefile.flat )
lib:
@mkdir lib
@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 \
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"
@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)