/[lmdze]/trunk/GNUmakefile
ViewVC logotype

Contents of /trunk/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 255 - (show annotations)
Tue Mar 6 13:39:57 2018 UTC (6 years, 1 month ago) by guez
File size: 2192 byte(s)
Use two dimensions of arrays for two space dimensions in procedure
sortvarc. Replace call to ssum by call to sum.

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 lib_list = numer_rec_95 jumble nr_util netcdf95 netcdff
21
22 # 2. Objects and executable files
23
24 obj_ce0l := $(src_ce0l:.f=.o)
25 obj_gcm := $(src_gcm:.f=.o)
26 obj_test_ozonecm := $(src_test_ozonecm:.f=.o)
27 obj_test_inter_barxy := $(src_test_inter_barxy:.f=.o)
28 obj_test_fxhyp := $(src_test_fxhyp:.f=.o)
29 obj_test_inifilr := $(src_test_inifilr:.f=.o)
30 objects := $(sources:.f=.o)
31 execut = ce0l gcm test_ozonecm test_inter_barxy test_fxhyp test_inifilr
32
33 # 3. Compiler-dependent part
34
35 mode = debug
36 include ${general_compiler_options_dir}/${FC}_${mode}.mk
37
38 # 4. Rules
39
40 SHELL = bash
41 LINK.o = $(FC) $(LDFLAGS) $(TARGET_ARCH)
42 .DELETE_ON_ERROR:
43 .PHONY: all clean clobber depend
44 all: ${execut} log
45 ce0l: ${obj_ce0l}
46 gcm: ${obj_gcm}
47 test_ozonecm: ${obj_test_ozonecm}
48 test_inter_barxy: ${obj_test_inter_barxy}
49 test_fxhyp: ${obj_test_fxhyp}
50 test_inifilr: ${obj_test_inifilr}
51
52 depend ${makefile_dir}/depend.mk:
53 makedepf90 -free -Wmissing -Wconfused $(addprefix -I, ${VPATH}) -nosrc $(addprefix -u , netcdf numer_rec_95 netcdf95 nr_util jumble) ${sources} >${makefile_dir}/depend.mk
54
55 TAGS: ${sources}
56 ctags -e --language-force=fortran $^
57
58 clean:
59 rm -f ${execut} ${objects} log
60
61 clobber: clean
62 rm -f *.mod ${makefile_dir}/depend.mk TAGS
63
64 log:
65 hostname >$@
66 ${FC} ${version_flag} >>$@ 2>&1
67 echo -e "\nFC = ${FC}\n\nFFLAGS = ${FFLAGS}\n\nLDLIBS = ${LDLIBS}\n\nLDFLAGS = ${LDFLAGS}" >>$@
68
69 ifeq ($(findstring $(MAKECMDGOALS), clobber depend),)
70 include ${makefile_dir}/depend.mk
71 endif
72
73 -include grep.mk
74 -include nag_rules.mk

  ViewVC Help
Powered by ViewVC 1.1.21