include ../../conf/configure.nems MAKEFILE = makefile UTILINCS = -I../share -I../io -Ilibutil ARCH=$(shell uname -s) GOCARTINCS = -I../../chem/gocart/${ARCH}/include/Chem_Base \ -I../../chem/gocart/${ARCH}/include/GMAO_mpeu \ -I../../chem/gocart/${ARCH}/include/GEOSchem_GridComp LIBRARY = libgfs.a DIR_LIBUTIL = libutil DIR_DYN = dyn DIR_PHY = phys GCINCS = -I$(DIR_DYN) -I$(DIR_PHY) #OPTS = $(FFLAGS_GFS) $(R8) -O3 $(UTILINCS) $(GCINCS) -g -traceback #OPTSGOC = $(FFLAGS_GFS) $(R8) -O3 $(UTILINCS) $(GCINCS) $(GOCARTINCS) -g -traceback OPTS = $(FFLAGS_GFS) $(R8) $(UTILINCS) $(GCINCS) OPTSGOC = $(FFLAGS_GFS) $(R8) $(UTILINCS) $(GCINCS) $(GOCARTINCS) FFLAG90 = $(OPTS) $(FREE) FFLAG90GOC = $(OPTSGOC) $(FREE) OBJS = module_GFS_CORE_SETUP.o module_GFS_INTERNAL_STATE.o \ module_GFS_INTEGRATE.o module_GFS_GRID_COMP.o OBJSGOC = module_GOCART_ROUTINES.o OBJSGOC_STUB = module_GOCART_ROUTINES_stub.o MODULES_STUB = module_GFS_GRID_COMP_stub.o ifeq ($(GOCART_MODE),full) DEPEND_FILES = ${OBJS:.o=.F90} ${OBTSGOC:.o=.F90} else DEPEND_FILES = ${OBJS:.o=.F90} ${OBTSGOC_STUB:.o=.F90} endif all default: depend cd $(DIR_LIBUTIL) && gmake gocart_stub && cd .. cd $(DIR_DYN) && gmake && cd .. cd $(DIR_PHY) && gmake && cd .. @gmake -f makefile $(LIBRARY) $(LIBRARY): $(OBJSGOC_stub) $(OBJS) $(AR) $(ARFLAGS) $@ $(OBJSGOC_stub) $(OBJS) stub: $(MODULES_STUB) $(AR) $(ARFLAGS) $(LIBRARY) $(MODULES_STUB) gocart_full: gfs_gocart_full_libs $(OBJSGOC) $(OBJS) $(AR) $(ARFLAGS) $(LIBRARY) $(OBJSGOC) $(OBJS) gfs_gocart_full_libs: cd $(DIR_LIBUTIL) && gmake gocart_full && cd .. cd $(DIR_DYN) && gmake gocart_full && cd .. cd $(DIR_PHY) && gmake && cd .. gocart_stub: gfs_gocart_stub_libs $(OBJSGOC_STUB) $(OBJS) $(AR) $(ARFLAGS) $(LIBRARY) $(OBJSGOC_STUB) $(OBJS) gfs_gocart_stub_libs: cd $(DIR_LIBUTIL) && gmake gocart_stub && cd .. cd $(DIR_DYN) && gmake && cd .. cd $(DIR_PHY) && gmake && cd .. $(OBJS): %.o: %.f90 $(FC) $(FFLAG90) -c $*.f90 $(OBJSGOC_STUB): %.o: %.f90 $(FC) $(FFLAG90) -c $*.f90 $(OBJSGOC): %.o: %.f90 $(FC) $(FFLAG90GOC) -c $*.f90 $(MODULES_STUB): %.o: %.f90 $(FC) $(FFLAGS_GFS) $(UTILINCS) -c $*.f90 clean: cd $(DIR_LIBUTIL) && gmake clean && cd .. cd $(DIR_DYN) && gmake clean && cd .. cd $(DIR_PHY) && gmake clean && cd .. $(RM) -f $(LIBRARY) *.f90 *.o *.mod *.lst lm map depend MKDEPENDS = ../../../exe/mkDepends.pl include ../../conf/make.rules include depend