# +-======-+ # 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 # # +-======-+ #------------------------------------------------------------------------- # NASA/GSFC, Data Assimilation Office, Code 910.3, GEOS/DAS ! #------------------------------------------------------------------------- # # !ROUTINE: Makefile # # !DESCRIPTION: # # Makefile for GFIO Library and documentation. # You must enter # # ./configure # # before attempting to make anything in this Makefile. # # !SEE ALSO: # # configure # Makefile.conf.* # # # !REVISION HISTORY: # # 14Mar02 Sawyer Adapted previous Makefile for FVDAS # 22May03 Zaslavsky Added 'distlean'. # #----------------------------------------------------------------------- # # System Dependent Parameters # --------------------------- COREROOT = ../../.. COREBIN = $(COREROOT)/bin CORELIB = $(COREROOT)/lib COREINC = $(COREROOT)/include COREETC = $(COREROOT)/etc CP = /bin/cp -p RANLIB = touch MKDIR = mkdir -p PILGRIMLIB = libpilgrim.a SEQSRCS = debugutilitiesmodule.F90 \ decompmodule.F90 ghostmodule.F90 PUMSRCS = mod_comm.F90 parutilitiesmodule.F90 \ redistributemodule.F90 puminterfaces.F90 CSRCS = memstuff.c mp_assign_to_cpu.c SEQOBJS = ${SEQSRCS:.F90=.o} PUMOBJS = ${PUMSRCS:.F90=.o} COBJS = ${CSRCS:.c=.o} OPTIONS = $(_IMPI) .SUFFIXES: .F90 .c .o # ------------------------------------------------------------------- include Makefile.conf All: mpi all: mpi mpi: library parutil mlp: library mlpparutil tests: mpi (cd unit_testers; make tests) library: $(SEQOBJS) -@${RM} -f $(PILGRIMLIB) $(AR) $(PILGRIMLIB) $(SEQOBJS) parutil: $(PUMOBJS) $(AR) $(PILGRIMLIB) $(PUMOBJS) mlpparutil: $(COBJS) $(FC) $(FFLAGS) $(DFLAGS) $(OPTIONS) -DUSE_MLP -c $(PUMSRCS) $(AR) $(PILGRIMLIB) $(PUMOBJS) $(COBJS) # Export library (fvDAS specific) # ------------------------------- export: mpi $(MKDIR) $(CORELIB) $(COREINC)/pilgrim $(CP) libpilgrim.a $(CORELIB) $(CP) *.[Mm][Oo][Dd] $(COREINC)/pilgrim $(RANLIB) $(CORELIB)/libpilgrim.a .F90.o: $(FC) $(FFLAGS) $(DFLAGS) $(OPTIONS) -c $< .c.o: ${CC} ${INCLUDE} ${CFLAGS} -DUSE_MLP $(OPTIONS) -c $< clean: -@${RM} -f $(PILGRIMLIB) $(SEQOBJS) $(PUMOBJS) $(COBJS) *~ *.mod *.MOD -@${RM} -rf rii_files libclean: -@${RM} -f $(PILGRIMLIB) spmdclean: -@${RM} -f $(PUMOBJS) distclean: make clean rm -f Makefile.conf