The only two compiler groups that are &quot;set up&quot; 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">&lt;<a href="mailto:mpetersen@lanl.gov">mpetersen@lanl.gov</a>&gt;</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 &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>
      <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>