# +-======-+ # 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: # # 21Jun2012 RT/Akella Based on GNUmakefile of mksi # # Make sure ESMADIR is defined # ---------------------------- ifndef ESMADIR ESMADIR := $(PWD)/../../../../../.. endif .PHONY: esma_install local_install # Mark targets without action to avoid default %_install rule # 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 # System dependencies # --------------------- # Standard ESMA Targets # --------------------- THIS = $(shell basename `pwd`) BIN = make_ostia_bcs.x DATA = DIRS = $(ESMAETC) $(ESMABIN) # My default make-target is not "install" for local convenience. my-default: make_ostia_bcs esma_install install: install_bin install_etc local_install: install_bin install_etc install_bin: $(ESMABIN) $(BIN) $(CP) -p $(BIN) $(ESMABIN)/ esma_clean clean: $(RM) *~ *.[aoxd] *.[Mm][Oo][Dd] esma_distclean distclean: $(RM) *~ *.[aoxd] *.[Mm][Oo][Dd] esma_doc doc: @echo "Target $@ not implemented yet in `pwd`" esma_help 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 " FREAL = $(FREAL)" # -------------------- # User Defined Targets # -------------------- MOD_DIRS = . $(INC_NETCDF) USER_FINCS = $(foreach dir,$(MOD_DIRS), $(I)$(dir)) USER_FMODS = $(foreach dir,$(MOD_DIRS),$(M)$(dir)) vpath % $(MOD_DIRS) SRCS_OSTIA := proc_OSTIA.F90 \ read_ncFile.F90 \ fillUp_Land.F90 \ bin2bin.F90 SRCS := $(SRCS_OSTIA) OBJS := $(addsuffix .o, $(basename $(SRCS))) DEPS := $(addsuffix .d, $(basename $(SRCS))) make_ostia_bcs.x: $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIB_NETCDF) list: @ echo $(SRCS) make_ostia_bcs: FOPT = FREAL = $(FREAL4) FPE = USER_FDEFS = $(_D) USER_FFLAGS = $(BIG_ENDIAN) $(BYTERECLEN) USER_FFLAGS = USER_CFLAGS = # Hack to prevent remaking dep files during cleaning # -------------------------------------------------- ifneq ($(findstring clean,$(MAKECMDGOALS)),clean) -include $(DEPS) endif -include $(ESMADIR)/Config/ESMA_post.mk # ESMA additional targets, macros #.