#- Creation des elements relatifs a AGRIF (lib, config) #--------------------------------------------------------------------- SHELL = /bin/sh #--------------------------------------------------------------------- DIR_OBJS = AGRIF_OBJS DIR_FILES = AGRIF_FILES DIR_YOURFILES = AGRIF_YOURFILES FILENAMES = modprocs modtypes modseq modmask modinterpbasic modupdatebasic modgrids \ modarrays modlinktomodel modmpp modinit moduserfunctions moduservariables \ modupdate modinitvars modsauv modcluster modinterp modbc moduserinterpolation \ modbcfunction moduserhierarchy moduserupdate modutil OBJS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(FILENAMES))) FILES=$(addsuffix .F90,$(addprefix $(DIR_FILES)/,$(FILENAMES))) SOURCEFILES = FILES FORTRANCOMPILER = $(FC) all: conv libagrif.a @echo @echo =================================================== @echo AGRIF is OK @echo =================================================== @echo .PHONY: conv conv: @echo @echo =================================================== @echo Compile conv... @echo =================================================== $(MAKE) -C LIB conv mv -f LIB/conv . libagrif.a : prep_lib $(OBJS) $(AR) -r $@ $(OBJS) ranlib $@ prep_lib: @echo @echo =================================================== @echo Compile Agrif library... @echo =================================================== mkdir -p $(DIR_YOURFILES) mkdir -p $(DIR_OBJS) $(DIR_OBJS)/%.o: $(DIR_FILES)/%.F90 $(RM) $(DIR_YOURFILES)/$(*F).F90 $(CPP) $(CPPFLAGS) $(DIR_FILES)/$(*F).F90 > $(DIR_YOURFILES)/$(*F).F90 $(FC) $(FFLAGS) -I.. -c $(DIR_YOURFILES)/$(*F).F90 -o $(DIR_OBJS)/$(*F).o $(DIR_OBJS)/modutil.o agrif_util.mod: $(DIR_OBJS)/moduserhierarchy.o \ $(DIR_OBJS)/moduservariables.o \ $(DIR_OBJS)/moduserfunctions.o \ $(DIR_OBJS)/moduserinterpolation.o \ $(DIR_OBJS)/moduserupdate.o $(DIR_OBJS)/moduserupdate.o agrif_user_update.mod: $(DIR_OBJS)/modupdate.o \ $(DIR_OBJS)/modsauv.o $(DIR_OBJS)/moduserhierarchy.o agrif_user_hierarchy.mod: $(DIR_OBJS)/modcluster.o \ $(DIR_OBJS)/modinit.o \ $(DIR_OBJS)/moduserfunctions.o $(DIR_OBJS)/modbcfunction.o agrif_bcfunction.mod: $(DIR_OBJS)/moduservariables.o $(DIR_OBJS)/moduserinterpolation.o agrif_user_interpolation.mod: $(DIR_OBJS)/modbc.o \ $(DIR_OBJS)/moduservariables.o $(DIR_OBJS)/modbc.o agrif_boundary.mod: $(DIR_OBJS)/modinterp.o \ $(DIR_OBJS)/moduserfunctions.o $(DIR_OBJS)/modinterp.o agrif_interpolation.mod: $(DIR_OBJS)/modinit.o \ $(DIR_OBJS)/modarrays.o \ $(DIR_OBJS)/modinterpbasic.o \ $(DIR_OBJS)/moduserfunctions.o \ $(DIR_OBJS)/modmask.o $(DIR_OBJS)/modcluster.o agrif_clustering.mod: $(DIR_OBJS)/modinitvars.o \ $(DIR_OBJS)/modsauv.o \ $(DIR_OBJS)/modinit.o $(DIR_OBJS)/modsauv.o agrif_save.mod: $(DIR_OBJS)/modtypes.o \ $(DIR_OBJS)/modlinktomodel.o \ $(DIR_OBJS)/modarrays.o \ $(DIR_OBJS)/moduservariables.o $(DIR_OBJS)/modinitvars.o agrif_init_vars.mod: $(DIR_OBJS)/modlinktomodel.o \ $(DIR_OBJS)/modgrids.o \ $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modupdate.o agrif_update.mod: $(DIR_OBJS)/modupdatebasic.o \ $(DIR_OBJS)/modarrays.o \ $(DIR_OBJS)/moduserfunctions.o \ $(DIR_OBJS)/modinit.o \ $(DIR_OBJS)/modmask.o $(DIR_OBJS)/moduservariables.o agrif_user_variables.mod: $(DIR_OBJS)/moduserfunctions.o $(DIR_OBJS)/moduserfunctions.o agrif_user_functions.mod: $(DIR_OBJS)/modinit.o \ $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modinit.o agrif_init.mod: $(DIR_OBJS)/modlinktomodel.o \ $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modmpp.o $(DIR_OBJS)/modmpp.o agrif_mpp.mod: $(DIR_OBJS)/modarrays.o \ $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modlinktomodel.o agrif_link.mod: $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modarrays.o agrif_arrays.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modgrids.o agrif_grids.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modupdatebasic.o agrif_updatebasic.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modinterpbasic.o agrif_interpbasic.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modmask.o agrif_mask.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modseq.o agrif_seq.mod: $(DIR_OBJS)/modprocs.o $(DIR_OBJS)/modinit.o $(DIR_OBJS)/modtypes.o agrif_types.mod: $(DIR_OBJS)/modprocs.o $(DIR_OBJS)/modprocs.o agrif_procs.mod: $(DIR_FILES)/modprocs.F90 .PHONY: doc doc: (cd doc ; doxygen Doxyfile ) doc_user: (cd Userdoc ; doxygen Doxyfile_user ) clean: clean-conv $(RM) libagrif.a *.mod $(DIR_OBJS)/* $(DIR_YOURFILES)/* clean-all: clean $(MAKE) -C LIB clean-all clean-conv: $(MAKE) -C LIB clean $(RM) conv