SHELL = /bin/bash MPI = NO include make.inc PROGS = create_coordinate SFMAKEDEPEND := ./sfmakedepend DIR_LIB=lib DIR_FILES=src DIR_PPSRC=NEMOFILES DIR_PPSRC_2=ppsrc DIR_DOC=doc DIR_OBJS=obj DIR_LIB=lib FILENAMES =$(notdir $(basename $(wildcard src/*.F90))) $(notdir $(basename $(wildcard src/*.F))) $(notdir $(basename $(wildcard src/*.c))) $(notdir $(basename $(wildcard src/*.f))) $(notdir $(basename $(wildcard src/*.f90))) FILES=src/* OBJS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(FILENAMES))) OBJS := $(filter-out obj/agrif2model.o, $(OBJS)) PROG=create_coordinate all: depend conv prepagrif AGRIF_LIB $(OBJS) $(PROGS) @echo @echo =================================================== @echo Nesting is ok @echo =================================================== @echo create_coordinate: $(DIR_LIB)/libnesting.a $(DIR_PPSRC)/create_coordinate.f90 $(FC) $(LINKFLAGS) $(FFLAGS) -o create_coordinate -L$(DIR_LIB) -lnesting $(LIBS) -I$(DIR_OBJS) $(FFLAGS_SPEC) -I../../ext/AGRIF -L../../ext/AGRIF -lagrif prepagrif: @echo @echo =================================================== @echo Create working directories for AGRIF ... @echo =================================================== mkdir -p obj mkdir -p $(DIR_PPSRC_2) mkdir -p $(DIR_LIB) mkdir -p $(DIR_OBJS) mkdir -p $(DIR_PPSRC) mkdir -p $(DIR_PPSRC)/AGRIF_MODELFILES mkdir -p $(DIR_PPSRC)/AGRIF_INC \cp ../../ext/AGRIF/LIB/conv $(DIR_PPSRC) \cp ../../ext/AGRIF/agrif_oce.in $(DIR_PPSRC) @echo conv: $(MAKE) -C ../../ext/AGRIF/LIB AGRIF_LIB: $(MAKE) -C ../../ext/AGRIF FC=$(FC) CPP=$(CPP) FFLAGS="$(FFLAGS)" $(DIR_LIB)/libnesting.a: $(OBJS) $(DIR_OBJS)/agrif2model.o @echo @echo =================================================== @echo Compile Nesting library... @echo =================================================== $(AR) -r $@ $(OBJS) $(DIR_OBJS)/agrif2model.o ranlib $@ @echo $(DIR_OBJS)/agrif2model.o: $(DIR_FILES)/agrif2model.F90 Makefile MODEL.CPP $(CPP) -I$(DIR_PPSRC)/AGRIF_INC -include MODEL.CPP $(CPPFLAGS) $(DIR_FILES)/$(*F).F90 > $(DIR_PPSRC_2)/$(*F).f90 $(FC) $(FFLAGS) -c $(DIR_PPSRC_2)/$(*F).f90 -o $(DIR_OBJS)/$(*F).o -I../../ext/AGRIF -I$(DIR_OBJS) $(DIR_OBJS)/%.o: $(DIR_FILES)/%.F90 Makefile MODEL.CPP $(CPP) -include MODEL.CPP $(CPPFLAGS) $(DIR_FILES)/$(*F).F90 > $(DIR_PPSRC)/$(*F).f90 @(cd NEMOFILES ; ./conv ./agrif_oce.in -rm \ -comdirin ./ -comdirout AGRIF_MODELFILES/. -convfile $(*F).f90) $(CPP) -I$(DIR_PPSRC)/AGRIF_INC -include MODEL.CPP $(CPPFLAGS) $(DIR_PPSRC)/AGRIF_MODELFILES/$(*F).f90 >$(DIR_PPSRC_2)/$(*F).f90 $(FC) $(FFLAGS) -c $(DIR_PPSRC_2)/$(*F).f90 -o $(DIR_OBJS)/$(*F).o -I../../ext/AGRIF -I$(DIR_OBJS) -J$(DIR_OBJS) $(DIR_OBJS)/%.o: $(DIR_FILES)/%.f90 Makefile MODEL.CPP $(CPP) -include MODEL.CPP $(CPPFLAGS) $(DIR_FILES)/$(*F).f90 > $(DIR_PPSRC)/$(*F).f90 @(cd NEMOFILES ; ./conv agrif_oce.in -rm \ -comdirin ./ -comdirout AGRIF_MODELFILES/. -convfile $(*F).f90) $(CPP) -I$(DIR_PPSRC)/AGRIF_INC -include MODEL.CPP $(CPPFLAGS) $(DIR_PPSRC)/AGRIF_MODELFILES/$(*F).f90 >$(DIR_PPSRC_2)/$(*F).f90 $(FC) $(FFLAGS) -c $(DIR_PPSRC_2)/$(*F).f90 -o $(DIR_OBJS)/$(*F).o -I../../ext/AGRIF -I$(DIR_OBJS) -J$(DIR_OBJS) #$(DIR_OBJS)/%.o: $(DIR_FILES)/%.F Makefile MODEL.CPP # $(CPP) -include MODEL.CPP $(CPPFLAGS) $(DIR_FILES)/$(*F).F > $(DIR_PPSRC)/$(*F).f # $(FC) $(FFLAGS) $(F77FLG) -c $(DIR_PPSRC)/$(*F).f -o $(DIR_OBJS)/$(*F).o #$(DIR_OBJS)/%.o: $(DIR_FILES)/%.f90 Makefile MODEL.CPP # $(FC) $(FFLAGS) -c $(DIR_PPSRC)/$(*F).f90 -o $(DIR_OBJS)/$(*F).o #$(DIR_OBJS)/par_oce.o: $(DIR_FILES)/par_oce.f90 # echo $(OBJS) $(DIR_FILES)/ #$(DIR_OBJS)/%.o: $(DIR_FILES)/%.c Makefile MODEL.CPP # $(CC) -c $(CFLAGS) -c $(DIR_FILES)/$(*F).c -o $(DIR_OBJS)/$(*F).o #-------------------------------------------------------------------------- # Target to create dependeanies. #-------------------------------------------------------------------------- MakeDepend: $(DIR_FILES) $(SFMAKEDEPEND) --silent --fext=f90 --fext=f --fext=F90 --fext=F --fext=c --file=- --moddir=$(DIR_OBJS) --objdir=$(DIR_OBJS) $(FILES) > MakeDepend depend: $(DIR_FILES) @echo @echo =================================================== @echo Create dependancies for Nesting ... @echo =================================================== $(SFMAKEDEPEND) --fext=f90 --fext=f --silent --fext=F90 --fext=F --fext=c --file=- --moddir=$(DIR_OBJS) --objdir=$(DIR_OBJS) $(FILES) > MakeDepend #ifneq "$(MAKECMDGOALS)" "clean" -include ./MakeDepend #endif #-------------------------------------------------------------------------- # Target to clean #-------------------------------------------------------------------------- clean: @echo @echo =================================================== @echo Clean ... @echo =================================================== $(RM) -rf $(DIR_PPSRC) $(DIR_PPSRC_2) $(DIR_LIB) $(DIR_OBJS) $(PROGS) cleangrif: @echo @echo =================================================== @echo Clean agrif and conv ... @echo =================================================== $(MAKE) clean -C ../../ext/AGRIF/LIB $(MAKE) clean -C ../../ext/AGRIF cleanall: clean cleangrif # DO NOT DELETE THIS LINE - used by make depend