/[lmdze]/trunk/GNUmakefile
ViewVC logotype

Contents of /trunk/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 73 - (show annotations)
Fri Nov 15 17:48:30 2013 UTC (10 years, 5 months ago) by guez
Original Path: trunk/libf/GNUmakefile
File size: 2246 byte(s)
Renamed tpot to teta and psol to ps in etat0.

Replaced calls to flincom by calls to NetCDF95 in startdyn. lon_ini,
lat_ini and levdyn_ini are now pointers.
1 # This is a makefile for GNU make.
2
3 # This makefile builds LMDZE.
4
5 # Suffixes are:
6 # "f90" for free format, no preprocessing
7 # "f" for fixed format, no preprocessing
8
9 # 1. Source files
10
11 src_root = .
12
13 VPATH = ${src_root}:${src_root}/dyn3d:${src_root}/dyn3d/Vlsplt:${src_root}/filtrez:${src_root}/phylmd:${src_root}/bibio:${src_root}/phylmd/Mobidic:${src_root}/phylmd/Orography:${src_root}/phylmd/Radlwsw:${src_root}/IOIPSL:${src_root}/IOIPSL/Stringop:${src_root}/dyn3d/Read_reanalyse:${src_root}/phylmd/Thermcell:${src_root}/phylmd/CV3_routines:${src_root}/phylmd/Conflx:${src_root}/phylmd/CV_routines:${src_root}/phylmd/Interface_surf:${src_root}/dyn3d/Dissipation:${src_root}/IOIPSL/Histcom:${src_root}/IOIPSL/Flincom
14
15 common_sources := $(shell cat ${src_root}/common_sources)
16
17 sources_ce0l := $(sort ${common_sources} $(shell cat ${src_root}/sources_ce0l_only))
18
19 sources_gcm := $(sort ${common_sources} $(shell cat ${src_root}/sources_gcm_only))
20
21 sources := $(sort ${sources_ce0l} ${sources_gcm})
22
23 # 2. Objects and executable files
24
25 # Object files:
26 obj_ce0l := $(addsuffix .o, $(basename ${sources_ce0l}))
27 obj_gcm := $(addsuffix .o, $(basename ${sources_gcm}))
28 objects := $(addsuffix .o, $(basename ${sources}))
29
30 # Executable files:
31 execut = ce0l gcm
32
33 # 3. Compiler-dependent part
34
35 mode = debug
36 include ../Compilers/${FC}_${mode}.mk
37
38 # 4. Rules
39
40 SHELL = bash
41
42 # Extend known suffixes:
43
44 COMPILE.f90 = $(FC) $(F90FLAGS) $(TARGET_ARCH) -c
45
46 %.o: %.f90
47 $(COMPILE.f90) $(OUTPUT_OPTION) $<
48
49 .PHONY: all clean clobber depend
50
51 all: ${execut} trace
52
53 ${execut}:
54 $(FC) $(LDFLAGS) $^ $(LDLIBS) -o $@
55
56 ce0l: ${obj_ce0l}
57 gcm: ${obj_gcm}
58
59 depend ${src_root}/depend.mk:
60 makedepf90 -Wmissing -Wconfused -I${VPATH} -nosrc $(addprefix -u, netcdf numer_rec_95 netcdf95 nr_util jumble) ${sources} >${src_root}/depend.mk
61
62 TAGS: ${sources}
63 ctags -e --language-force=fortran $^
64
65 clean:
66 rm -f ${objects}
67 rm -f ${execut} trace
68
69 clobber: clean
70 rm -f *.mod ${src_root}/depend.mk ${src_root}/TAGS
71
72 trace:
73 ${FC} ${version_flag} >$@ 2>&1
74 echo -e "\nFC = ${FC}\n\nFFLAGS = ${FFLAGS}\n\nLDLIBS = ${LDLIBS}\n\nLDFLAGS = ${LDFLAGS}" >>$@
75
76 # Dependencies among object files:
77 include ${src_root}/depend.mk
78
79 # Other rules, optionally:
80 -include grep.mk
81 -include nag_rules.mk

  ViewVC Help
Powered by ViewVC 1.1.21