# *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* # ** Copyright UCAR (c) 1992 - 2010 # ** University Corporation for Atmospheric Research(UCAR) # ** National Center for Atmospheric Research(NCAR) # ** Research Applications Laboratory(RAL) # ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA # ** 2010/10/7 16:53:3 # *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* ########################################################################## # # Makefile targets for programs # # Mike Dixon # # RAP,NCAR,Boulder,Colorado,80307,USA # # Nov 1994 # ########################################################################### all: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" target debug: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DEBUG_LDFLAGS="-L$(RAP_DEBUG_LIB_DIR)" \ DEBUG_CFLAGS="-DDEBUG" "$(LOC_DEBUG_CFLAGS)" \ DEBUG_LIBS="-ldbmalloc" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" target profile: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DEBUG_LDFLAGS="-L$(RAP_PROFILE_LIB_DIR) $(PROF_LDFLAGS)" \ SYS_LIBS="$(PROF_LIBS)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG) $(PROFILE_FLAG)" target insure: $(MAKE) _CC=insure _CPPC=insure \ SYS_CFLAGS="-D$(HOST_OS)" \ DEBUG_LDFLAGS="-L$(RAP_INSURE_LIB_DIR) $(INSURE_LDFLAGS) " \ SYS_LIBS="$(INSURE_LIBS)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" target pure: $(MAKE) _CC="$(PURE) $(SYS_PURE_FLAGS) $(CC_PURE_COLLECTOR) $(CC)" \ _CPPC="$(PURE) $(SYS_PURE_FLAGS) $(CPPC_PURE_COLLECTOR) $(CPPC)" \ SYS_CFLAGS="-D$(HOST_OS)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" target pgi: $(MAKE) _CC="$(PGI_CC)" _SYS_CFLAGS="$(PGI_SYS_CFLAGS)" \ _CPPC="$(PGI_CPPC)" _SYS_CPPC_CFLAGS="$(PGI_SYS_CPPC_CFLAGS)" \ _F90C="$(PGI_F90C)" _F95C="$(PGI_F95C)" _FC="$(PGI_FC)" \ F90FLAGS="$(PGF90FLAGS)" F95FLAGS="$(PGF95FLAGS)" FFLAGS="$(PGFFLAGS)" \ GCC_WARNINGS="" \ NETCDF_INCS="$(PGI_NETCDF_INCS)" NETCDF_LDFLAGS="$(PGI_NETCDF_LDFLAGS)" \ NETCDF4_INCS="$(PGI_NETCDF4_INCS)" NETCDF4_LDFLAGS="$(PGI_NETCDF4_LDFLAGS)" \ DEBUG_LDFLAGS="-L$(RAP_PGI_LIB_DIR) $(PGI_LDFLAGS)" \ RAP_LIB_DIR="$(RAP_PGI_LIB_DIR)" RAP_SHARED_LIB_DIR="$(RAP_PGI_LIB_DIR)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" target intel: $(MAKE) _CC="$(INTEL_CC)" _SYS_CFLAGS="$(INTEL_SYS_CFLAGS)" \ _CPPC="$(INTEL_CPPC)" _SYS_CPPC_CFLAGS="$(INTEL_SYS_CPPC_CFLAGS)" \ _F90C="$(INTEL_F90C)" _F95C="$(INTEL_F95C)" _FC="$(INTEL_FC)" \ F90FLAGS="$(IFORT90FLAGS)" F95FLAGS="$(IFORT95FLAGS)" FFLAGS="$(IFORTFFLAGS)" \ GCC_WARNINGS="" \ NETCDF_INCS="$(INTEL_NETCDF_INCS)" NETCDF_LDFLAGS="$(INTEL_NETCDF_LDFLAGS)" \ NETCDF4_INCS="$(INTEL_NETCDF4_INCS)" NETCDF4_LDFLAGS="$(INTEL_NETCDF4_LDFLAGS)" \ DEBUG_LDFLAGS="-L$(RAP_INTEL_LIB_DIR) $(INTEL_LDFLAGS)" \ RAP_LIB_DIR="$(RAP_INTEL_LIB_DIR)" RAP_SHARED_LIB_DIR="$(RAP_INTEL_LIB_DIR)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" target opt: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="$(OPT_FLAG)" target optopt: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="-O3" target opt4: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="-O4" target dbgopt: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="$(OPT_FLAG) $(DEBUG_FLAG)" target static: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="$(DEBUG_FLAG)" \ DEBUG_LDFLAGS="$(STATIC_FLAG)" target staticopt: $(MAKE) _CC="$(CC)" _CPPC="$(CPPC)" _FC="$(FC)" _F90C="$(F90C)" \ _F95C="$(F95C)" \ DBUG_OPT_FLAGS="$(OPT_FLAG)" \ DEBUG_LDFLAGS="$(STATIC_FLAG)" target target: if $(TEST) $(MODULE_TYPE) = library; \ then \ echo Making library ... ; \ $(MAKE) _CC="$(_CC)" _CPPC="$(_CPPC)" DBUG_OPT_FLAGS="$(DBUG_OPT_FLAGS)" DEBUG_CFLAGS="$(DEBUG_CFLAGS)" DEBUG_LIBS="$(DEBUG_LIBS)" DEBUG_LDFLAGS="$(DEBUG_LDFLAGS)" SYS_LIBS="$(SYS_LIBS)" SYS_CFLAGS="$(SYS_CFLAGS)" lib; \ elif $(TEST) $(MODULE_TYPE) = library_so; \ then \ echo Making library ... ; \ $(MAKE) _CC="$(_CC)" _CPPC="$(_CPPC)" DBUG_OPT_FLAGS="$(DBUG_OPT_FLAGS)" DEBUG_CFLAGS="$(DEBUG_CFLAGS)" DEBUG_LIBS="$(DEBUG_LIBS)" DEBUG_LDFLAGS="$(DEBUG_LDFLAGS)" SYS_LIBS="$(SYS_LIBS)" SYS_CFLAGS="$(SYS_CFLAGS)" lib_so; \ elif $(TEST) $(MODULE_TYPE) = java_package; \ then \ echo Making java package ... ; \ $(MAKE) $(JAVA_CLASSES); \ else \ echo Making program ... ; \ $(MAKE) _CC="$(_CC)" _CPPC="$(_CPPC)" _FC="$(_FC)" DBUG_OPT_FLAGS="$(DBUG_OPT_FLAGS)" DEBUG_CFLAGS="$(DEBUG_CFLAGS)" DEBUG_LIBS="$(DEBUG_LIBS)" DEBUG_LDFLAGS="$(DEBUG_LDFLAGS)" SYS_LIBS="$(SYS_LIBS)" SYS_CFLAGS="$(SYS_CFLAGS)" $(TARGET_FILE); \ fi lib: $(OBJS) echo Archiving library ... $(AR) $(ARFLAGS) $(TARGET_FILE) $(OBJS) lib_so: $(OBJS) echo Making shared object library... ld -shared $(OBJS) -o $(TARGET_FILE) $(TARGET_FILE): $(OBJS) Makefile if $(TEST) $(MODULE_TYPE) = program; \ then \ echo Linking C program ...; \ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(LOC_LD_LIBRARY_PATH):$(SYS_LD_LIBRARY_PATH); \ $(RM) $(TARGET_FILE); \ $(_CC) $(DBUG_OPT_FLAGS) -o $(TARGET_FILE) \ $(OBJS) $(DEBUG_LDFLAGS) $(LDFLAGS) \ $(LIBS); \ elif $(TEST) $(MODULE_TYPE) = progcpp; \ then \ echo Linking C++ program ...; \ LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(LOC_LD_LIBRARY_PATH):$(SYS_LD_LIBRARY_PATH); \ $(RM) $(TARGET_FILE); \ $(_CPPC) $(DBUG_OPT_FLAGS) -o $(TARGET_FILE) \ $(OBJS) $(DEBUG_LDFLAGS) $(LDFLAGS) \ $(LIBS); \ elif $(TEST) $(MODULE_TYPE) = progf77; \ then \ echo Linking FORTRAN program ...; \ $(RM) $(TARGET_FILE); \ $(_FC) $(DBUG_OPT_FLAGS) -o $(TARGET_FILE) \ $(OBJS) $(DEBUG_LDFLAGS) $(LDFLAGS) \ $(LIBS); \ else \ echo WARNING - unknown module type '$(MODULE_TYPE)'; \ exit -1; \ fi install_bin: $(INSTALL_BIN_PATH) $(INSTALL_BIN_PATH): all if $(TEST) $(MODULE_TYPE) = program || \ $(TEST) $(MODULE_TYPE) = progf77 || \ $(TEST) $(MODULE_TYPE) = progcpp ; \ then \ if $(TEST) -d $(RAP_BIN_DIR); then :; else \ $(MKDIR) $(RAP_BIN_DIR); fi ; \ if $(TEST) -f $(INSTALL_BIN_PATH) ;\ then \ $(MV) $(RAP_BIN_DIR)/$(TARGET_FILE) $(RAP_BIN_DIR)/$(TARGET_FILE).bak ;\ $(CP) $(TARGET_FILE) $(INSTALL_BIN_PATH) ;\ $(RM) $(RAP_BIN_DIR)/$(TARGET_FILE).bak ;\ else \ $(CP) $(TARGET_FILE) $(INSTALL_BIN_PATH); \ fi \ fi if $(TEST) "$(DO_SRC_README)" = "" ; then :; else \ echo "$(TARGET_FILE) -- source: `$(PWD)`" >> $(RAP_BIN_DIR)/README.src_dir_info ;\ fi install: install_bin install_shared_bin: $(MAKE) RAP_BIN_DIR=$(RAP_SHARED_BIN_DIR) install_bin strip $(RAP_SHARED_BIN_DIR)/$(TARGET_FILE) install_shared: install_shared_bin install_cgi: $(MAKE) RAP_BIN_DIR=$(RAP_CGI_BIN_DIR) install_bin copy_bin: if $(TEST) $(MODULE_TYPE) = program || \ $(TEST) $(MODULE_TYPE) = progf77 || \ $(TEST) $(MODULE_TYPE) = progcpp ; \ then \ if $(TEST) -d $(RAP_BIN_DIR); then :; else \ $(MKDIR) $(RAP_BIN_DIR); fi ; \ if $(TEST) -f $(TARGET_FILE) ; then \ if $(TEST) -f $(RAP_BIN_DIR)/$(TARGET_FILE) ;\ then \ $(MV) $(RAP_BIN_DIR)/$(TARGET_FILE) $(RAP_BIN_DIR)/$(TARGET_FILE).bak ;\ $(CP) $(TARGET_FILE) $(RAP_BIN_DIR) ;\ $(RM) $(RAP_BIN_DIR)/$(TARGET_FILE).bak ;\ else \ $(CP) $(TARGET_FILE) $(RAP_BIN_DIR); \ fi ;\ else \ echo "ERROR: $(TARGET_FILE) does not exist" ;\ fi ;\ fi install_copyright: if $(TEST) -f copyright_notice.txt ; then \ if $(TEST) -d $(RAP_COPYRIGHT_DIR); then :; else \ $(MKDIR) $(RAP_COPYRIGHT_DIR); fi ;\ $(CP) copyright_notice.txt $(RAP_COPYRIGHT_DIR)/$(TARGET_FILE)_copyright_notice.txt ;\ fi add2readme: if $(TEST) -f $(TARGET_FILE) ; then \ echo "$(TARGET_FILE) -- source: `$(PWD)`, `$(DATE)`" >> $(RAP_BIN_DIR)/README.src_dir_info ;\ fi clean: $(RM) core a.out $(RM) *.i *.o *.ln *.class *~ *.mod clean_bin: $(RM) $(TARGET_FILE) clean_insure: $(RM) tca.map tca.log .inslog _*.out clean_all: clean clean_bin clean_insure lintall: $(RM) *.ln $(MAKE) lint lint: lhcheck lcheck copyright: copyright_remove $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) $(HDRS) copyright_prepend $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) $(HDRS) rcs_keys: rcs_keys_remove $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) $(HDRS) rcs_keys_prepend $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) $(HDRS) tags: etags -t $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) $(HDRS) Makefile depend_generic: makedepend -Y $(INCLUDES) -- $(CFLAGS) -- $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) clean_depend: makedepend cppcheck: if $(TEST) -d $(LOC_INC_DIR) ; then \ CppRuleCheck $(SYS_CPPCHECKFLAGS2) $(CPPCHECKFLAGS) $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) *.h *.hh ;\ else \ CppRuleCheck $(CPPCHECKFLAGS) $(SRCS) $(C_SRCS) $(CPPC_SRCS) $(CPP_SRCS) *.h *.hh ;\ fi # # Include the suffixes # include $(RAP_MAKE_INC_DIR)/rap_make_suffixes