/[lmdze]/trunk/GNUmakefile
ViewVC logotype

Contents of /trunk/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 266 - (show annotations)
Thu Apr 19 17:54:55 2018 UTC (6 years ago) by guez
File size: 2545 byte(s)
Define macros of the preprocessor CPP_IIM, CPP_JJM, CPP_LLM so we can
control the resolution from the compilation command, and automate
compilation for several resolutions.

In module yoethf_m, transform variables into named constants. So we do
not need procedure yoethf any longer.

Bug fix in program test_inter_barxy, missing calls to fyhyp and fxhyp,
and definition of rlatu.

Remove variable iecri of module conf_gcm_m. The files dyn_hist*.nc are
written every time step. We are simplifying the output system, pending
replacement by a whole new system.

Modify possible value of vert_sampling from "param" to
"strato_custom", following LMDZ. Default values of corresponding
namelist variables are now the values used for LMDZ CMIP6.

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=79
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