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/dev – NEMO

source: vendors/AGRIF/dev/Makefile

Last change on this file was 14107, checked in by nicolasmartin, 3 years ago

Reintegration of dev_r12970_AGRIF_CMEMS to AGRIF/dev

File size: 3.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 modseq modbc modcluster modinit modinitvars modinterp modinterpbasic \
11            modtypes modgrids modbcfunction modutil modcurgridfunctions \
12            modmask modsauv modupdate modmpp \
13            modupdatebasic modlinktomodel modarrays modvariables
14           
15OBJS=$(addsuffix .o,$(addprefix $(DIR_OBJS)/,$(FILENAMES)))
16FILES=$(addsuffix .F90,$(addprefix $(DIR_FILES)/,$(FILENAMES)))
17
18all: conv libagrif.a
19   @echo
20   @echo ===================================================
21   @echo   AGRIF is OK
22   @echo ===================================================
23   @echo
24
25.PHONY: conv
26
27conv: 
28   @echo
29   @echo ===================================================
30   @echo   Compile conv...
31   @echo ===================================================
32   $(MAKE) -C LIB conv
33   #mv -f LIB/conv .
34   
35libagrif.a : prep_lib $(OBJS)
36   $(AR) -r $@ $(OBJS)
37   ranlib $@
38
39prep_lib:
40   @echo
41   @echo ===================================================
42   @echo   Compile Agrif library...
43   @echo ===================================================
44   mkdir -p $(DIR_YOURFILES)
45   mkdir -p $(DIR_OBJS)
46
47$(DIR_OBJS)/%.o : $(DIR_FILES)/%.F90
48   $(RM) $(DIR_YOURFILES)/$(*F).f90
49   $(CPP) $(CPPFLAGS) $(DIR_FILES)/$(*F).F90 > $(DIR_YOURFILES)/$(*F).f90
50   $(FC) $(FFLAGS) -I.. -c $(DIR_YOURFILES)/$(*F).f90 -o $(DIR_OBJS)/$(*F).o
51
52$(DIR_OBJS)/modarrays.o: $(DIR_OBJS)/modgrids.o
53
54$(DIR_OBJS)/modbc.o: $(DIR_OBJS)/modinterp.o
55
56$(DIR_OBJS)/modbcfunction.o: $(DIR_OBJS)/modupdate.o  \
57                      $(DIR_OBJS)/modbc.o       \
58                      $(DIR_OBJS)/modinterp.o   \
59                      $(DIR_OBJS)/modtypes.o
60
61$(DIR_OBJS)/modcluster.o: $(DIR_OBJS)/modtypes.o      \
62                    $(DIR_OBJS)/modlinktomodel.o   \
63                    $(DIR_OBJS)/modsauv.o       \
64                    $(DIR_OBJS)/modinitvars.o   \
65                    $(DIR_OBJS)/modseq.o        \
66                    $(DIR_OBJS)/modcurgridfunctions.o
67
68$(DIR_OBJS)/modcurgridfunctions.o: $(DIR_OBJS)/modinit.o \
69                           $(DIR_OBJS)/modtypes.o
70
71$(DIR_OBJS)/modinit.o: $(DIR_OBJS)/modlinktomodel.o \
72                  $(DIR_OBJS)/modtypes.o \
73                  $(DIR_OBJS)/modmpp.o
74
75$(DIR_OBJS)/modinitvars.o: $(DIR_OBJS)/modlinktomodel.o \
76                     $(DIR_OBJS)/modgrids.o
77
78$(DIR_OBJS)/modinterpbasic.o: $(DIR_OBJS)/modtypes.o
79
80$(DIR_OBJS)/modinterp.o: $(DIR_OBJS)/modcurgridfunctions.o \
81                   $(DIR_OBJS)/modmask.o \
82                   $(DIR_OBJS)/modarrays.o \
83                   $(DIR_OBJS)/modmpp.o \
84                   $(DIR_OBJS)/modinterpbasic.o
85
86$(DIR_OBJS)/modlinktomodel.o: $(DIR_OBJS)/modgrids.o
87
88$(DIR_OBJS)/modgrids.o: $(DIR_OBJS)/modtypes.o
89
90$(DIR_OBJS)/modmask.o: $(DIR_OBJS)/modtypes.o
91
92$(DIR_OBJS)/modsauv.o: $(DIR_OBJS)/modarrays.o $(DIR_OBJS)/modlinktomodel.o \
93                  $(DIR_OBJS)/modtypes.o $(DIR_OBJS)/modvariables.o
94
95$(DIR_OBJS)/modupdatebasic.o: $(DIR_OBJS)/modtypes.o
96
97$(DIR_OBJS)/modupdate.o: $(DIR_OBJS)/modmask.o \
98                   $(DIR_OBJS)/modcurgridfunctions.o \
99                   $(DIR_OBJS)/modarrays.o \
100                   $(DIR_OBJS)/modmpp.o \
101                   $(DIR_OBJS)/modupdatebasic.o
102
103$(DIR_OBJS)/modutil.o:  $(DIR_OBJS)/modtypes.o \
104                  $(DIR_OBJS)/modcurgridfunctions.o \
105                  $(DIR_OBJS)/modlinktomodel.o \
106                  $(DIR_OBJS)/modsauv.o \
107                  $(DIR_OBJS)/modcluster.o \
108                  $(DIR_OBJS)/modseq.o
109
110$(DIR_OBJS)/modmpp.o:   $(DIR_OBJS)/modgrids.o \
111                  $(DIR_OBJS)/modarrays.o
112
113$(DIR_OBJS)/modseq.o:   $(DIR_OBJS)/modinit.o \
114                  $(DIR_OBJS)/modarrays.o \
115                  $(DIR_OBJS)/modprocs.o
116
117.PHONY: doc doc_user
118
119doc:
120   (cd doc ; doxygen Doxyfile )
121   
122doc_user:
123   (cd doc ; doxygen Doxyfile_user )
124
125clean: clean-conv
126   $(RM) libagrif.a *.mod $(DIR_OBJS)/* $(DIR_YOURFILES)/*
127
128clean-all: clean
129   $(MAKE) -C LIB clean-all
130
131clean-conv:
132   $(MAKE) -C LIB clean
133   $(RM) conv
Note: See TracBrowser for help on using the repository browser.