# --------------------------------------------------------------------------- # \author mdejong # # This file implements the part of the general make procedure which # handles the lists of files which require specific common actions. # # The top-level targets default, all, libs, install and clean are defined here. # # The compilation of source files and the typesetting of documents # proceeds according the rules defined in the file JMakerules. # The corresponding dependencies are generated automatically # by inclusion of this file. # # This file also handles the target dependent inclusion of # the compiler generated dependencies files ('.d' files). # # Note that the clean target is subject to the double-colon rule. # # --------------------------------------------------------------------------- #ifndef __JMAKEDEPENDENCIES__ #__JMAKEDEPENDENCIES__=$(lastword $(MAKEFILE_LIST)) .PHONY: default all install libs examples doc clean KM3NeT KM3NeT_highQE Antares # General dependencies default: libs all install all: $(NATIVE_BINS) $(NATIVE_LIBS) $(NATIVE_DOCS) libs: $(PUBLIC_LIBS) $(NATIVE_LIBS) install: $(PUBLIC_BINS) $(PUBLIC_LIBS) $(PUBLIC_DOCS) $(PUBLIC_SCRIPTS) examples: $(NATIVE_BINS) $(NATIVE_LIBS) $(NATIVE_DOCS) clean:: $(RM) $(NATIVE_BINS) $(NATIVE_LIBS) $(NATIVE_OBJS) $(NATIVE_OBJS:.o=.d) $(NATIVE_DOCS) doc: all install # Common dependencies $(NATIVE_BINS): %: %.o $(NATIVE_BINS): | $(PUBLIC_LIBS) $(NATIVE_LIBS) $(NATIVE_OBJS): %.o: %.cc %.d $(PUBLIC_BINS): $(JPP_BIN)%: % $(PUBLIC_SCRIPTS): $(JPP_BIN)%: % $(PUBLIC_LIBS): $(JPP_LIB)%: % $(PUBLIC_DOCS): $(JPP_DOC)%: % # order only prerequisites $(PUBLIC_BINS): | $(JPP_BIN) $(PUBLIC_SCRIPTS): | $(JPP_BIN) $(PUBLIC_LIBS): | $(JPP_LIB) $(PUBLIC_DOCS): | $(JPP_DOC) # Inclusion of C++ compiler generated dependencies files. ifneq ("$(MAKECMDGOALS)", "clean") DEPENDENCY_FILES=$(NATIVE_OBJS:.o=.d) ifneq ($(DEPENDENCY_FILES),) .DELETE_ON_ERROR: $(DEPENDENCY_FILES) $(DEPENDENCY_FILES): -include $(wildcard $(DEPENDENCY_FILES)) endif endif #endif