/[lmdze]/trunk/GNUmakefile
ViewVC logotype

Contents of /trunk/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 70 - (show annotations)
Mon Jun 24 15:39:52 2013 UTC (10 years, 10 months ago) by guez
Original Path: trunk/libf/GNUmakefile
File size: 2310 byte(s)
In procedure, "addfi" access directly the module variable "dtphys"
instead of going through an argument.

In "conflx", do not create a local variable for temperature with
reversed order of vertical levels. Instead, give an actual argument
with reversed order in "physiq".

Changed names of variables "rmd" and "rmv" from module "suphec_m" to
"md" and "mv".

In "hgardfou", print only the first temperature out of range found.

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 sources_ce0l := ${common_sources} $(shell cat ${src_root}/sources_ce0l_only)
17 sources_gcm := ${common_sources} $(shell cat ${src_root}/sources_gcm_only)
18
19 sources := $(sort ${sources_ce0l} ${sources_gcm})
20 # (sort so that each filename appears only once)
21
22 # 2. Objects and executable files
23
24 # Object files:
25 obj_ce0l := $(addsuffix .o, $(sort $(basename ${sources_ce0l})))
26 obj_gcm := $(addsuffix .o, $(sort $(basename ${sources_gcm})))
27 objects := $(addsuffix .o, $(basename ${sources}))
28
29 # Executable files:
30 execut = ce0l gcm
31
32 # 3. Compiler-dependent part
33
34 mode = debug
35 include ../Compilers/${FC}_${mode}.mk
36
37 # 4. Rules
38
39 SHELL = bash
40
41 # Extend known suffixes:
42 COMPILE.f90 = $(FC) $(F90FLAGS) $(TARGET_ARCH) -c
43 %.o: %.f90
44 $(COMPILE.f90) $(OUTPUT_OPTION) $<
45
46 .PHONY: all clean clobber depend
47
48 all: ${execut} trace
49
50 ${execut}:
51 $(FC) $(LDFLAGS) $^ $(LDLIBS) -o $@
52
53 ce0l: ${obj_ce0l}
54 gcm: ${obj_gcm}
55
56 depend ${src_root}/depend.mk:
57 makedepf90 -Wmissing -Wconfused -I${VPATH} -nosrc $(addprefix -u, netcdf numer_rec_95 netcdf95 nr_util jumble) ${sources} >${src_root}/depend.mk
58
59 ${src_root}/TAGS: ${sources}
60 ctags -e --language-force=fortran -f $@ $^
61
62 clean:
63 rm -f ${objects}
64 rm -f ${execut} trace
65
66 clobber: clean
67 rm -f *.mod ${src_root}/depend.mk ${src_root}/TAGS
68
69 trace:
70 ${FC} ${version_flag} >$@ 2>&1
71 echo -e "\nFC = ${FC}\n\nFFLAGS = ${FFLAGS}\n\nLDLIBS = ${LDLIBS}\n\nLDFLAGS = ${LDFLAGS}" >>$@
72
73 # Dependencies among object files:
74 include ${src_root}/depend.mk
75
76 # Other rules, optionnally:
77 -include grep.mk
78 -include nag_rules.mk

  ViewVC Help
Powered by ViewVC 1.1.21