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 &quot;options&quot; 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>&quot;make gfortran CORE=ocean DEBUG=true SERIAL=true USE_PAPI=true&quot;<br>

<br>Any values for DEBUG, SERIAL, and USE_PAPI that are not &quot;true&quot; 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>