# # Earth System Modeling Applications (ESMA) post processing makefile fragment. # Optionally, include this at the end of your makefile. # # Notes: # 1. Building the "pinstall" target in a directory does the following: # a) If the directory has SUBDIRS, then # - each SUBDIR is built with "gmake pinstall" # - the directory is then built with the "local_install" target # b) If the directory has no SUBDIRS, then # - the directory is built with the "install" target # 2. Use $(subdir)_install dependency statements in the GNUmakefile # to indicate subdirectory dependencies. # # REVISION HISTORY: # # 15Dec2006 da Silva First Crack # 02Feb2010 Stassi Added notes and made small changes to the code structure # for clarity (i.e. to help me remember how it works). #-------------------------------------------------------------------------- # ----------------- # Parallel Install # ----------------- ifdef SUBDIRS PINSTALL_DIRS = $(foreach dir,$(SUBDIRS),$(dir)_install) LOCAL_INSTALL = local_install PINSTALL_TARGET = $(LOCAL_INSTALL) else PINSTALL_TARGET = install endif pinstall: $(PINSTALL_DIRS) $(MAKE) -e $(PINSTALL_TARGET) %_install: @$(ESMA_TIMER_BEG) $(MAKE) -e -C $* pinstall @$(ESMA_TIMER_END) pinstall_skip: @echo "Skipping local_install in `pwd`"