/[MITgcm]/MITgcm/tools/genmake
ViewVC logotype

Annotation of /MITgcm/tools/genmake

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.22 - (hide annotations) (download)
Thu Nov 30 19:58:13 2000 UTC (23 years, 4 months ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint34, branch-atmos-merge-shapiro, branch-atmos-merge-phase4, branch-atmos-merge-phase3, branch-atmos-merge-zonalfilt, branch-atmos-merge-phase2, branch-atmos-merge-phase5, branch-atmos-merge-phase7, branch-atmos-merge-phase1, branch-atmos-merge-phase6, branch-atmos-merge-start, checkpoint33
Branch point for: branch-atmos-merge
Changes since 1.21: +3 -3 lines
Fix so that "make CLEAN" doesn't delete files in natl_box/output

1 cnh 1.1 #!/bin/csh -f
2     #
3 adcroft 1.22 # $Header: /u/gcmpack/models/MITgcmUV/tools/genmake,v 1.21 2000/11/29 22:33:08 adcroft Exp $
4 cnh 1.1 #
5     # Makefile generator for MITgcm UV codes
6     # created by cnh 03/98
7     # adapted by aja 06/98
8    
9     # Process command-line arguments
10     set allargs=( $argv )
11     while ($#allargs)
12     set arg = $allargs[1]
13     switch ($arg)
14 adcroft 1.9 case -makefile:
15     set mfile = ( Makefile )
16     breaksw
17     case -makefile=*:
18     set mfile = ( `echo $arg | sed 's/-makefile=//' `)
19 cnh 1.1 breaksw
20     case -platform:
21     case -platform=:
22     echo "To change platform you must specify one with -platform="
23     echo "eg. -platform=sparc or -platform=mips"
24     exit
25     breaksw
26     case -platform*:
27     set platform = ( `echo $arg | sed 's/-platform=//' `)
28     breaksw
29     case -mpi:
30     echo "Enabling MPI options"
31     set USEMPI
32     breaksw
33 adcroft 1.12 case -jam:
34     set include_jam_libs
35     echo "Including paths to JAM libraries"
36     breaksw
37 cnh 1.1 case -help:
38     echo "usage: $0 [-help] [-makefile[=...]] [-platform=...] [-mpi]"
39     exit
40     breaksw
41     default:
42     echo "Unknown command-line option: " $arg
43     echo $0 "-help to show usage"
44     exit
45     breaksw
46     endsw
47     shift allargs
48     end
49 cnh 1.6
50     if ($?platform == 0) then
51     set platform = (`uname`)
52     endif
53 cnh 1.1 if ($?mfile == 0) set mfile = ( Makefile.$platform )
54     set mach = ( `uname -a` )
55     echo Operating system: $mach
56    
57     # Directories for source, includes, binaries and executables
58     # Note
59     # o If you prefer/need everything under a single directory
60     # copy everything in ../eesupp/src, ../model/src,
61     # ../eesupp/inc and ../model/inc into a directory and then
62     # edit the paths below to ./
63 heimbach 1.19 set SOURCEDIRS = ( ../eesupp/src/ ../model/src/ ../diags/src/ ../pkg/*/ )
64     set INCLUDEDIRS = ( ./ ../eesupp/inc/ ../model/inc/ ../diags/inc/ ../pkg/*/ )
65 cnh 1.1 set BUILDDIR = ( ../bin/ )
66     set EXEDIR = ( ../exe/ )
67     set EXECUTABLE = ( mitgcmuv )
68    
69     # This is the generic configuration.
70     # Platform specific options are chosen below
71     set LN = ( 'ln -sf' )
72     set CPP = ( '/lib/cpp -P' )
73     set KPP = ( )
74     set FC = ( 'f77' )
75     set LINK = ( 'f77' )
76     set DEFINES = ( )
77     set INCLUDES = ( )
78     set FFLAGS = ( )
79     set FOPTIM = ( )
80     set KFLAGS1 = ( )
81     set KFLAGS2 = ( )
82     set LIBS = ( )
83     set KPPFILES = ( )
84     set NOOPTFILES = ( )
85     set NOOPTFLAGS = ( )
86     set RMFILES = ( )
87    
88     # We often want to use different compile/link options is using MPI
89     if ($?USEMPI) then
90     set USEMPI = ( '+mpi' )
91     set DEFINES = ( ${DEFINES} '-DALLOW_USE_MPI -DALWAYS_USE_MPI' )
92     else
93     set USEMPI
94     # set DEFINES = ( ${DEFINES} '-UALLOW_USE_MPI -UALWAYS_USE_MPI' )
95     endif
96    
97     # Platform specific options
98     switch ($platform$USEMPI)
99 cnh 1.6 case OSF1:
100     case OSF1+mpi:
101 cnh 1.1 echo "Configuring for DEC Alpha"
102     set CPP = ( '/usr/bin/cpp -P' )
103 adcroft 1.10 set DEFINES = ( ${DEFINES} '-DTARGET_DEC -DWORDLENGTH=1' )
104 cnh 1.1 set KPP = ( 'kapf' )
105 cnh 1.4 set KPPFILES = ( 'main.F' )
106 cnh 1.1 set KFLAGS1 = ( '-scan=132 -noconc -cmp=' )
107     set FC = ( 'f77' )
108 adcroft 1.2 set FFLAGS = ( '-convert big_endian -r8 -extend_source -u -automatic -call_shared -notransform_loops -align dcommons' )
109 cnh 1.1 set FOPTIM = ( '-O5 -fast -tune host -inline all' )
110     set NOOPTFLAGS = ( '-O0' )
111     set LIBS = ( '-lfmpi -lmpi -lkmp_osfp10 -pthread' )
112 heimbach 1.20 set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F')
113 cnh 1.1 set RMFILES = ( '*.p.out' )
114     breaksw
115 cnh 1.6 case IRIX64+mpi:
116 cnh 1.1 echo "Configuring for SGI Mips with MPI"
117 adcroft 1.11 set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
118 cnh 1.1 set INCLUDES = ( '-I/usr/local/mpi/include' )
119     set FC = ( 'mpif77' )
120     set LINK = ( 'mpif77' )
121 adcroft 1.11 set FFLAGS = ( '-extend_source -bytereclen -r10000 -mips4' )
122 cnh 1.1 set FOPTIM = ( '-O3' )
123     set RMFILES = ( 'rii_files' )
124     breaksw
125 cnh 1.6 case IRIX64:
126 cnh 1.1 echo "Configuring for SGI Mips"
127 adcroft 1.11 set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
128 cnh 1.1 set INCLUDES = ( '-I/usr/local/mpi/include' )
129     set FFLAGS = ( '-extend_source -mp -mpio -bytereclen -r10000 -mips4' )
130 adcroft 1.11 set FOPTIM = ( '-O3' )
131     # set NOOPTFLAGS = ( '-O0' )
132     # set NOOPTFILES = ( 'barrier.F different_multiple.F ' \
133 heimbach 1.20 # 'external_fields_load.F' )
134 cnh 1.1 set RMFILES = ( 'rii_files' )
135     breaksw
136 heimbach 1.20 case o2:
137     case IRIX:
138     echo "Configuring for SGI O2 running IRIX 6.5"
139     set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
140     set FFLAGS = ( '-extend_source -bytereclen -r10000 -mips4' )
141     set FOPTIM = ( '-O2' )
142     set NOOPTFLAGS = ( '-O0' )
143     breaksw
144     case o2+mpi:
145     case IRIX+mpi:
146     echo "Configuring for SGI O2 running IRIX 6.5 with MPI"
147     set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
148     set FFLAGS = ( '-extend_source -bytereclen -r10000 -mips4' )
149     set FOPTIM = ( '-O2' )
150     set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F' )
151     set NOOPTFLAGS = ( '-O0' )
152     set LIBS = ( '-lmpi' )
153     breaksw
154     case o2k+mpi:
155     echo "Configuring for SGI Origin2000 running IRIX 6.5"
156     set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
157     set INCLUDES = ( '-I/usr/include' )
158     set FFLAGS = ( '-n32 -extend_source -bytereclen' )
159     set FOPTIM = ( '-O2' )
160     set NOOPTFILES = ( 'calc_mom_rhs.F' )
161     set NOOPTFLAGS = ( '-O1' )
162     set LIBS = ( '-lmpi -lscs' )
163     breaksw
164     case onyx:
165     case onyx+mpi:
166     echo "Configuring for SGI ONYX running IRIX64"
167     set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
168     set FFLAGS = ( '-extend_source -bytereclen -r10000 -64' )
169     set FOPTIM = ( '-O2' )
170     set NOOPTFLAGS = ( '-O0' )
171     set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F' )
172     set LIBS = ( '-lmpi' )
173     breaksw
174 cnh 1.6 case SunOS:
175     set LN = ( '/usr/bin/ln -fs' )
176     set CPP = ( '/usr/ccs/lib/cpp -P' )
177 adcroft 1.11 set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )
178 cnh 1.6 set FFLAGS = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
179 heimbach 1.20 set FOPTIM = ( '-fast -O3' )
180 cnh 1.6 set NOOPTFLAGS = ( '-O0' )
181 heimbach 1.20 set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F')
182 cnh 1.6 breaksw
183     case SunOS+mpi:
184 cnh 1.1 set LN = ( '/usr/bin/ln -fs' )
185     set CPP = ( '/usr/ccs/lib/cpp -P' )
186 adcroft 1.11 set DEFINES = ( ${DEFINES} '-DTARGET_SUN -DWORDLENGTH=4' )
187 cnh 1.1 set INCLUDES = ( '-I/usr/local/mpi/include' )
188     set FFLAGS = ( '-stackvar -explicitpar -vpara -e -u -noautopar')
189 heimbach 1.20 set FOPTIM = ( '-fast -O3' )
190 cnh 1.1 set NOOPTFLAGS = ( '-O0' )
191     set LIBS = ( '-L/usr/local/mpi/lib/solaris/ch_shmem -lmpi -lthread' \
192 cnh 1.6 '-lsocket -lnsl' )
193 heimbach 1.20 set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F ini_vertical_grid.F')
194 cnh 1.3 breaksw
195 cnh 1.6 case IRIX32:
196 cnh 1.3 echo "Configuring for SGI ONYX running IRIX64"
197 adcroft 1.11 set DEFINES = ( ${DEFINES} '-DTARGET_SGI -DWORDLENGTH=4' )
198 cnh 1.3 set INCLUDES = ( '-I/usr/include' )
199     set FFLAGS = ( '-extend_source -bytereclen -r10000 -64' )
200     set FOPTIM = ( '-O2' )
201     set NOOPTFLAGS = ( '-O0' )
202     set NOOPTFILES = ( 'barrier.F different_multiple.F ' \
203 heimbach 1.20 'external_fields_load.F' )
204 cnh 1.3 set LIBS = ( '-lmpi' )
205     breaksw
206 adcroft 1.11 case HP-UX+mpi:
207     set FC = ( 'mpif77' )
208     set LINK = ( 'mpif77' )
209     set INCLUDES = ( '-I/opt/mpi/include' )
210 cnh 1.6 case HP-UX:
211 cnh 1.3 echo "Configuring for HP Exemplar"
212     set CPP = ( '/usr/ccs/lbin/cpp -P' )
213 adcroft 1.11 set DEFINES = ( ${DEFINES} '-DTARGET_HP -DWORDLENGTH=4' )
214 cnh 1.3 set FFLAGS = ( '+es +U77 +Onoautopar +Oexemplar_model' \
215     '+Okernel_threads' )
216     set FOPTIM = ( '+O2' )
217 cnh 1.6 set NOOPTFLAGS = ( '+O0' )
218 cnh 1.3 set NOOPTFILES = ( 'barrier.F different_multiple.F' \
219 heimbach 1.20 'external_fields_load.F' )
220 cnh 1.1 breaksw
221 adcroft 1.9 case Linux+mpi:
222     set LIBS = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )
223 adcroft 1.14 set INCLUDES = ( '-I/usr/local/include' )
224 cnh 1.6 case Linux:
225     set LN = ( '/bin/ln -fs' )
226 adcroft 1.14 set CPP = ( '/lib/cpp -traditional -P' )
227 adcroft 1.11 set DEFINES = ( ${DEFINES} '-D_BYTESWAPIO -DWORDLENGTH=4' )
228 cnh 1.6 set FC = ( 'g77' )
229 adcroft 1.14 set FFLAGS = ( '-Wimplicit -Wunused -Wuninitialized' )
230     set FOPTIM = ( '-O3 -malign-double -funroll-loops ' )
231 cnh 1.6 set LINK = ( 'g77' )
232     breaksw
233 adcroft 1.14 case Linux+pgi+mpi:
234 adcroft 1.15 if ($?include_jam_libs) then
235     set INCLUDES = ( '-I/usr/local//mpich-cnh-install/include' )
236     set LIBS = ( '-L/usr/local/mpich-cnh-install/lib/LINUX/ch_p4/ -lfmpich -lmpich' )
237     else
238     set INCLUDES = ( '-I/usr/local/include' )
239     set LIBS = ( '-L/usr/local/lib/LINUX/ch_p4/ -lfmpich -lmpich' )
240     endif
241 cnh 1.6 case Linux+pgi:
242     set LN = ( '/bin/ln -fs' )
243 adcroft 1.14 set CPP = ( '/lib/cpp -traditional -P' )
244 adcroft 1.10 set DEFINES = ( ${DEFINES} '-DWORDLENGTH=4' )
245 cnh 1.6 set FC = ( 'pgf77' )
246     set FFLAGS = ( '-byteswapio' )
247     set FOPTIM = ( '-tp p6 -v -O2 -Munroll -Mvect=cachesize:512000,transform -Kieee' )
248     set LINK = ( 'pgf77' )
249 adcroft 1.13 breaksw
250     case T3E:
251     case sn6312:
252     set CPP = ( '/opt/ctl/bin/cpp -P')
253     set DEFINES = ( ${DEFINES} '-DTARGET_T3E -DWORDLENGTH=4' )
254     set FC = ( 'f90' )
255     set LINK = ( 'f90' )
256     set FFLAGS = ( '-O 2,fusion' )
257 heimbach 1.18 breaksw
258     case T90:
259     case sn7113:
260     set FC = ( 'f90' )
261     set LINK = ( 'f90' )
262     set LN = ( '/bin/ln -fs' )
263 heimbach 1.19 set CPP = ( '/opt/ctl/bin/cpp -N -P' )
264     set DEFINES = ( ${DEFINES} '-DTARGET_CRAY_VECTOR -DWORDLENGTH=4' )
265     set FFLAGS = ( '-m3 -Rabc -N 132')
266 heimbach 1.18 set FOPTIM = ( '-O0' )
267     set NOOPTFLAGS = ( '-O0' )
268 heimbach 1.20 set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F')
269 heimbach 1.18 breaksw
270     case SV1:
271     case sn3002:
272     set FC = ( 'f90' )
273     set LINK = ( 'f90' )
274     set LN = ( '/bin/ln -fs' )
275 heimbach 1.19 set CPP = ( '/opt/ctl/bin/cpp -N -P' )
276     set DEFINES = ( ${DEFINES} '-DTARGET_CRAY_VECTOR -DWORDLENGTH=4' )
277     set FFLAGS = ( '-m3 -Rabc -ei -eI -s cf77types -N 132')
278 heimbach 1.18 set FOPTIM = ( '-O0' )
279     set NOOPTFLAGS = ( '-O0' )
280 heimbach 1.20 set NOOPTFILES = ( 'barrier.F different_multiple.F external_fields_load.F')
281 cnh 1.6 breaksw
282 cnh 1.1 default:
283     echo "Error: platform not recognized: uname -p = " $platform$USEMPI
284     exit
285     breaksw
286     endsw
287    
288     ###############################################################################
289     ## ##
290     ## Everything below here should not need to be changed. Platform specific ##
291     ## changes and code specific changes should be configured above this line. ##
292     ## ##
293     ###############################################################################
294    
295     # Create list of files
296 cnh 1.5 set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[F]$'`
297 cnh 1.1 if ( $#flist ) then
298 heimbach 1.19 echo -n 'SRCFILES = ' > srclist.inc
299 cnh 1.1 foreach ff ( ${flist} )
300     set fname = ( ${ff:t} )
301 heimbach 1.19 echo ' \' >> srclist.inc
302 cnh 1.1 echo -n " " ${fname:r}.F >> srclist.inc
303     end
304     else
305     echo No source files found...\!
306     exit
307     endif
308 heimbach 1.19 echo " " >> srclist.inc
309    
310 cnh 1.5 set flist = `ls -1 ${SOURCEDIRS} | grep '.*\.[c]$'`
311     if ( $#flist ) then
312 heimbach 1.19 echo -n 'CSRCFILES = ' > csrclist.inc
313 cnh 1.5 foreach ff ( ${flist} )
314     set fname = ( ${ff:t} )
315 heimbach 1.19 echo ' \' >> csrclist.inc
316     echo -n " " ${fname} >> csrclist.inc
317     else
318     echo -n 'CSRCFILES =' > csrclist.inc
319 cnh 1.5 endif
320 heimbach 1.19 echo " " >> csrclist.inc
321 cnh 1.1
322     # Convert lists of directories into command-line options
323     foreach inc ($INCLUDEDIRS)
324     set INCLUDES = ($INCLUDES -I$inc)
325     end
326     set SRCSTARS = ( )
327     foreach dr ($SOURCEDIRS)
328 cnh 1.6 set SRCSTARS = ("${SRCSTARS}" $dr\*.\[Fc\] )
329 cnh 1.1 end
330    
331     set THISHOSTNAME = ( `hostname` )
332     set THISCWD = ( `pwd` )
333     set THISDATE = ( `date` )
334    
335     ###########################################
336     ## This is the template for the makefile ##
337     ###########################################
338     echo Creating makefile: $mfile
339     echo "# Multithreaded + multi-processing makefile for $mach" > ${mfile}
340     echo "# This makefile was generated automatically pn" >> ${mfile}
341     echo "# $THISDATE" >> ${mfile}
342     echo "# by the command:" >> ${mfile}
343     echo "# ${0} $argv" >> ${mfile}
344     echo "# executed by:" >> ${mfile}
345     echo "# $USER@${THISHOSTNAME}:${THISCWD}" >> ${mfile}
346     cat >> ${mfile} <<EOF
347     #
348     # BUILDDIR : Directory where object files are written
349     # SOURCEDIRS : Directories containing the source (.F) files
350     # INCLUDEDIRS : Directories containing the header-source (.h) files
351     # EXEDIR : Directory where executable that is generated is written
352     # EXECUTABLE : Full path of executable binary
353     #
354     # CPP : C-preprocessor command
355     # INCLUDES : Directories searched for header files
356     # DEFINES : Macro definitions for CPP
357     # KPP : Special preprocessor command (specific to platform)
358     # KFLAGS : Flags for KPP
359     # FC : Fortran compiler command
360     # FFLAGS : Configuration/debugging options for FC
361     # FOPTIM : Optimization options for FC
362     # LINK : Command for link editor program
363     # LIBS : Library flags /or/ additional optimization/debugging flags
364    
365     BUILDDIR = ${BUILDDIR}
366     SOURCEDIRS = ${SOURCEDIRS}
367     INCLUDEDIRS = ${INCLUDEDIRS}
368     EXEDIR = ${EXEDIR}
369     EXECUTABLE = \$(EXEDIR)${EXECUTABLE}
370    
371 adcroft 1.12 EOF
372    
373    
374     # JAM libraries on Hyades
375     if ($?include_jam_libs) then
376     cat >> ${mfile} <<EOF
377     # extra stuff for Hyades ............................................
378     HYADES_DIR = /u/u0/cnh/jam-lib/software
379 adcroft 1.16 HYADES_DIR = /u/u0/cnh/jam-lib-twoproc
380 adcroft 1.12 WORK_DIR = \$(HYADES_DIR)
381     DEPOSIT_DIR = linux_bin
382    
383     STARTXOBJDIR = startx_util/\$(DEPOSIT_DIR)
384     STARTXOBJ = \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/startx_timer.o \
385     \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/startx_util.o \
386     \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/client.o \
387     \$(WORK_DIR)/startx_util/\$(DEPOSIT_DIR)/csutil.o
388    
389     JAMOBJDIR = jam/\$(DEPOSIT_DIR)
390     JAMOBJ = \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_init.o \
391     \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_kernel.o \
392     \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_malloc.o \
393     \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_vmalloc.o \
394     \$(WORK_DIR)/jam/\$(DEPOSIT_DIR)/jam_mutex.o
395    
396     JAMCOBJDIR = jam_collective/\$(DEPOSIT_DIR)
397     JAMCOBJ = \$(WORK_DIR)/jam_collective/\$(DEPOSIT_DIR)/jam_collective.o
398    
399     XLIBS = \$(STARTXOBJ) \$(JAMOBJ) \$(JAMCOBJ)
400    
401     # ..................................................................
402    
403     EOF
404     endif
405    
406    
407     cat >> ${mfile} <<EOF
408 cnh 1.1 # Unix ln (link)
409     LN = ${LN}
410     # C preprocessor
411 cnh 1.6 CPP = cat \$< | ../tools/set64bitConst.sh | ${CPP}
412 cnh 1.1 # Special preprocessor (KAP on DECs, FPP on Crays)
413     KPP = ${KPP}
414     # Fortran compiler
415     FC = ${FC}
416     # Link editor
417     LINK = ${LINK}
418    
419     # Defines for CPP
420     DEFINES = ${DEFINES}
421     # Includes for CPP
422     INCLUDES = ${INCLUDES}
423     # Flags for KPP
424     KFLAGS1 = ${KFLAGS1}
425     KFLAGS2 = ${KFLAGS2}
426     # Optim./debug for FC
427     FFLAGS = ${FFLAGS}
428     FOPTIM = ${FOPTIM}
429     # Files that should not be optimized
430     NOOPTFILES = ${NOOPTFILES}
431     NOOPTFLAGS = ${NOOPTFLAGS}
432     # Flags and libraries needed for linking
433 adcroft 1.15 LIBS = ${LIBS} \$(XLIBS)
434 cnh 1.1
435     EOF
436    
437 heimbach 1.19 cat srclist.inc >> ${mfile}
438     cat csrclist.inc >> ${mfile}
439     echo 'F77FILES = $(SRCFILES:.F=.f)' >> ${mfile}
440     echo 'OBJFILES = $(SRCFILES:.F=.o) $(CSRCFILES:.c=.o)' >> ${mfile}
441    
442 adcroft 1.21 rm -f srclist.inc csrclist.inc
443 cnh 1.1
444     cat >> ${mfile} <<EOF
445    
446     .SUFFIXES:
447 cnh 1.5 .SUFFIXES: .o .f .p .F .c
448 cnh 1.1
449     all: \$(EXECUTABLE)
450     \$(EXECUTABLE): \$(OBJFILES)
451     \$(LINK) -o \$@ \$(FFLAGS) \$(FOPTIM) \$(OBJFILES) \$(LIBS)
452     links:
453     @-\$(LN) $SRCSTARS .
454     depend:
455     @make links
456     makedepend -o .f \$(INCLUDES) \$(SRCFILES)
457 heimbach 1.19
458     small_f: \$(F77FILES)
459    
460 cnh 1.1 clean:
461     -rm -rf *.o *.f *.p ${RMFILES}
462 cnh 1.6 Clean:
463     @make clean
464 adcroft 1.8 -find . -type l -exec rm {} \;
465     -rm Makefile.bak
466 adcroft 1.12 CLEAN:
467     @make Clean
468 adcroft 1.22 -find ../verification/*/input/ -name "*.meta" -exec rm {} \;
469     -find ../verification/*/input/ -name "*.data" -exec rm {} \;
470 adcroft 1.12 -rm \$(EXECUTABLE)
471 cnh 1.1
472     # The normal chain of rules is ( .F - .f - .o )
473     .F.f:
474 cnh 1.6 \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
475 cnh 1.1 .f.o:
476     \$(FC) \$(FFLAGS) \$(FOPTIM) -c \$<
477    
478     # Special exceptions that use the ( .F - .p - .f - .o ) rule-chain
479     .F.p:
480 cnh 1.6 \$(CPP) \$(DEFINES) \$(INCLUDES) > \$@
481 cnh 1.1 .p.f:
482     \$(KPP) \$(KFLAGS1)\$@ \$(KFLAGS2) \$<
483     EOF
484    
485     # Make list of "exceptions" that need ".p" files
486     foreach sf ($KPPFILES)
487     set fname=( ${sf:t} )
488     echo "${fname:r}.f: ${fname:r}.p" >> ${mfile}
489     end
490     foreach sf ($NOOPTFILES)
491     set fname=( ${sf:t} )
492     echo "${fname:r}.o: ${fname:r}.f" >> ${mfile}
493     echo ' $(FC) $(FFLAGS) $(NOOPTFLAGS) -c $<' >> ${mfile}
494     end
495     echo >> ${mfile}
496     echo "# DO NOT DELETE" >> ${mfile}
497    
498     exit

  ViewVC Help
Powered by ViewVC 1.1.22