88 ( $( MAKE) all \
99 " FC_PARALLEL = mpxlf90" \
1010 " CC_PARALLEL = mpcc" \
11+ " CXX_PARALLEL = mpixlcxx" \
1112 " FC_SERIAL = xlf90" \
1213 " CC_SERIAL = xlc" \
14+ " CXX_SERIAL = xlcxx" \
1315 " FFLAGS_OPT = -O3 -qrealsize=8" \
1416 " CFLAGS_OPT = -O3" \
17+ " CXXFLAGS_OPT = -O3" \
1518 " LDFLAGS_OPT = -O3" \
1619 " FFLAGS_DEBUG = -O0 -g -C -qrealsize=8" \
1720 " CFLAGS_DEBUG = -O0 -g" \
21+ " CXXFLAGS_DEBUG = -O0 -g" \
1822 " LDFLAGS_DEBUG = -O0 -g" \
1923 " CORE = $( CORE) " \
2024 " DEBUG = $( DEBUG) " \
2529 ( $( MAKE) all \
2630 " FC_PARALLEL = ftn" \
2731 " CC_PARALLEL = cc" \
32+ " CXX_PARALLEL = CC" \
2833 " FC_SERIAL = ftn" \
2934 " CC_SERIAL = cc" \
35+ " CXX_SERIAL = CC" \
3036 " FFLAGS_OPT = -i4 -r8 -gopt -O2 -Mvect=nosse -Kieee -convert big_endian" \
3137 " CFLAGS_OPT = -fast" \
38+ " CXXFLAGS_OPT = -fast" \
3239 " LDFLAGS_OPT = " \
3340 " CORE = $( CORE) " \
3441 " DEBUG = $( DEBUG) " \
5360 ( $( MAKE) all \
5461 " FC_PARALLEL = mpif90" \
5562 " CC_PARALLEL = mpicc" \
63+ " CXX_PARALLEL = mpicxx" \
5664 " FC_SERIAL = pgf90" \
5765 " CC_SERIAL = pgcc" \
66+ " CXX_SERIAL = pgc++" \
5867 " FFLAGS_OPT = -r8 -O3 -byteswapio -Mfree" \
5968 " CFLAGS_OPT = -O3" \
69+ " CXXFLAGS_OPT = -O3" \
6070 " LDFLAGS_OPT = -O3" \
6171 " FFLAGS_DEBUG = -r8 -O0 -g -Mbounds -Mchkptr -byteswapio -Mfree -Ktrap=divz,fp,inv,ovf -traceback" \
6272 " CFLAGS_DEBUG = -O0 -g -traceback" \
73+ " CXXFLAGS_DEBUG = -O0 -g -traceback" \
6374 " LDFLAGS_DEBUG = -O0 -g -Mbounds -Mchkptr -Ktrap=divz,fp,inv,ovf -traceback" \
6475 " CORE = $( CORE) " \
6576 " DEBUG = $( DEBUG) " \
@@ -70,10 +81,13 @@ pgi-nersc:
7081 ( $( MAKE) all \
7182 " FC_PARALLEL = ftn" \
7283 " CC_PARALLEL = cc" \
84+ " CXX_PARALLEL = CC" \
7385 " FC_SERIAL = ftn" \
7486 " CC_SERIAL = cc" \
87+ " CXX_SERIAL = CC" \
7588 " FFLAGS_OPT = -r8 -O3 -byteswapio -Mfree" \
7689 " CFLAGS_OPT = -O3" \
90+ " CXXFLAGS_OPT = -O3" \
7791 " LDFLAGS_OPT = -O3" \
7892 " CORE = $( CORE) " \
7993 " DEBUG = $( DEBUG) " \
@@ -84,10 +98,13 @@ pgi-llnl:
8498 ( $( MAKE) all \
8599 " FC_PARALLEL = mpipgf90" \
86100 " CC_PARALLEL = pgcc" \
101+ " CXX_PARALLEL = mpipgcxx" \
87102 " FC_SERIAL = pgf90" \
88103 " CC_SERIAL = pgcc" \
104+ " CXX_SERIAL = pgc++" \
89105 " FFLAGS_OPT = -i4 -r8 -g -O2 -byteswapio" \
90106 " CFLAGS_OPT = -fast" \
107+ " CXXFLAGS_OPT = -fast" \
91108 " LDFLAGS_OPT = " \
92109 " CORE = $( CORE) " \
93110 " DEBUG = $( DEBUG) " \
@@ -98,13 +115,17 @@ ifort:
98115 ( $( MAKE) all \
99116 " FC_PARALLEL = mpif90" \
100117 " CC_PARALLEL = mpicc" \
118+ " CXX_PARALLEL = mpicxx" \
101119 " FC_SERIAL = ifort" \
102120 " CC_SERIAL = icc" \
121+ " CXX_SERIAL = icpc" \
103122 " FFLAGS_OPT = -real-size 64 -O3 -convert big_endian -FR" \
104123 " CFLAGS_OPT = -O3" \
124+ " CXXFLAGS_OPT = -O3" \
105125 " LDFLAGS_OPT = -O3" \
106126 " FFLAGS_DEBUG = -real-size 64 -g -convert big_endian -FR -CU -CB -check all -fpe0 -traceback" \
107127 " CFLAGS_DEBUG = -g -fpe0 -traceback" \
128+ " CXXFLAGS_DEBUG = -g -fpe0 -traceback" \
108129 " LDFLAGS_DEBUG = -g -fpe0 -traceback" \
109130 " CORE = $( CORE) " \
110131 " DEBUG = $( DEBUG) " \
@@ -115,13 +136,17 @@ ifort-gcc:
115136 ( $( MAKE) all \
116137 " FC_PARALLEL = mpif90" \
117138 " CC_PARALLEL = mpicc" \
139+ " CXX_PARALLEL = mpicxx" \
118140 " FC_SERIAL = ifort" \
119141 " CC_SERIAL = gcc" \
142+ " CXX_SERIAL = g++" \
120143 " FFLAGS_OPT = -real-size 64 -O3 -convert big_endian -FR" \
121144 " CFLAGS_OPT = -O3" \
145+ " CXXFLAGS_OPT = -O3" \
122146 " LDFLAGS_OPT = -O3" \
123147 " FFLAGS_DEBUG = -real-size 64 -g -convert big_endian -FR -CU -CB -check all -fpe0 -traceback" \
124148 " CFLAGS_DEBUG = -g" \
149+ " CXXFLAGS_DEBUG = -g" \
125150 " LDFLAGS_DEBUG = -g -fpe0 -traceback" \
126151 " CORE = $( CORE) " \
127152 " DEBUG = $( DEBUG) " \
@@ -132,30 +157,17 @@ gfortran:
132157 ( $( MAKE) all \
133158 " FC_PARALLEL = mpif90" \
134159 " CC_PARALLEL = mpicc" \
160+ " CXX_PARALLEL = mpicxx" \
135161 " FC_SERIAL = gfortran" \
136162 " CC_SERIAL = gcc" \
163+ " CXX_SERIAL = g++" \
137164 " FFLAGS_OPT = -O3 -m64 -ffree-line-length-none -fdefault-real-8 -fdefault-double-8 -fconvert=big-endian -ffree-form" \
138165 " CFLAGS_OPT = -O3 -m64" \
166+ " CXXFLAGS_OPT = -O3 -m64" \
139167 " LDFLAGS_OPT = -O3 -m64" \
140168 " FFLAGS_DEBUG = -g -m64 -ffree-line-length-none -fdefault-real-8 -fdefault-double-8 -fconvert=big-endian -ffree-form -fbounds-check -fbacktrace -ffpe-trap=invalid,zero,overflow" \
141169 " CFLAGS_DEBUG = -g -m64" \
142- " LDFLAGS_DEBUG = -g -m64" \
143- " CORE = $( CORE) " \
144- " DEBUG = $( DEBUG) " \
145- " USE_PAPI = $( USE_PAPI) " \
146- " CPPFLAGS = $( MODEL_FORMULATION) -D_MPI -DUNDERSCORE" )
147-
148- gfortran-openmpi :
149- ( $( MAKE) all \
150- " FC_PARALLEL = openmpif90" \
151- " CC_PARALLEL = openmpicc" \
152- " FC_SERIAL = gfortran" \
153- " CC_SERIAL = gcc" \
154- " FFLAGS_OPT = -O3 -m64 -ffree-line-length-none -fdefault-real-8 -fdefault-double-8 -fconvert=big-endian -ffree-form" \
155- " CFLAGS_OPT = -O3 -m64" \
156- " LDFLAGS_OPT = -O3 -m64" \
157- " FFLAGS_DEBUG = -g -m64 -ffree-line-length-none -fdefault-real-8 -fdefault-double-8 -fconvert=big-endian -ffree-form -fbounds-check -fbacktrace -ffpe-trap=invalid,zero,overflow" \
158- " CFLAGS_DEBUG = -g -m64" \
170+ " CXXFLAGS_DEBUG = -O3 -m64" \
159171 " LDFLAGS_DEBUG = -g -m64" \
160172 " CORE = $( CORE) " \
161173 " DEBUG = $( DEBUG) " \
@@ -166,10 +178,13 @@ g95:
166178 ( $( MAKE) all \
167179 " FC_PARALLEL = mpif90" \
168180 " CC_PARALLEL = mpicc" \
181+ " CXX_PARALLEL = mpicxx" \
169182 " FC_SERIAL = g95" \
170183 " CC_SERIAL = gcc" \
184+ " CXX_SERIAL = g++" \
171185 " FFLAGS_OPT = -O3 -ffree-line-length-huge -r8 -fendian=big" \
172186 " CFLAGS_OPT = -O3" \
187+ " CXXFLAGS_OPT = -O3" \
173188 " LDFLAGS_OPT = -O3" \
174189 " CORE = $( CORE) " \
175190 " DEBUG = $( DEBUG) " \
@@ -180,10 +195,13 @@ pathscale-nersc:
180195 ( $( MAKE) all \
181196 " FC_PARALLEL = ftn" \
182197 " CC_PARALLEL = cc" \
198+ " CXX_PARALLEL = CC" \
183199 " FC_SERIAL = ftn" \
184200 " CC_SERIAL = cc" \
201+ " CXX_SERIAL = CC" \
185202 " FFLAGS_OPT = -r8 -O3 -freeform -extend-source" \
186203 " CFLAGS_OPT = -O3" \
204+ " CXXFLAGS_OPT = -O3" \
187205 " LDFLAGS_OPT = -O3" \
188206 " CORE = $( CORE) " \
189207 " DEBUG = $( DEBUG) " \
@@ -194,24 +212,52 @@ cray-nersc:
194212 ( $( MAKE) all \
195213 " FC_PARALLEL = ftn" \
196214 " CC_PARALLEL = cc" \
215+ " CXX_PARALLEL = CC" \
197216 " FC_SERIAL = ftn" \
198217 " CC_SERIAL = cc" \
218+ " CXX_SERIAL = CC" \
199219 " FFLAGS_OPT = -default64 -O3 -f free" \
200220 " CFLAGS_OPT = -O3" \
221+ " CXXFLAGS_OPT = -O3" \
201222 " LDFLAGS_OPT = -O3" \
202223 " CORE = $( CORE) " \
203224 " DEBUG = $( DEBUG) " \
204225 " USE_PAPI = $( USE_PAPI) " \
205226 " CPPFLAGS = $( MODEL_FORMULATION) -D_MPI -DUNDERSCORE" )
206227
228+ gnu-nersc :
229+ ( $( MAKE) all \
230+ " FC_PARALLEL = ftn" \
231+ " CC_PARALLEL = cc" \
232+ " CXX_PARALLEL = CC" \
233+ " FC_SERIAL = ftn" \
234+ " CC_SERIAL = cc" \
235+ " CXX_SERIAL = CC" \
236+ " FFLAGS_OPT = -O3 -m64 -ffree-line-length-none -fdefault-real-8 -fdefault-double-8 -fconvert=big-endian -ffree-form" \
237+ " CFLAGS_OPT = -O3 -m64" \
238+ " CXXFLAGS_OPT = -O3 -m64" \
239+ " LDFLAGS_OPT = -O3 -m64" \
240+ " FFLAGS_DEBUG = -g -m64 -ffree-line-length-none -fdefault-real-8 -fdefault-double-8 -fconvert=big-endian -ffree-form" \
241+ " CFLAGS_DEBUG = -g -m64" \
242+ " CXXFLAGS_DEBUG = -g -m64" \
243+ " LDFLAGS_DEBUG = -g -m64" \
244+ " CORE = $( CORE) " \
245+ " DEBUG = $( DEBUG) " \
246+ " SERIAL = $( SERIAL) " \
247+ " USE_PAPI = $( USE_PAPI) " \
248+ " CPPFLAGS = $( MODEL_FORMULATION) -DUNDERSCORE -D_MPI $( FILE_OFFSET) $( ZOLTAN_DEFINE) " )
249+
207250intel-nersc :
208251 ( $( MAKE) all \
209252 " FC_PARALLEL = ftn" \
210253 " CC_PARALLEL = cc" \
254+ " CXX_PARALLEL = CC" \
211255 " FC_SERIAL = ftn" \
212256 " CC_SERIAL = cc" \
257+ " CXX_SERIAL = CC" \
213258 " FFLAGS_OPT = -real-size 64 -O3 -convert big_endian -FR" \
214259 " CFLAGS_OPT = -O3" \
260+ " CXXFLAGS_OPT = -O3" \
215261 " LDFLAGS_OPT = -O3" \
216262 " CORE = $( CORE) " \
217263 " DEBUG = $( DEBUG) " \
@@ -222,13 +268,17 @@ bluegene:
222268 ( $( MAKE) all \
223269 " FC_PARALLEL = mpixlf95_r" \
224270 " CC_PARALLEL = mpixlc_r" \
271+ " CXX_PARALLEL = mpixlcxx_r" \
225272 " FC_SERIAL = bgxlf95_r" \
226273 " CC_SERIAL = bgxlc_r" \
274+ " CXX_SERIAL = bgxlc++_r" \
227275 " FFLAGS_OPT = -O2 -g -qrealsize=8" \
228276 " CFLAGS_OPT = -O2 -g" \
277+ " CXXFLAGS_OPT = -O2 -g" \
229278 " LDFLAGS_OPT = -O2 -g" \
230279 " FFLAGS_DEBUG = -O0 -g -C -qinitalloc -qinitauto -qrealsize=8" \
231280 " CFLAGS_DEBUG = -O0 -g" \
281+ " CXXFLAGS_DEBUG = -O0 -g" \
232282 " LDFLAGS_DEBUG = -O0 -g" \
233283 " CORE = $( CORE) " \
234284 " DEBUG = $( DEBUG) " \
@@ -295,11 +345,13 @@ ifeq "$(DEBUG)" "true"
295345ifndef FFLAGS_DEBUG
296346 FFLAGS=$(FFLAGS_OPT)
297347 CFLAGS=$(CFLAGS_OPT)
348+ CXXFLAGS=$(CXXFLAGS_OPT)
298349 LDFLAGS=$(LDFLAGS_OPT)
299350 DEBUG_MESSAGE="Debug flags are not defined for this compile group. Defaulting to Optimized flags"
300351else # FFLAGS_DEBUG IF
301352 FFLAGS=$(FFLAGS_DEBUG)
302353 CFLAGS=$(CFLAGS_DEBUG)
354+ CXXFLAGS=$(CXXFLAGS_DEBUG)
303355 LDFLAGS=$(LDFLAGS_DEBUG)
304356 override CPPFLAGS += -DMPAS_DEBUG
305357 DEBUG_MESSAGE="Debugging is on."
@@ -308,12 +360,14 @@ endif # FFLAGS_DEBUG IF
308360else # DEBUG IF
309361 FFLAGS=$(FFLAGS_OPT)
310362 CFLAGS=$(CFLAGS_OPT)
363+ CXXFLAGS=$(CXXFLAGS_OPT)
311364 LDFLAGS=$(LDFLAGS_OPT)
312365 DEBUG_MESSAGE="Debugging is off."
313366endif # DEBUG IF
314367
315368FC =$(FC_PARALLEL )
316369CC =$(CC_PARALLEL )
370+ CXX =$(CXX_PARALLEL )
317371SFC =$(FC_SERIAL )
318372SCC =$(CC_SERIAL )
319373PARALLEL_MESSAGE ="Parallel version is on."
@@ -428,12 +482,14 @@ mpas_main:
428482ifeq "$(AUTOCLEAN ) " "true"
429483 $(RM) .mpas_core_*
430484endif
431- cd src; $(MAKE) -j1 FC="$(FC)" \
485+ cd src; $(MAKE) FC="$(FC)" \
432486 CC ="$(CC ) " \
487+ CXX="$(CXX ) " \
433488 SFC="$(SFC ) " \
434489 SCC="$(SCC ) " \
435490 LINKER="$(LINKER ) " \
436491 CFLAGS="$(CFLAGS ) " \
492+ CXXFLAGS="$(CXXFLAGS ) " \
437493 FFLAGS="$(FFLAGS ) " \
438494 LDFLAGS="$(LDFLAGS ) " \
439495 RM="$(RM ) " \
@@ -450,11 +506,7 @@ endif
450506
451507 @echo "$(EXE_NAME)" > .mpas_core_$(CORE)
452508 if [ -e src/$(EXE_NAME) ]; then mv src/$(EXE_NAME) .; fi
453- if [ -e src/inc/namelist.$(NAMELIST_SUFFIX).defaults ]; then mv src/inc/namelist.$(NAMELIST_SUFFIX).defaults .; fi
454- if [ ! -e namelist.$(NAMELIST_SUFFIX) ]; then cp namelist.$(NAMELIST_SUFFIX).defaults namelist.$(NAMELIST_SUFFIX); fi
455- if [ -e src/inc/streams.$(NAMELIST_SUFFIX).defaults ]; then mv src/inc/streams.$(NAMELIST_SUFFIX).defaults .; fi
456- if [ ! -e streams.$(NAMELIST_SUFFIX) ]; then cp streams.$(NAMELIST_SUFFIX).defaults streams.$(NAMELIST_SUFFIX); fi
457- for f in `find src/inc -name "stream_list.*"`; do mv $$f .; done
509+ ( cd src/core_$(CORE); $(MAKE) ROOT_DIR="$(PWD)" post_build )
458510 @echo "*******************************************************************************"
459511 @echo $(DEBUG_MESSAGE)
460512 @echo $(PARALLEL_MESSAGE)
@@ -464,8 +516,6 @@ ifeq "$(AUTOCLEAN)" "true"
464516 @echo $(AUTOCLEAN_MESSAGE)
465517endif
466518 @echo $(GEN_F90_MESSAGE)
467- @echo $(NAMELIST_MESSAGE)
468- @echo $(STREAM_MESSAGE)
469519 @echo "*******************************************************************************"
470520clean :
471521 cd src; $(MAKE ) clean RM=" $( RM) " CORE=" $( CORE) "
0 commit comments