/[lmdze]/trunk/GNUmakefile
ViewVC logotype

Annotation of /trunk/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 90 - (hide annotations)
Wed Mar 12 21:16:36 2014 UTC (10 years, 2 months ago) by guez
File size: 1557 byte(s)
Removed procedures ini_histday, ini_histhf, write_histday and
write_histhf.

Divided file regr_pr_coefoz.f into regr_pr_av.f and
regr_pr_int.f. (Following LMDZ.) Divided module regr_pr_coefoz into
modules regr_pr_av_m and regr_pr_int_m. Renamed regr_pr_av_coefoz to
regr_pr_av and regr_pr_int_coefoz to regr_pr_int. The idea is that
those procedures are more general than Mobidic.

Removed argument dudyn of calfis and physiq. dudyn is not used either
in LMDZ. Removed computation in calfis of unused variable zpsrf (not
used either in LMDZ). Removed useless computation of dqfi in calfis
(part 62): the results were overwritten. (Same in LMDZ.)

1 guez 69 # This is a makefile for GNU make.
2 guez 3
3 guez 61 # This makefile builds LMDZE.
4    
5 guez 62 # 1. Source files
6    
7 guez 61 src_root = .
8 guez 3
9 guez 78 VPATH := ${src_root} $(addprefix ${src_root}/, $(shell cat ${src_root}/directories))
10 guez 3
11 guez 70 common_sources := $(shell cat ${src_root}/common_sources)
12 guez 79 src_ce0l_only := $(shell cat ${src_root}/src_ce0l_only)
13     src_gcm_only := $(shell cat ${src_root}/src_gcm_only)
14     sources = ${src_ce0l_only} ${src_gcm_only} ${common_sources}
15 guez 3
16 guez 79 # 2. Objects and executable files
17 guez 71
18 guez 83 obj_ce0l := $(sort ${common_sources:.f=.o} ${src_ce0l_only:.f=.o})
19     obj_gcm := $(sort ${common_sources:.f=.o} ${src_gcm_only:.f=.o})
20     objects := $(sources:.f=.o)
21 guez 79 execut = ce0l gcm
22 guez 62
23 guez 69 # 3. Compiler-dependent part
24 guez 70
25 guez 69 mode = debug
26 guez 81 include Compiler_options/${FC}_${mode}.mk
27 guez 3
28 guez 62 # 4. Rules
29    
30 guez 69 SHELL = bash
31 guez 78 .DELETE_ON_ERROR:
32 guez 69 .PHONY: all clean clobber depend
33 guez 79 all: ${execut} log
34    
35     ${execut}:
36     $(FC) $(LDFLAGS) $^ $(LDLIBS) -o $@
37    
38 guez 70 ce0l: ${obj_ce0l}
39 guez 3 gcm: ${obj_gcm}
40    
41 guez 61 depend ${src_root}/depend.mk:
42 guez 82 makedepf90 -free -Wmissing -Wconfused $(addprefix -I, ${VPATH}) -nosrc $(addprefix -u , netcdf numer_rec_95 netcdf95 nr_util jumble) ${sources} >${src_root}/depend.mk
43 guez 61
44 guez 79 ${src_root}/TAGS: ${sources}
45 guez 78 ctags -e --language-force=fortran -f $@ $^
46 guez 3
47     clean:
48 guez 79 rm -f ${execut} ${objects} log
49 guez 3
50     clobber: clean
51 guez 62 rm -f *.mod ${src_root}/depend.mk ${src_root}/TAGS
52 guez 3
53 guez 79 log:
54     hostname >$@
55     ${FC} ${version_flag} >>$@ 2>&1
56 guez 69 echo -e "\nFC = ${FC}\n\nFFLAGS = ${FFLAGS}\n\nLDLIBS = ${LDLIBS}\n\nLDFLAGS = ${LDFLAGS}" >>$@
57 guez 62
58 guez 90 ifeq ($(findstring $(MAKECMDGOALS), clobber depend),)
59 guez 61 include ${src_root}/depend.mk
60 guez 78 endif
61 guez 3
62     -include grep.mk
63 guez 7 -include nag_rules.mk

  ViewVC Help
Powered by ViewVC 1.1.21