New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Makefile in vendors/AGRIF/CMEMS_2020 – NEMO

source: vendors/AGRIF/CMEMS_2020/Makefile @ 10670

Last change on this file since 10670 was 10089, checked in by rblod, 6 years ago

update conv

File size: 4.7 KB
Line 
1#- Creation des elements relatifs a AGRIF (lib, config)
2#---------------------------------------------------------------------
3SHELL = /bin/sh
4#---------------------------------------------------------------------
5
6DIR_OBJS      = AGRIF_OBJS
7DIR_FILES     = AGRIF_FILES
8DIR_YOURFILES = AGRIF_YOURFILES
9
10FILENAMES = modprocs modtypes modseq modmask modinterpbasic modupdatebasic modgrids \
11         modarrays modlinktomodel modmpp modinit moduserfunctions moduservariables \
12         modupdate modinitvars modsauv modcluster modinterp modbc  moduserinterpolation \
13         modbcfunction moduserhierarchy moduserupdate modutil
14               
15           
16OBJS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(FILENAMES)))
17FILES=$(addsuffix .F90,$(addprefix $(DIR_FILES)/,$(FILENAMES)))
18
19SOURCEFILES = FILES
20FORTRANCOMPILER = $(FC)
21
22
23
24
25all: conv libagrif.a
26   @echo
27   @echo ===================================================
28   @echo   AGRIF is OK
29   @echo ===================================================
30   @echo
31
32.PHONY: conv
33
34conv: 
35   @echo
36   @echo ===================================================
37   @echo   Compile conv...
38   @echo ===================================================
39   $(MAKE) -C LIB conv
40   mv -f LIB/conv .
41   
42libagrif.a : prep_lib $(OBJS)
43   $(AR) -r $@ $(OBJS)
44   ranlib $@
45
46prep_lib:
47   @echo
48   @echo ===================================================
49   @echo   Compile Agrif library...
50   @echo ===================================================
51   mkdir -p $(DIR_YOURFILES)
52   mkdir -p $(DIR_OBJS)
53
54$(DIR_OBJS)/%.o: $(DIR_FILES)/%.F90
55   $(RM) $(DIR_YOURFILES)/$(*F).F90
56   $(CPP) $(CPPFLAGS) $(DIR_FILES)/$(*F).F90 > $(DIR_YOURFILES)/$(*F).F90
57   $(FC) $(FFLAGS) -I.. -c $(DIR_YOURFILES)/$(*F).F90 -o $(DIR_OBJS)/$(*F).o
58
59
60$(DIR_OBJS)/modutil.o agrif_util.mod: $(DIR_OBJS)/moduserhierarchy.o \
61                           $(DIR_OBJS)/moduservariables.o \
62                           $(DIR_OBJS)/moduserfunctions.o \
63                           $(DIR_OBJS)/moduserinterpolation.o \
64                           $(DIR_OBJS)/moduserupdate.o
65 
66$(DIR_OBJS)/moduserupdate.o agrif_user_update.mod: $(DIR_OBJS)/modupdate.o \
67                                       $(DIR_OBJS)/modsauv.o
68
69$(DIR_OBJS)/moduserhierarchy.o agrif_user_hierarchy.mod: $(DIR_OBJS)/modcluster.o \
70                                          $(DIR_OBJS)/modinit.o \
71                                          $(DIR_OBJS)/moduserfunctions.o
72
73$(DIR_OBJS)/modbcfunction.o agrif_bcfunction.mod: $(DIR_OBJS)/moduservariables.o
74
75$(DIR_OBJS)/moduserinterpolation.o agrif_user_interpolation.mod: $(DIR_OBJS)/modbc.o \
76                                          $(DIR_OBJS)/moduservariables.o
77
78$(DIR_OBJS)/modbc.o agrif_boundary.mod: $(DIR_OBJS)/modinterp.o \
79                              $(DIR_OBJS)/moduserfunctions.o
80
81$(DIR_OBJS)/modinterp.o agrif_interpolation.mod: $(DIR_OBJS)/modinit.o \
82                                    $(DIR_OBJS)/modarrays.o \
83                                    $(DIR_OBJS)/modinterpbasic.o \
84                                    $(DIR_OBJS)/moduserfunctions.o \
85                                    $(DIR_OBJS)/modmask.o
86
87$(DIR_OBJS)/modcluster.o agrif_clustering.mod: $(DIR_OBJS)/modinitvars.o \
88                        $(DIR_OBJS)/modsauv.o \
89                        $(DIR_OBJS)/modinit.o
90
91$(DIR_OBJS)/modsauv.o agrif_save.mod: $(DIR_OBJS)/modtypes.o \
92                           $(DIR_OBJS)/modlinktomodel.o \
93                           $(DIR_OBJS)/modarrays.o \
94                           $(DIR_OBJS)/moduservariables.o
95
96$(DIR_OBJS)/modinitvars.o agrif_init_vars.mod: $(DIR_OBJS)/modlinktomodel.o \
97                                 $(DIR_OBJS)/modgrids.o \
98                                 $(DIR_OBJS)/modtypes.o
99
100$(DIR_OBJS)/modupdate.o agrif_update.mod: $(DIR_OBJS)/modupdatebasic.o \
101                              $(DIR_OBJS)/modarrays.o \
102                              $(DIR_OBJS)/moduserfunctions.o \
103                              $(DIR_OBJS)/modinit.o \
104                              $(DIR_OBJS)/modmask.o
105
106$(DIR_OBJS)/moduservariables.o agrif_user_variables.mod: $(DIR_OBJS)/moduserfunctions.o
107
108$(DIR_OBJS)/moduserfunctions.o agrif_user_functions.mod: $(DIR_OBJS)/modinit.o \
109                                          $(DIR_OBJS)/modgrids.o
110
111$(DIR_OBJS)/modinit.o agrif_init.mod: $(DIR_OBJS)/modlinktomodel.o \
112            $(DIR_OBJS)/modgrids.o $(DIR_OBJS)/modmpp.o
113
114$(DIR_OBJS)/modmpp.o agrif_mpp.mod: $(DIR_OBJS)/modarrays.o \
115                           $(DIR_OBJS)/modgrids.o
116
117$(DIR_OBJS)/modlinktomodel.o agrif_link.mod: $(DIR_OBJS)/modgrids.o
118
119$(DIR_OBJS)/modarrays.o agrif_arrays.mod: $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modgrids.o
120
121$(DIR_OBJS)/modgrids.o agrif_grids.mod: $(DIR_OBJS)/modtypes.o
122
123$(DIR_OBJS)/modupdatebasic.o agrif_updatebasic.mod: $(DIR_OBJS)/modtypes.o
124
125$(DIR_OBJS)/modinterpbasic.o agrif_interpbasic.mod: $(DIR_OBJS)/modtypes.o
126
127$(DIR_OBJS)/modmask.o agrif_mask.mod: $(DIR_OBJS)/modtypes.o
128
129$(DIR_OBJS)/modseq.o agrif_seq.mod: $(DIR_OBJS)/modprocs.o $(DIR_OBJS)/modinit.o
130
131$(DIR_OBJS)/modtypes.o agrif_types.mod: $(DIR_OBJS)/modprocs.o
132
133$(DIR_OBJS)/modprocs.o agrif_procs.mod: $(DIR_FILES)/modprocs.F90
134
135
136.PHONY: doc
137
138doc:
139   (cd doc ; doxygen Doxyfile )
140
141doc_user:
142   (cd Userdoc ; doxygen Doxyfile_user )
143
144clean: clean-conv
145   $(RM) libagrif.a *.mod $(DIR_OBJS)/* $(DIR_YOURFILES)/*
146
147clean-all: clean
148   $(MAKE) -C LIB clean-all
149
150clean-conv:
151   $(MAKE) -C LIB clean
152   $(RM) conv
Note: See TracBrowser for help on using the repository browser.