/[lmdze]/trunk/GNUmakefile
ViewVC logotype

Contents of /trunk/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 267 - (show annotations)
Thu May 3 16:14:08 2018 UTC (6 years ago) by guez
File size: 2545 byte(s)
Rename procedure clmain to pbl_surface (following LMDZ).

Remove choice soil_model = f. This choice made the algorithm unclear
in interfsurf_hq. Also soil_model = f is never used in LMDZ. radsol
was intent inout in clqh because of its possible modification in
interfsurf_hq, but the corresponding actual argument yrads is not used
in pbl_surface. The modification of radsol in interfsurf_hq was a bad
idea. Now we can more clearly make radsol an intent in argument of
clqh and interfsurf_hq.

1 # This is a makefile for GNU make.
2
3 # This makefile builds LMDZE.
4
5 # 1. Source files
6
7 makefile_dir = .
8
9 VPATH := ${makefile_dir} $(addprefix ${makefile_dir}/, $(shell cat ${makefile_dir}/directories))
10
11 src_ce0l := $(shell cat ${makefile_dir}/src_ce0l)
12 src_gcm := $(shell cat ${makefile_dir}/src_gcm)
13 src_test_ozonecm := $(shell cat ${makefile_dir}/src_test_ozonecm)
14 src_test_inter_barxy := $(shell cat ${makefile_dir}/src_test_inter_barxy)
15 src_test_fxhyp := $(shell cat ${makefile_dir}/src_test_fxhyp)
16 src_test_inifilr := $(shell cat ${makefile_dir}/src_test_inifilr)
17
18 sources := $(sort ${src_ce0l} ${src_gcm} ${src_test_ozonecm} ${src_test_inter_barxy} ${src_test_fxhyp} ${src_test_inifilr})
19
20 cpp_macros = CPP_IIM=16,CPP_JJM=12,CPP_LLM=11
21 lib_list = numer_rec_95 jumble nr_util netcdf95 netcdff
22
23 # 2. Objects and executable files
24
25 obj_ce0l := $(addsuffix .o, $(basename ${src_ce0l}))
26 obj_gcm := $(addsuffix .o, $(basename ${src_gcm}))
27 obj_test_ozonecm := $(addsuffix .o, $(basename ${src_test_ozonecm}))
28 obj_test_inter_barxy := $(addsuffix .o, $(basename ${src_test_inter_barxy}))
29 obj_test_fxhyp := $(addsuffix .o, $(basename ${src_test_fxhyp}))
30 obj_test_inifilr := $(addsuffix .o, $(basename ${src_test_inifilr}))
31 objects := $(addsuffix .o, $(basename ${sources}))
32 execut = ce0l gcm test_ozonecm test_inter_barxy test_fxhyp test_inifilr
33
34 # 3. Compiler-dependent part
35
36 mode = debug
37 include ${general_compiler_options_dir}/${FC}_${mode}.mk
38
39 # 4. Rules
40
41 SHELL = bash
42 LINK.o = $(FC) $(LDFLAGS) $(TARGET_ARCH)
43
44 %.o: %.f
45 @echo "Building $@..."
46 @$(COMPILE.f) $(OUTPUT_OPTION) $<
47
48 %: %.o
49 @echo "Linking $@..."
50 @$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
51
52 .DELETE_ON_ERROR:
53 .PHONY: all clean clobber depend
54 all: ${execut} log
55 ce0l: ${obj_ce0l}
56 gcm: ${obj_gcm}
57 test_ozonecm: ${obj_test_ozonecm}
58 test_inter_barxy: ${obj_test_inter_barxy}
59 test_fxhyp: ${obj_test_fxhyp}
60 test_inifilr: ${obj_test_inifilr}
61
62 depend ${makefile_dir}/depend.mk:
63 makedepf90 -free -Wmissing -Wconfused $(addprefix -I, ${VPATH}) -nosrc $(addprefix -u , netcdf numer_rec_95 netcdf95 nr_util jumble) ${sources} >${makefile_dir}/depend.mk
64
65 TAGS: ${sources}
66 ctags -e --language-force=fortran $^
67
68 clean:
69 rm -f ${execut} ${objects} log
70
71 clobber: clean
72 rm -f *.mod ${makefile_dir}/depend.mk TAGS
73
74 log:
75 hostname >$@
76 ${FC} ${version_flag} >>$@ 2>&1
77 @echo -e "\nFC = ${FC}\n\nFFLAGS = ${FFLAGS}\n\nLDLIBS = ${LDLIBS}\n\nLDFLAGS = ${LDFLAGS}" >>$@
78
79 ifeq ($(findstring $(MAKECMDGOALS), clobber depend),)
80 include ${makefile_dir}/depend.mk
81 endif
82
83 -include grep.mk
84 -include nag_rules.mk

  ViewVC Help
Powered by ViewVC 1.1.21