The only two compiler groups that are "set up" are ifort and gfortran, at least for debug options. But we would need to come up with debug flags for each of the compilers so the DEBUG=true would work.<br><br>SERIAL=true and USE_PAPI=true are not related to the compiler groups though, as long as the FC_SERIAL and CC_SERIAL compilers are set properly.<br>
<br>Doug<br><br><div class="gmail_quote">On Mon, Feb 27, 2012 at 8:11 AM, Mark Petersen <span dir="ltr"><<a href="mailto:mpetersen@lanl.gov">mpetersen@lanl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Doug,<br>
<br>
This looks great. I appreciate the general formulation, so that
flag preferences for each compiler type can be kept in the makefile.<br>
<br>
Mark<div><div class="h5"><br>
<br>
On 02/25/12 12:06, Doug Jacobsen wrote:
</div></div><blockquote type="cite"><div><div class="h5">
Hi All,<br>
<br>
In the ocean development group, we have been discussing making
options in the makefile for debug builds. So, I have attached a
proposed revision to the current makefile structure, in order to
make debug, and other modified builds, easier to maintain.<br>
<br>
If you call make incorrectly (without CORE= or a compiler set) you
will get a usage statement now. I collapsed all of the compiler
sets (ifort-serial ifort-serial-papi ifort-papi ifort) into one
master set (ifort). My thoughts here were that it would be easier
to maintain a single set of flags for a compiler than one for each
potential version of the compiler. I also added three "options" to
the make process. Which are as follows.<br>
<br>
DEBUG=true - Builds a debug version of the code, the default is
the optimized build.<br>
SERIAL=true - Builds a serial (non-MPI) version of the code, the
default is to build the parallel (MPI) version of the code.<br>
USE_PAPI=true - Builds a version of MPAS using the PAPI library
for timers and hardware counters. The default is to not use this.<br>
<br>
These can all be appended to make along with the CORE=core option.
So, an example to build a serial debug version of MPAS that uses
PAPI libraries would be<br>
"make gfortran CORE=ocean DEBUG=true SERIAL=true USE_PAPI=true"<br>
<br>
Any values for DEBUG, SERIAL, and USE_PAPI that are not "true"
invoke the default options for those.<br>
<br>
Please take a look at the attached makefile, and let me know if
anyone has any comments or questions about it. I would like to
push this onto the trunk early next week if possible.<br>
<br>
Thanks,<br>
Doug<br>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>_______________________________________________
mpas-developers mailing list
<a href="mailto:mpas-developers@mailman.ucar.edu" target="_blank">mpas-developers@mailman.ucar.edu</a>
<a href="http://mailman.ucar.edu/mailman/listinfo/mpas-developers" target="_blank">http://mailman.ucar.edu/mailman/listinfo/mpas-developers</a>
</pre>
</blockquote>
</div>
</blockquote></div><br>