# +-======-+ # Copyright (c) 2003-2018 United States Government as represented by # the Admistrator of the National Aeronautics and Space Administration. # All Rights Reserved. # # THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, # REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN # COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS # REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). # THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN # INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR # REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO USES, REPRODUCES, # DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED # HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE # RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS AGREEMENT. # # Government Agency: National Aeronautics and Space Administration # Government Agency Original Software Designation: GSC-15354-1 # Government Agency Original Software Title: GEOS-5 GCM Modeling Software # User Registration Requested. Please Visit http://opensource.gsfc.nasa.gov # Government Agency Point of Contact for Original Software: # Dale Hithon, SRA Assistant, (301) 286-2691 # # +-======-+ # # Earth System Modeling Applications (ESMA) base makefile fragment. # This fragment customizes ESMF_base.mk for each each architecture. # #-------------------------------------------------------------------------- ################################## # # # Required Environment Variables # # # ################################## ifndef BASEDIR $(error BASEDIR is undefined) endif ifndef ESMADIR $(error ESMADIR is undefined) endif ######################### # # # User defined defaults # # # ######################### # ----------- # FC Defaults # ----------- # The code triggers off ESMA_FC. # The default is ifort for now. ifdef ESMA_FC FC := $(ESMA_FC) endif ifndef ESMA_FC ESMA_FC := ifort endif # ------------- # BOPT Defaults # ------------- ifdef ESMA_DEVEL_BOPT ifeq ($(ESMA_DEVEL_BOPT),Og) BOPT = Og endif ifeq ($(ESMA_DEVEL_BOPT),g) BOPT = g endif endif ################################ # # # Arch Specific Defaults # # # ################################ -include $(ESMACFG)/linux.mk -include $(ESMACFG)/darwin.mk ##################### # # # Compiler Defaults # # # ##################### -include $(ESMACFG)/compiler.mk ###################### # # # MPI Defaults # # # ###################### -include $(ESMACFG)/mpi.mk ############################ # # # Math Library (MKL, BLAS) # # # ############################ -include $(ESMACFG)/math.mk ###################### # # # TAU Profiler # # # ###################### -include $(ESMACFG)/tau.mk ######################### # # # Default Flags Recipes # # # ######################### FULLFC = $(shell which $(FC)) CFLAGS += $(FPIC) fFLAGS += $(FPIC) $(EXTENDED_SOURCE) $(FPE) $(OVERRIDE_LIMITS) $(ALIGNCOM) FFLAGS += $(FPIC) $(EXTENDED_SOURCE) $(FPE) $(OVERRIDE_LIMITS) $(ALIGNCOM) f90FLAGS += $(FPIC) $(FPE) $(OVERRIDE_LIMITS) $(ALIGNCOM) F90FLAGS += $(FPIC) $(FPE) $(OVERRIDE_LIMITS) $(ALIGNCOM) # ------------- # F2PY Defaults # ------------- ifdef ESMA_F2PY F2PY := $(ESMA_F2PY) endif ifdef ESMA_F2PY_FLAGS F2PY_FLAGS += $(ESMA_F2PY_FLAGS) endif