# ---------------------------------------------------------------------- # # Top level make procedure. # # The defaut make procedure compiles, links and installs all excutable # and library files. # # The applications to produce PDF tables are specific to an experiment. # The experimental conditions are handled via a corresponding namespace. # The default make procedures compiles these applications for KM3NeT. # The default namespace KM3NET can be overwritten by executing either # # make Antares # make KM3NeT # # ---------------------------------------------------------------------- JPP_DIR := $(shell pwd) include $(JPP_DIR)/Makedefines export NAMESPACE := KM3NET .PHONY: clean distclean doc Antares KM3NeT ifeq "$(MAKECMDGOALS)" "KM3NeT" NAMESPACE := KM3NET endif ifeq "$(MAKECMDGOALS)" "Antares" NAMESPACE := ANTARES endif # If make is called with -k (keep-going), then the bash for loop should reflect that setting ifneq (,$(findstring k,$(MAKEFLAGS))) BASH_STOP := "false" else BASH_STOP := "true" endif KM3NeT:: default Antares:: default #make the externals antares-daq and chsm default all:: $(MAKE) -C externals/chsm $(MAKE) -C externals/chsm install $(MAKE) -C externals/antares-daq/CLHEP install $(MAKE) -C externals/antares-daq/antcc $(MAKE) -C externals/antares-daq/antcc install default all install clean:: @for dir in \ software/JLang \ software/JNet \ software/JApplication \ software/JDAQ \ software/JDetector \ software/JSirene \ software/JTimeslice \ software/JTrigger \ software/JGizmo \ software/JLogger \ software/JRuncontrol \ software/JDataWriter \ software/JConverter \ software/JMonitor \ ; do \ $(MAKE) $(MFLAGS) -C $$dir $@ || if [ "true" = "$(BASH_STOP)" ]; then exit 1;fi \ done clean:: $(RM) *~ $(MAKE) -C documentation/tex/ $@ $(MAKE) -C externals/chsm $@ $(MAKE) -C externals/antares-daq/CLHEP $@ $(MAKE) -C externals/antares-daq/antcc $@ distclean:: clean $(RM) -R $(JPP_OUT) $(RM) -R $(JPP_DOC) $(MAKE) -C externals/chsm $@ doc: make -C documentation/tex/ $(DOXYGEN) Doxyfile