-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
173 lines (131 loc) · 5.22 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#------------------------------------------------------------------------------
# GEOS-Chem Global Chemical Transport Model #
#------------------------------------------------------------------------------
#BOP
#
# !MODULE: Makefile (Main-level)
#
# !DESCRIPTION: This is a "router" makefile. It calls the main GEOS-Chem
# Makefile (in the GeosCore subdirectory) to direct the Unix "make" utility
# how to build the GEOS-Chem source code.
#\\
#\\
# !REMARKS:
# To build the programs, call "make" with the following syntax:
# .
# make -jN TARGET REQUIRED-FLAGS [ OPTIONAL-FLAGS ]
# .
# To display a complete list of options, type "make help".
# .
# Makefile uses the following variables:
# .
# Variable Description
# -------- -----------
# GEOSAPM Specifies the directory where GEOS-Chem + APM routines are found
# GEOSDIR Specifies the directory where GEOS-Chem "core" routines are found
# GTMM Specifies the directory where the GTMM routines are found
#
# !REVISION HISTORY:
# 16 Sep 2009 - R. Yantosca - Initial version
# 24 Nov 2009 - R. Yantosca - Now call libbpch and libcore targets in
# the Makefile in the GeosCore sub-directory
# 11 Dec 2009 - R. Yantosca - Now get SHELL from Makefile_header.mk
# 25 Jan 2010 - R. Yantosca - Added Makefile targets for TOMAS microphysics
# 16 Feb 2011 - R. Yantosca - Added Makefile targets for APM microphysics
# 04 Nov 2011 - R. Yantosca - Remove ESMF targets, those are not needed
# 24 Jan 2012 - R. Yantosca - Also add libnc target to build netCDF utils
# 11 May 2012 - R. Yantosca - Now make sure that all targets of the
# GeosCore/Makefile are pointed to properly
# 20 Aug 2013 - R. Yantosca - Make sure Makefile names are consistent
# 18 Sep 2013 - R. Yantosca - Remove GeosTomas, that is now gone
# 18 Sep 2013 - M. Long - Add Makefile target "hpc"
# 15 Jan 2014 - R. Yantosca - Updated comments
# 19 Mar 2014 - R. Yantosca - Add more visible comment section dividers
# 04 Jun 2015 - R. Yantosca - Now add "wipeout" and "debug" targets
#EOP
#------------------------------------------------------------------------------
#BOC
# Directories
GEOSAPM :=GeosApm
GEOSDIR :=GeosCore
GTMM :=GTMM
###############################################################################
### ###
### Makefile targets: type "make help" for a complete list! ###
### ###
###############################################################################
.PHONY: all lib libcore libheaders libkpp libiso libnc librad libutil
.PHONY: exe clean realclean doc docclean tauclean help wipeout debug
all:
@$(MAKE) -C $(GEOSDIR) all
hpc:
@$(MAKE) -C $(GEOSDIR) hpc
lib:
@$(MAKE) -C $(GEOSDIR) lib
libcore:
@$(MAKE) -C $(GEOSDIR) libcore
libheaders:
@$(MAKE) -C $(GEOSDIR) libheaders
libiso:
@$(MAKE) -C $(GEOSDIR) libiso
libkpp:
@$(MAKE) -C $(GEOSDIR) libkpp
libnc:
@$(MAKE) -C $(GEOSDIR) libnc
ncdfcheck:
@$(MAKE) -C $(GEOSDIR) ncdfcheck
librad:
@$(MAKE) -C $(GEOSDIR) librad
libutil:
@$(MAKE) -C $(GEOSDIR) libutil
exe:
@$(MAKE) -C $(GEOSDIR) exe
clean:
@$(MAKE) -C $(GEOSDIR) clean
distclean:
@$(MAKE) -C $(GEOSDIR) distclean
realclean:
@$(MAKE) -C $(GEOSDIR) realclean
doc:
@$(MAKE) -C $(GEOSDIR) doc
docclean:
@$(MAKE) -C $(GEOSDIR) docclean
tauclean:
find . -name '*.pdb' -o -name '*.inst.*' -o -name '*.pp.*' -o -name '*.continue.*' | xargs rm -f
debug:
@$(MAKE) -C $(GEOSDIR) debug
wipeout:
@$(MAKE) -C $(GEOSDIR) wipeout
help:
@$(MAKE) -C $(GEOSDIR) help
headerinfo:
@$(MAKE) -C $(GEOSDIR) headerinfo
###############################################################################
### ###
### Targets for Hg simulation w/ Global Terrestrial Mercury Model (GTMM) ###
### ###
###############################################################################
.PHONY: allhg libhg libgtmm exehg
allhg:
@$(MAKE) -C $(GEOSDIR) GTMM_Hg=yes allhg
libhg:
@$(MAKE) -C $(GEOSDIR) GTMM_Hg=yes libhg
ligbtmm:
@$(MAKE) -C $(GEOSDIR) GTMM_Hg=yes libgtmm
exehg:
@$(MAKE) -C $(GEOSDIR) GTMM_Hg=yes exehg
###############################################################################
### ###
### Targets for APM aerosol microphysics simulations ###
### ###
###############################################################################
.PHONY: apm libapm exeapm cleanapm
apm:
@$(MAKE) -C $(GEOSAPM) APM=yes all
libapm:
@$(MAKE) -C $(GEOSAPM) APM=yes lib
exeapm:
@$(MAKE) -C $(GEOSAPM) APM=yes exe
cleanapm:
@$(MAKE) -C $(GEOSAPM) APM=yes clean
#EOC