# +-======-+ # Copyright (c) 2003-2007 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 # # +-======-+ # # Makefile for ESMA components. # # REVISION HISTORY: # # 20oct2004 da Silva First ESMA version. # # Make sure ESMADIR is defined # ---------------------------- ifndef ESMADIR ESMADIR := $(PWD)/../.. endif THIS := $(shell basename `pwd`) # Compilation rules, flags, etc # ----------------------------- include $(ESMADIR)/Config/ESMA_base.mk # Generic stuff include $(ESMADIR)/Config/ESMA_arch.mk # System dependencies include $(ESMADIR)/Config/GMAO_base.mk include Arch.mk # --------------------- # Standard ESMA Targets # --------------------- esma_help : @echo "Standard ESMA targets:" @echo "% make esma_install (builds and install under ESMADIR)" @echo "% make esma_clean (removes deliverables: *.[aox], etc)" @echo "% make esma_distclean (leaves in the same state as cvs co)" @echo "% make esma_doc (generates PDF, installs under ESMADIR)" @echo "% make esma_help (this message)" @echo "Environment:" @echo " ESMADIR = $(ESMADIR)" @echo " BASEDIR = $(BASEDIR)" @echo " ARCH = $(ARCH)" @echo " SITE = $(SITE) " @echo " THIS = $(THIS) " # -------------------------------- # Recurse Make in Sub-directories # -------------------------------- SUBDIRS = r4 r8 TARGETS = esma_install esma_clean esma_distclean esma_doc \ help install doc PY_MODS = gfio.py PY_EXTS = GFIO_.$(F2PYEXT) $(TARGETS): $(PYTHON_INSTALL) @ t=$@; argv="$(SUBDIRS)" ;\ for d in $$argv; do \ ( $(MKDIR) $$d ;\ $(MAKE) -C $$d -f ../GNUmakefile_r4r8 -e $$t NTHIS=$(THIS) RN=$$d ) \ done local_esma_install local_install: $(LIB) $(PYTHON_INSTALL) @echo No local install in here # -------------------- # User Defined Targets # -------------------- r4_install: $(MKDIR) r4 echo Making install for r4 in $(PWD) $(MAKE) -C r4 -f ../GNUmakefile_r4r8 -e install NTHIS=$(THIS) RN=r4 r8_install: $(MKDIR) r8 echo Making install for r8 in $(PWD) $(MAKE) -C r8 -f ../GNUmakefile_r4r8 -e install NTHIS=$(THIS) RN=r8 dist: $(MAKE) distclean ( cd .. ;\ $(TAR) cvf evac-`date '+%d%b%Y'`.tar src ;\ $(GZIP) evac-`date '+%d%b%Y'`.tar ) clean: -$(RM) *~ *.[aox] *.mod *.pyf $(MAKE) esma_clean distclean: -$(RM) -r *~ *.[aoxd] *.mod r4 r8 *.pyf $(MAKE) esma_distclean binclean: -$(RM) -r $(ESMADIR)/Config -$(RM) -r $(ESMADIR)/$(ARCH) realclean: $(MAKE) distclean $(MAKE) binclean test: $(MAKE) -C r4 -f ../GNUmakefile_r4r8 -e test NTHIS=$(THIS) RN=r4 $(MAKE) -C r8 -f ../GNUmakefile_r4r8 -e test NTHIS=$(THIS) RN=r8 # -------------------- # Python # -------------------- python: $(PY_EXTS) GFIO_.$(F2PYEXT): GFIO_py.F90 r4_install $(F2PY) -c -m GFIO_ $(M). $(M)$(INC_SDF) \ GFIO_py.F90 r4/libGMAO_gfio_r4.a $(LIB_SDF) $(LIB_SYS) \ only: gfioopen gfiocreate gfiodiminquire gfioinquire\ gfiogetvar gfiogetvart gfioputvar gfiogetbegdatetime\ gfiointerpxy gfioclose : python-install python_install: $(PY_EXTS) $(MKDIR) $(ESMALIB)/Python $(CP) -pr $(PY_MODS) $(PY_EXTS) $(ESMALIB)/Python #............................................................... -include $(ESMADIR)/Config/ESMA_post.mk # ESMA additional targets, macros #.