1 | #!/bin/ksh |
---|
2 | #set -xv |
---|
3 | #- |
---|
4 | echo "This script must be run while in the modipsl/modeles/OPA directory" |
---|
5 | cd WORK |
---|
6 | pwd |
---|
7 | #MODEL_LIB=../../../lib/libopa.a |
---|
8 | #MODEL_LIB=`grep MODEL_LIB AA_make.ldef | sed 's/ //g' | sed 's/MODEL_LIB=//g' ` |
---|
9 | liste_cle=$(egrep '^# *if[!( &]*def|^# *elif' *.[Fh] *.[Fh]90 | grep key_ | sed 's/||/\ |
---|
10 | /' | sed 's/\&\&/\ |
---|
11 | /' | sed 's/^.*key_/key_/' | sed 's/ *[) ] *$//' | sort -u ) |
---|
12 | #- |
---|
13 | #- |
---|
14 | #- 3) Ecriture du AA_make |
---|
15 | #- |
---|
16 | #- enteteFait_AA_make |
---|
17 | #- |
---|
18 | cat > tampon <<end |
---|
19 | # |
---|
20 | .SUFFIXES: .f90 .F90 .F |
---|
21 | # |
---|
22 | # Target |
---|
23 | all: diroce \$(EXEC_BIN) |
---|
24 | @cp SRC_FILE_LIST.temp SRC_FILE_LIST |
---|
25 | @echo OPA model is OK |
---|
26 | # cleaning objects, libraries and executables |
---|
27 | clean: |
---|
28 | \$(RM) model.o \$(MODDIR)/oce/*.mod \$(MODEL_LIB) \$(SXMODEL_LIB) \$(EXEC_BIN) |
---|
29 | @echo OPA model \(.o .mod libraries and executables are removed\) |
---|
30 | # dependancies |
---|
31 | diroce: |
---|
32 | @if [ ! -d ../../../lib/oce ] ; then mkdir ../../../lib/oce ; fi |
---|
33 | |
---|
34 | \$(EXEC_BIN) : libioipsl key keyverif src_file_list \$(MODEL_LIB) \$(IOIPSL_LIB) model.o |
---|
35 | \$(F_L) \$(L_X) -o \$(EXEC_BIN) model.o \$(SXMODEL_LIB) \$(OASISMPI2_LIB) \$(IOIPSL_LIB) \$(NCDF_LIB) \$(LIBMPI) \$(LIBMP) |
---|
36 | |
---|
37 | libioipsl : |
---|
38 | (cd ../../IOIPSL/src ; \$(M_K) -f Makefile ) |
---|
39 | |
---|
40 | # main program |
---|
41 | model.o : model.f90 |
---|
42 | @\$(F_C) \$(F_O) -c model.f90 |
---|
43 | |
---|
44 | # if the make script is stopped, one doesn't destroy library |
---|
45 | .PRECIOUS : \$(MODEL_LIB) |
---|
46 | #-Q- sxnec .PRECIOUS : \$(SXMODEL_LIB) |
---|
47 | |
---|
48 | # library dependancies |
---|
49 | \$(MODEL_LIB): \$(LIB_OBJ) |
---|
50 | @echo |
---|
51 | @echo La bibliotheque est a jour |
---|
52 | @echo |
---|
53 | |
---|
54 | # Rules |
---|
55 | .DEFAULTS: |
---|
56 | |
---|
57 | # rules for the .f90 files |
---|
58 | .f90.a : |
---|
59 | @\$(F_C) \$(P_P) \$(F_O) \\ |
---|
60 | #-Q- fjvpp -Z \$*.L \\ |
---|
61 | #-Q- sxnec -R2 \\ |
---|
62 | #-Q- aix -qsource \\ |
---|
63 | \$*.f90 || { mv \$(PREF)\$*.L \$(TMP) ; false ; exit ; } |
---|
64 | #-Q- sxnec @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null |
---|
65 | @\$(A_C) \$(MODEL_LIB) \$*.o > /dev/null |
---|
66 | @\$(RM) \$*.[of] |
---|
67 | @if [ -f \$*.mod ] ; then mv \$*.mod \$(MODDIR)/oce ; fi |
---|
68 | #-Q- aix @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
69 | #-Q- linux @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
70 | @mv \$(PREF)\$*.L \$(TMP) |
---|
71 | |
---|
72 | # rules for the .F90 files |
---|
73 | .F90.a : |
---|
74 | @\$(F_C) \$(P_P) \$(F_O) \\ |
---|
75 | #-Q- fjvpp -Z \$*.L \\ |
---|
76 | #-Q- sxnec -R2 \\ |
---|
77 | #-Q- aix -qsource \\ |
---|
78 | \$*.F90 || { mv \$(PREF)\$*.L \$(TMP) ; false ; exit ; } |
---|
79 | #-Q- sxnec @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null |
---|
80 | @\$(A_C) \$(MODEL_LIB) \$*.o > /dev/null |
---|
81 | @\$(RM) \$*.[of] |
---|
82 | @if [ -f \$*.mod ] ; then mv \$*.mod \$(MODDIR)/oce ; fi |
---|
83 | #-Q- aix @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
84 | #-Q- linux @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
85 | @mv \$(PREF)\$*.L \$(TMP) |
---|
86 | |
---|
87 | # rules for the .F files |
---|
88 | .F.a : |
---|
89 | @\$(F_C) \$(P_P) \$(F_O) \\ |
---|
90 | #-Q- fjvpp -Z \$*.L \\ |
---|
91 | #-Q- sxnec -R2 \\ |
---|
92 | #-Q- aix -qsource \\ |
---|
93 | \$*.F || { mv \$(PREF)\$*.L \$(TMP) ; false ; exit ; } |
---|
94 | #-Q- sxnec @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null |
---|
95 | @\$(A_C) \$(MODEL_LIB) \$*.o > /dev/null |
---|
96 | @\$(RM) \$*.[of] |
---|
97 | @if [ -f \$*.mod ] ; then mv \$*.mod \$(MODDIR)/oce ; fi |
---|
98 | #-Q- aix @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
99 | #-Q- linux @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
100 | @mv \$(PREF)\$*.L \$(TMP) |
---|
101 | |
---|
102 | # rules for the library from the .f files |
---|
103 | .f.a : |
---|
104 | @\$(F_C) \$(F_O) \\ |
---|
105 | #-Q- fjvpp -Z \$*.L \\ |
---|
106 | #-Q- sxnec -R2 \\ |
---|
107 | #-Q- aix -qsource \\ |
---|
108 | \$*.f|| { mv \$*.L \$(TMP) ; false ; exit ; } |
---|
109 | #-Q- sxnec @\$(A_X) \$(SXMODEL_LIB) \$*.o > /dev/null |
---|
110 | @\$(A_C) \$(MODEL_LIB) \$*.o > /dev/null |
---|
111 | @\$(RM) -f \$*.o |
---|
112 | #-Q- aix @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
113 | #-Q- linux @mv \$(PREF)\$*.lst \$(PREF)\$*.L |
---|
114 | @mv \$*.L \$(TMP) |
---|
115 | # |
---|
116 | end |
---|
117 | #- |
---|
118 | #- dependances |
---|
119 | #- |
---|
120 | exec 1> AA_make |
---|
121 | MAIN="model" |
---|
122 | echo '# $Header$' |
---|
123 | echo '# some variables' |
---|
124 | echo 'TMP = ../../../tmp' |
---|
125 | echo 'L_X = $(L_O) $(L_C) -ftrace' |
---|
126 | echo '#-Q- sxnec # Compiler options for the ORCA model - std' |
---|
127 | echo '#-Q- sxnec F_O = -dw -Wf\"-A idbl4\" -sx5 -ftrace -C vopt -Wf"-init stack=nan" -Wl"-f nan" -Wf"-P nh" -Wf,-pvctl noassume loopcnt=10000 -L transform -I $(MODDIR) -I $(MODDIR)/oce' |
---|
128 | |
---|
129 | echo '#-Q- linux # Compiler options for the ORCA model' |
---|
130 | echo '#-Q- linux F_O = -Mlist -O2 -byteswapio -r8 -module $(MODDIR)' |
---|
131 | echo '#-Q- aix # Compiler options for the ORCA model (aix version)' |
---|
132 | echo '#-Q- aix F_O = -qrealsize=8 -qsave -qsuffix=f=f90 -qsuffix=cpp=F90 -qsource -I$(MODDIR)/oce -I $(MODDIR) -I $(IOIPSL_MOD) -q64 -O4 -qlargepage -qmaxmem=-1 -brename:.flush,.flush_ -brename:.mpi_send,.mpi_bsend' |
---|
133 | echo '#-Q- aix L_X = $(L_O) $(L_C) ' |
---|
134 | |
---|
135 | echo 'PREF=' |
---|
136 | echo '#-Q- sxnec PREF=i.' |
---|
137 | echo '' |
---|
138 | # Write the cpp key list with one key by line |
---|
139 | echo 'KEY_LIST = \c' |
---|
140 | for i in ${liste_cle} |
---|
141 | do |
---|
142 | echo "\\" |
---|
143 | echo " $i \c" |
---|
144 | done |
---|
145 | |
---|
146 | echo '' |
---|
147 | echo '# .o file list in the library' |
---|
148 | echo 'LIB_OBJ = \c' |
---|
149 | # |
---|
150 | # allons chercher tous les .f du repertoire courant |
---|
151 | # construction de la liste des objets LIB_OBJ |
---|
152 | |
---|
153 | for i in `ls *.f` |
---|
154 | do |
---|
155 | bn=`basename $i .f` |
---|
156 | if [ "${bn}" != "${MAIN}" ] |
---|
157 | then |
---|
158 | echo "\\" |
---|
159 | echo " \$(MODEL_LIB)($bn.o)\c" |
---|
160 | fi |
---|
161 | done |
---|
162 | |
---|
163 | # allons chercher tous les .f90 du repertoire courant |
---|
164 | # construction de la liste des objets LIB_OBJ |
---|
165 | # one dependancy by line |
---|
166 | for i in `ls *.f90` |
---|
167 | do |
---|
168 | bn=`basename $i .f90` |
---|
169 | if [ "${bn}" != "${MAIN}" ] |
---|
170 | then |
---|
171 | echo "\\" |
---|
172 | echo " \$(MODEL_LIB)($bn.o)\c" |
---|
173 | fi |
---|
174 | done |
---|
175 | |
---|
176 | # allons chercher tous les .F90 du repertoire courant |
---|
177 | # construction de la liste des objets LIB_OBJ |
---|
178 | |
---|
179 | for i in `ls *.F90` |
---|
180 | do |
---|
181 | bn=`basename $i .F90` |
---|
182 | if [ "${bn}" != "${MAIN}" ] |
---|
183 | then |
---|
184 | echo "\\" |
---|
185 | echo " \$(MODEL_LIB)($bn.o)\c" |
---|
186 | fi |
---|
187 | done |
---|
188 | |
---|
189 | # allons chercher tous les .F du repertoire courant |
---|
190 | # construction de la liste des objets LIB_OBJ |
---|
191 | |
---|
192 | for i in `ls *.F` |
---|
193 | do |
---|
194 | bn=`basename $i .F` |
---|
195 | if [ "${bn}" != "${MAIN}" ] |
---|
196 | then |
---|
197 | echo "\\" |
---|
198 | echo " \$(MODEL_LIB)($bn.o)\c" |
---|
199 | fi |
---|
200 | done |
---|
201 | |
---|
202 | echo "" |
---|
203 | |
---|
204 | cat tampon |
---|
205 | rm tampon |
---|
206 | |
---|
207 | # |
---|
208 | for fic in `ls *.f90 *.F90 *.F ` |
---|
209 | do |
---|
210 | if [ "${fic}" != "${MAIN}.[Ff]" ] |
---|
211 | then |
---|
212 | i=0 |
---|
213 | j=0 |
---|
214 | dep="" |
---|
215 | inc="" |
---|
216 | inc2="" |
---|
217 | inc3="" |
---|
218 | luse0="" |
---|
219 | luse1="" |
---|
220 | luse2="" |
---|
221 | luse3="" |
---|
222 | # on cherche les includes type modele de glace LLN |
---|
223 | for inc in `sed -n 's/^[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` |
---|
224 | do |
---|
225 | dep="$dep\n$inc" |
---|
226 | done |
---|
227 | |
---|
228 | # on cherche les includes (et les includes des includes et ainsi de suite pour 3 niveaux max) |
---|
229 | for inc in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` |
---|
230 | do |
---|
231 | j=1 |
---|
232 | dep="$dep\n$inc" |
---|
233 | for inc2 in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc | sort -u` |
---|
234 | do |
---|
235 | dep="$dep\n$inc2" |
---|
236 | # on cherche les include dans le fichier deja include (3eme niveau! balaise!) |
---|
237 | for inc3 in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc2 | sort -u` |
---|
238 | do |
---|
239 | dep="$dep\n$inc3" |
---|
240 | done |
---|
241 | done |
---|
242 | done |
---|
243 | |
---|
244 | # on cherche les USE dans les include |
---|
245 | for inc in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $fic | sort -u` |
---|
246 | do |
---|
247 | for fuse0 in `sed -n 's/^[ ]*[uU][sS][eE] [ ]*\([^!,;]*\).*/\1/p' $inc | sort -u` |
---|
248 | do |
---|
249 | if [ $fuse0 != "ioipsl" ] |
---|
250 | then |
---|
251 | lfuse0=$fuse0.f90 |
---|
252 | [ -f $fuse0.F90 ] && lfuse0=$fuse0.F90 |
---|
253 | luse0="$luse0\n$lfuse0\n\$(MODEL_LIB)($fuse0.o)" |
---|
254 | fi |
---|
255 | done |
---|
256 | |
---|
257 | # on cherche aussi les USE dans les include des include on les ajoute a luse0 |
---|
258 | |
---|
259 | for inc2 in `sed -n 's/^#[ ]*[iI][nN][cC][lL][uU][dD][eE][ ]*\(['\''"]\)\([^'\''"]*\)\1.*/\2/p' $inc | sort -u` |
---|
260 | do |
---|
261 | for fuse0 in `sed -n 's/^[ ]*[uU][sS][eE] [ ]*\([^!,;]*\).*/\1/p' $inc2 | sort -u` |
---|
262 | do |
---|
263 | if [ $fuse0 != "ioipsl" ] |
---|
264 | then |
---|
265 | lfuse0=$fuse0.f90 |
---|
266 | [ -f $fuse0.F90 ] && lfuse0=$fuse0.F90 |
---|
267 | luse0="$luse0\n$lfuse0\n\$(MODEL_LIB)($fuse0.o)" |
---|
268 | fi |
---|
269 | done |
---|
270 | done |
---|
271 | done |
---|
272 | |
---|
273 | # on cherche les USE (et les USE des USE et ainsi de suite pour 3 niveaux max) |
---|
274 | for fuse1 in `sed -n 's/^[ ]*[uU][sS][eE] [ ]*\([^!,;]*\).*/\1/p' $fic | sort -u` |
---|
275 | do |
---|
276 | if [ $fuse1 != "ioipsl" ] |
---|
277 | then |
---|
278 | lfuse1=$fuse1.f90 |
---|
279 | [ -f $fuse1.F90 ] && lfuse1=$fuse1.F90 |
---|
280 | luse1="$luse1\n$lfuse1\n\$(MODEL_LIB)($fuse1.o)" |
---|
281 | for fuse2 in `sed -n 's/^[ ]*[uU][sS][eE] [ ]*\([^!,;]*\).*/\1/p' $lfuse1 | sort -u` |
---|
282 | do |
---|
283 | if [ $fuse2 != "ioipsl" ] |
---|
284 | then |
---|
285 | lfuse2=$fuse2.f90 |
---|
286 | [ -f $fuse2.F90 ] && lfuse2=$fuse2.F90 |
---|
287 | luse2="$luse2\n$lfuse2\n\$(MODEL_LIB)($fuse2.o)" |
---|
288 | # on cherche les USE dans le fichier deja USE (3eme niveau! balaise!) |
---|
289 | for fuse3 in `sed -n 's/^#[ ]*[uU][sS][eE] [ ]*\([^!,;]*\).*/\1/p' $lfuse2 | sort -u` |
---|
290 | do |
---|
291 | if [ $fuse3 != "ioipsl" ] |
---|
292 | then |
---|
293 | luse3="$luse3\n$lfuse3\n\$(MODEL_LIB)($fuse3.o)" |
---|
294 | fi |
---|
295 | done |
---|
296 | fi |
---|
297 | done |
---|
298 | fi |
---|
299 | done |
---|
300 | #- la variable dep contient l'ensemble des dependances mais peut-etre en double ou plus |
---|
301 | #- |
---|
302 | for depele in `echo $luse3 | sort -u` `echo $luse2 | sort -u` `echo $luse1 | sort -u` `echo $luse0 | sort -u` `echo $dep | sort -u` |
---|
303 | do |
---|
304 | [ ${i} = "0" ] && echo "\$(MODEL_LIB)(`echo $fic|awk -F. '{print $1}'`.o) : \c" |
---|
305 | echo "\\" |
---|
306 | echo " $depele \c" |
---|
307 | let i=i+1 # pour signaler le premier |
---|
308 | done |
---|
309 | |
---|
310 | #- |
---|
311 | #- on ajoute la dependance avec la librairie ioipsl si besoin cad si le source contient use ioipsl |
---|
312 | grep -i 'use *ioipsl' ${fic} >/dev/null && ( echo "\\" ; echo " ../../../lib/libioipsl.a \c") |
---|
313 | |
---|
314 | #- on ajoute la dependance avec KEY_CPP si il y a des include cpp |
---|
315 | if [ ${j} != "0" ] |
---|
316 | then |
---|
317 | echo "\\" |
---|
318 | echo " KEY_CPP \c" |
---|
319 | fi |
---|
320 | #- on finit la dependance avec le fichier lui-meme et on ecrit les regles de creation |
---|
321 | if [ ${i} != "0" ] |
---|
322 | then |
---|
323 | echo "\\" |
---|
324 | echo " $fic" |
---|
325 | fi |
---|
326 | fi |
---|
327 | echo $fic done >/dev/tty |
---|
328 | done |
---|
329 | echo '# key changing control' |
---|
330 | echo "key: " |
---|
331 | echo " @echo CHANGEMENT de CLES CPP oui/non ?" |
---|
332 | echo " -@if [ \"\`cat KEY_CPP\`\" != \"\$(P_P)\" ] ; then \\" |
---|
333 | echo " echo CPP options changed ; echo \"\$(P_P)\" > KEY_CPP ; fi " |
---|
334 | #- |
---|
335 | # |
---|
336 | # regle pour verifier les cles |
---|
337 | # EK novembre 2000 |
---|
338 | # adaptation : ED + MAF decembre 2000 |
---|
339 | # |
---|
340 | echo |
---|
341 | echo "keyverif:" |
---|
342 | echo ' @echo VERIFICATION DES CLES' |
---|
343 | echo ' @echo CLES UTILISEES : ' |
---|
344 | echo ' @for v in ` echo $(P_P) | sed -e s/-Wp,-D//g` ; \' |
---|
345 | echo ' do \' |
---|
346 | echo ' echo $$v ;\' |
---|
347 | echo ' w=`echo $$v | cut -c1-3` ; \' |
---|
348 | echo ' if [ $$w = `echo "key"` ] ; then \' |
---|
349 | echo ' r=n ; \' |
---|
350 | echo ' echo " $(KEY_LIST) " | (grep $$v >/dev/null 2>&1) || r=o ; \' |
---|
351 | echo ' if [ $$r != "n" ] ; then \' |
---|
352 | echo ' echo "UNKNOWN KEY" ;\' |
---|
353 | echo ' false ; \' |
---|
354 | echo ' exit ; \' |
---|
355 | echo ' fi \' |
---|
356 | echo ' fi \' |
---|
357 | echo ' done' |
---|
358 | # Checking if the number of routines have been changed |
---|
359 | echo '# Checking the number of routines' |
---|
360 | echo "src_file_list: " |
---|
361 | echo ' @echo CHECKING THE NUMBER AND NAMES OF SOURCE FILES ' |
---|
362 | echo ' @\$(RM) `ls | fgrep -v -f .patron` ' |
---|
363 | echo ' @if [ -d ../OCE_SRC ] ; then \' |
---|
364 | echo ' echo " use OCE_SRC files" ; \' |
---|
365 | echo ' ln -sf ../OCE_SRC/*.[Ffh]90 . ; \' |
---|
366 | echo ' ln -sf ../OCE_SRC/DYN/*.[Ffh]90 . ; \' |
---|
367 | echo ' ln -sf ../OCE_SRC/TRA/*.[Ffh]90 . ; \' |
---|
368 | echo ' ln -sf ../OCE_SRC/TRD/*.[Ffh]90 . ; \' |
---|
369 | echo ' ln -sf ../OCE_SRC/DIA/*.[Ffh]90 . ; \' |
---|
370 | echo ' ln -sf ../OCE_SRC/DOM/*.[Ffh]90 . ; \' |
---|
371 | echo ' ln -sf ../OCE_SRC/OBC/*.[Ffh]90 . ; \' |
---|
372 | echo ' ln -sf ../OCE_SRC/FLO/*.[Ffh]90 . ; \' |
---|
373 | echo ' ln -sf ../OCE_SRC/LDF/*.[Ffh]90 . ; \' |
---|
374 | echo ' ln -sf ../OCE_SRC/ZDF/*.[Ffh]90 . ; \' |
---|
375 | echo ' ln -sf ../OCE_SRC/SOL/*.[Ffh]90 . ; \' |
---|
376 | echo ' ln -sf ../OCE_SRC/DTA/*.[Ffh]90 . ; \' |
---|
377 | echo ' ln -sf ../OCE_SRC/SBC/*.[Ffh]90 . ; \' |
---|
378 | echo ' fi ' |
---|
379 | echo ' @if [ -d ../ICE_SRC ] ; then \' |
---|
380 | echo ' echo " use ICE_SRC files" ; \' |
---|
381 | echo ' ln -sf ../ICE_SRC/*.[Ffh]90 . ; \' |
---|
382 | echo ' fi ' |
---|
383 | echo ' @if [ -d ../TRC_SRC ] && [ ! -d ../SRC_OFFLINE_TRC ] ; then \' |
---|
384 | echo ' echo " use TRC_SRC files" ; \' |
---|
385 | echo ' \$(RM) *.passivetrc.h ; \' |
---|
386 | echo ' ln -sf ../TRC_SRC/*.[Ffh] . ; ln -sf ../TRC_SRC/SMS/*.[Ffh] . ; \' |
---|
387 | echo ' fi ' |
---|
388 | echo ' @if [ -d ../SRC_OFFLINE_TRC ] ; then \' |
---|
389 | echo ' echo " use TRC_SRC and SRC_OFFLINE_TRC files" ; \' |
---|
390 | echo ' ln -sf ../TRC_SRC/*.[Ffh] ../TRC_SRC/SMS/*.[Ffh] . ; \' |
---|
391 | echo ' ln -sf ../SRC_OFFLINE_TRC/*.[Ffh] . ; \' |
---|
392 | echo ' fi ' |
---|
393 | echo ' @\$(RM) tmplist' |
---|
394 | echo ' @ls -1 | fgrep -v -f .patron >tmplist' |
---|
395 | echo ' @cmp tmplist SRC_FILE_LIST.temp || { echo some routines have been added or suppressed ; \' |
---|
396 | echo ' sdiff -s tmplist SRC_FILE_LIST.temp ; cp tmplist SRC_FILE_LIST.temp ; \' |
---|
397 | echo ' \$(RM) model.o \$(MODEL_LIB) \$(SXMODEL_LIB) \$(EXEC_BIN) ; \' |
---|
398 | echo ' echo "Rebuilding the AA_make files" ; \' |
---|
399 | echo ' cd .. ; ../UTIL/fait_AA_make ; echo " " ; \' |
---|
400 | echo ' echo "THE ins_make COMMAND in modipsl/util MUST BE RERUN PLEASE DO SO BEFORE gmake" ; \' |
---|
401 | echo ' echo "========================================== " ; \' |
---|
402 | echo ' ../../util/ins_make -t sxnec ; echo " " ; false ; exit ; }' |
---|
403 | |
---|