New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
annex_bld_cfg.html in vendors/fcm/current/doc/user_guide – NEMO

source: vendors/fcm/current/doc/user_guide/annex_bld_cfg.html @ 1980

Last change on this file since 1980 was 1980, checked in by flavoni, 14 years ago

importing fcm vendor

File size: 26.1 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head>
6  <meta name="generator" content=
7  "HTML Tidy for Linux/x86 (vers 1st December 2004), see www.w3.org" />
8
9  <title>Annex: Declarations in FCM build configuration file</title>
10  <meta name="author" content="FCM development team" />
11  <meta name="descriptions" content="User Guide Annex" />
12  <meta name="keywords" content="FCM, user guide, annex" />
13  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14  <link rel="stylesheet" type="text/css" href="style.css" />
15<script type="text/javascript" src="fcm.js">
16</script>
17</head>
18
19<body onload=
20"javascript: FCM.load('doc/user_guide/', null, [['.', 'FCM User Guide']]);">
21  <div id="document-info">
22    <address id="fcm-js-trail"></address>
23
24    <address id="fcm-js-maintenance"></address>
25  </div>
26
27  <h1>Annex: Declarations in FCM build configuration file</h1>
28
29  <p>The following is a list of supported declarations for the configuration
30  file used by the FCM build system. Unless otherwise stated, the fields in all
31  declaration labels are not case sensitive. Build declarations can be made
32  either in a build configuration file or in an extract configuration file. In
33  the latter case, the prefix <code>BLD::</code> must be added at the beginning
34  of each label to inform the extract system that the declaration is a build
35  system declaration. (In a build configuration file, the prefix
36  <code>BLD::</code> is optional.)</p>
37
38  <dl>
39    <dt>CFG::TYPE</dt>
40
41    <dd>
42      <p>The configuration file type, the value should always be
43      <samp>bld</samp> for a build configuration file. This declaration is
44      compulsory for all build configuration files. (This declaration is
45      automatic when the extract system creates a build configuration
46      file.)</p>
47
48      <p>Example:</p>
49      <pre>
50cfg::type  bld
51</pre>
52    </dd>
53
54    <dt>CFG::VERSION</dt>
55
56    <dd>
57      <p>The file format version, currently <samp>1.0</samp> - a version is
58      included so that we shall be able to read the configuration file
59      correctly should we decide to change its format in the future. (This
60      declaration is automatic when the extract system creates a build
61      configuration file.)</p>
62
63      <p>Example:</p>
64      <pre>
65cfg::version  1.0
66</pre>
67    </dd>
68
69    <dt>%&lt;name&gt;</dt>
70
71    <dd>
72      <p><code>%&lt;name&gt;</code> declares an internal variable
73      <var>&lt;name&gt;</var> that can later be re-used.</p>
74
75      <p>Example:</p>
76      <pre>
77%my_variable  -foo -bar
78tool::fflags  %my_variable
79tool::cflags  %my_variable
80</pre>
81    </dd>
82
83    <dt>INC</dt>
84
85    <dd>
86      <p>This declares the name of a file containing build configuration. The
87      lines in the declared file will be included inline to the current
88      configuration file.</p>
89
90      <p>Example:</p>
91      <pre>
92inc  ~frva/var_stable_22.0/cfg/bld.cfg
93# ... and then your changes ...
94</pre>
95    </dd>
96
97    <dt>
98      DEST[::ROOTDIR]<br />
99      <del>DIR::ROOT</del>
100    </dt>
101
102    <dd>
103      <p>The destination of the build. It must be declared for each build.
104      (This declaration is automatic when the extract system creates a build
105      configuration file. The value is normally the path of the extract
106      destination.)</p>
107
108      <p>Example:</p>
109      <pre>
110dest  $HOME/my_build
111</pre>
112    </dd>
113
114    <dt>USE</dt>
115
116    <dd>
117      <p>This inherits settings from a previous build. The value must be must
118      be either the configuration file or the root directory of a successful
119      build. Output of the build, the tools, the exclude dependency
120      declarations, the file type registers declarations are automatically
121      inherited from the declared build. Source directories and build targets
122      declarations may be inherited depending on the INHERIT declarations. (If
123      you have a USE declaration in an extract, the resulting build
124      configuration file will contain an automatic USE declaration, which
125      expects an inherited build at the extract destination.)</p>
126
127      <p>Example:</p>
128      <pre>
129# Use VAR build 22.0
130USE  ~frva/var_22.0
131</pre>
132    </dd>
133
134    <dt>INHERIT::&lt;name&gt;[::&lt;pcks&gt;]</dt>
135
136    <dd>
137      <p>This declares whether build targets (&lt;name&gt; =
138      <samp>target</samp>) or source directories (&lt;name&gt; =
139      <samp>src</samp>) can be inherited using the USE statement. By default,
140      source directories are inherited, while build targets are not. Use the
141      value <samp>true</samp> to switch on inheritance, or <samp>false</samp>
142      to switch off. For source directories declarations, the name of a
143      sub-package &lt;pcks&gt; can be specified. If a sub-package pcks is
144      specified, the declaration applies only to the files and directories
145      under the sub-package. Otherwise, the declaration applies globally.</p>
146
147      <p>Example:</p>
148      <pre>
149inherit::target   true
150inherit::src      false
151</pre>
152    </dd>
153
154    <dt>SRC[::&lt;pcks&gt;]</dt>
155
156    <dd>
157      <p>This declares a source file/directory. You must specify the
158      sub-package &lt;pcks&gt; if the source file/directory is located outside
159      of the <samp>src/</samp> sub-directory of the build destination or if you
160      want to redefine the sub-package name of the source file/directory. The
161      name of the sub-package &lt;pcks&gt; must be unique. Package names are
162      delimited by double colons <code>::</code> or double underscores
163      <code>__</code>. If you declare a relative path, it is assumed to be
164      relative to the <samp>src/</samp> sub-directory of the build destination.
165      (This declaration is automatic when the extract system creates the build
166      configuration file. The list of declared source directories will be the
167      list of extracted source directories.)</p>
168
169      <p>Example:</p>
170      <pre>
171src::var/code/VarMod_PF  $HOME/var/src/code/VarMod_PF
172</pre>
173    </dd>
174
175    <dt>SEARCH_SRC</dt>
176
177    <dd>
178      <p>This declares a flag to determine whether the build system should
179      search the <samp>src/</samp> sub-directory of the build root for a list
180      of source files. The automatic search is useful if the build system is
181      invoked standalone and the <samp>src/</samp> sub-directory contains the
182      full source tree of the build. The default is to search
183      (<samp>true</samp>). Set the flag to <samp>false</samp> to switch off the
184      behaviour. (When the extract system creates a build configuration file,
185      it declares all source files. Searching of the source sub-directory
186      should not be required, and so this flag is automatically set to
187      <samp>false</samp>.)</p>
188
189      <p>Example:</p>
190      <pre>
191search_src  false
192</pre>
193    </dd>
194
195    <dt>TARGET</dt>
196
197    <dd>
198      <p>Specify the targets for the build. Multiple targets can be declared in
199      one or more declarations. These targets become the dependencies of the
200      default <samp>all</samp> target in the <em>Makefile</em>. It is worth
201      noting that <code>TARGET</code> declarations are cumulative. A later
202      declaration does not override an earlier one - it simply adds more targets
203      to the list.</p>
204
205      <p>Example:</p>
206      <pre>
207target  VarScr_AnalysePF VarScr_CovAccStats
208target  VarScr_CovPFstats
209</pre>
210    </dd>
211
212    <dt>TOOL::&lt;label&gt;[::&lt;pcks&gt;]</dt>
213
214    <dd>
215      <p>This declaration is used to specify a build tool such as the Fortran
216      compiler or its flags. The &lt;label&gt; determines the tool you are
217      declaring. A TOOL declaration normally applies globally. However, where
218      it is sensible to do so, a sub-package &lt;pcks&gt; can be specified. In
219      which case, the declaration applies only to the files and directories
220      under the sub-package. A list of &lt;label&gt; fields is available
221      <a href="#tools-list">later in this annex</a>.</p>
222
223      <p>Example:</p>
224      <pre>
225tool::fc      sxmpif90
226tool::fflags  -Chopt -Pstack
227
228tool::cc      sxmpic++
229tool::cflags  -O nomsg -pvctl nomsg
230
231tool::ar      sxar
232</pre>
233    </dd>
234
235    <dt>EXE_DEP[::&lt;target&gt;]</dt>
236
237    <dd>
238      <p>This declares an extra dependency for either all main program targets
239      or only &lt;target&gt; if it is specified. If &lt;target&gt; is
240      specified, it must be the name of a main program target. The value of the
241      declaration is a space delimited list. Each item in the list can either
242      be a valid name of a sub-package or the name of a valid object target. If
243      a sub-package name is used, the <em>make</em> rule for the main program
244      will be set to depend on all (non-program) object files within the
245      sub-package.</p>
246
247      <p>Example:</p>
248      <pre>
249# Only foo.exe to depend on the package foo::bar and egg.o
250exe_dep::foo.exe  foo::bar egg.o
251
252# All executables to depend on the package foo::bar and egg.o
253exe_dep  foo::bar egg.o
254
255# Only foo.exe to depend on all objects
256exe_dep::foo.exe
257
258# All executables to depend on all objects
259exe_dep
260</pre>
261    </dd>
262
263    <dt>BLOCKDATA[::&lt;target&gt;]</dt>
264
265    <dd>
266      <p>This declares a BLOCKDATA dependency for either all main program
267      targets or only &lt;target&gt; if it is specified. If &lt;target&gt; is
268      specified, it must be the name of a main program target. The value of the
269      declaration is a space delimited list. Each item in the list must be the
270      name of a valid object target containing a Fortran BLOCKDATA program
271      unit.</p>
272
273      <p>Example:</p>
274      <pre>
275# Only foo.exe to depend on blkdata.o
276blockdata::foo.exe  blkdata.o
277
278# All executables to depend on fbd.o
279blockdata  fbd.o
280</pre>
281    </dd>
282
283    <dt>EXCL_DEP[::&lt;pcks&gt;]</dt>
284
285    <dd>
286      <p>This declaration is used to specify whether a particular dependency
287      should be ignored during the automatic dependency scan. If a sub-package
288      &lt;pcks&gt; is specified, the declaration applies only to the files and
289      directories under the sub-package. Otherwise, the declaration applies
290      globally. The value of this declaration must contain one or two fields
291      (separated by the double colon <code>::</code>). The first field denotes
292      the dependency type, and the second field is the dependency target. If
293      the second field is specified, it will only exclude the dependency to the
294      specified target. Otherwise, it will exclude all dependency to the
295      specified type. The following dependency types are supported:</p>
296
297      <dl id="dependency-types">
298        <dt>USE</dt>
299
300        <dd>The dependency target is a Fortran module.</dd>
301
302        <dt>INTERFACE</dt>
303
304        <dd>The dependency target is a Fortran 9X interface block file.</dd>
305
306        <dt>INC</dt>
307
308        <dd>The dependency target is a Fortran INCLUDE file.</dd>
309
310        <dt>H</dt>
311
312        <dd>The dependency target is a pre-processor #include header file.</dd>
313
314        <dt>OBJ</dt>
315
316        <dd>The dependency target is a compiled binary object file.</dd>
317
318        <dt>EXE</dt>
319
320        <dd>The dependency target is an executable binary or script.</dd>
321      </dl>
322
323      <p>N.B. The following dependency targets are in the default list of
324      excluded dependencies:</p>
325
326      <dl>
327        <dt>Intrinsic Fortran modules:</dt>
328
329        <dd>
330          <ul>
331            <li>USE::ISO_C_BINDING</li>
332
333            <li>USE::IEEE_EXCEPTIONS</li>
334
335            <li>USE::IEEE_ARITHMETIC</li>
336
337            <li>USE::IEEE_FEATURES</li>
338          </ul>
339        </dd>
340
341        <dt>Intrinsic Fortran subroutines:</dt>
342
343        <dd>
344          <ul>
345            <li>OBJ::CPU_TIME</li>
346
347            <li>OBJ::GET_COMMAND</li>
348
349            <li>OBJ::GET_COMMAND_ARGUMENT</li>
350
351            <li>OBJ::GET_ENVIRONMENT_VARIABLE</li>
352
353            <li>OBJ::MOVE_ALLOC</li>
354
355            <li>OBJ::MVBITS</li>
356
357            <li>OBJ::RANDOM_NUMBER</li>
358
359            <li>OBJ::RANDOM_SEED</li>
360
361            <li>OBJ::SYSTEM_CLOCK</li>
362          </ul>
363        </dd>
364
365        <dt>Dummy declarations:</dt>
366
367        <dd>
368          <ul>
369            <li>OBJ::NONE</li>
370
371            <li>EXE::NONE</li>
372          </ul>
373        </dd>
374      </dl>
375
376      <p>Example:</p>
377      <pre>
378excl_dep  USE::YourFortranMod
379excl_dep  INTERFACE::HerFortran.interface
380excl_dep  INC::HisFortranInc.inc
381excl_dep  H::TheirHeader.h
382excl_dep  OBJ
383excl_dep  EXE
384</pre>
385    </dd>
386
387    <dt>DEP::&lt;pcks&gt;</dt>
388
389    <dd>
390      <p>This declaration is used to specify a dependency for a source file in
391      &lt;pcks&gt;. The value of this declaration must contain two fields
392      (separated by the double colon <code>::</code>). The first field denotes
393      the dependency type, and the second field is the dependency target. The
394      dependency types are the same as those for EXCL_DEP described <a href=
395      "#dependency-types">above</a>.</p>
396
397      <p>Example:</p>
398      <pre>
399dep::foo/bar.f  USE::your_fortran_mod
400dep::foo/bar.f  INTERFACE::her_fortran.interface
401dep::foo/bar.f  INC::his_fortran_inc.inc
402dep::foo/bar.f  H::their_header.h
403dep::foo/bar.f  OBJ::its_object.o
404dep::foo/egg    EXE::ham
405</pre>
406    </dd>
407
408    <dt>NO_DEP::&lt;pcks&gt;</dt>
409
410    <dd>
411      <p>This declaration is used to switch off/on dependency checking. If
412      &lt;pcks&gt; is specified in the label, the declaration applies to the
413      specified sub-package only.</p>
414
415      <p>Example:</p>
416      <pre>
417# Switch on dependency checking only for "foo"
418no_dep      true
419no_dep::foo false
420</pre>
421    </dd>
422
423    <dt>EXE_NAME::&lt;name&gt;</dt>
424
425    <dd>
426      <p>This renames the executable target of a main program source file
427      &lt;name&gt; to the specified value.</p>
428
429      <p>Example:</p>
430      <pre>
431# Rename executable target of foo.f90 from "foo.exe" to "bar"
432exe_name::foo  bar
433</pre>
434    </dd>
435
436    <dt>LIB[::&lt;pcks&gt;]</dt>
437
438    <dd>
439      <p>This declares the name of a library archive target. If &lt;pcks&gt; is
440      specified in the label, the declaration applies to the library archive
441      target for that sub-package only. If set, the name of the library archive
442      target will be named <samp>lib&lt;value&gt;.a</samp>, where &lt;value&gt;
443      is the value of the declaration. If not specified, the default is to name
444      the global library <samp>libfcm_default.a</samp>. For a library archive
445      of a sub-package, the default is to name its library after the name of
446      the sub-package.</p>
447
448      <p>Example:</p>
449      <pre>
450# Rename the top level library "libfoo.a"
451lib  foo
452
453# Rename the library for the sub-package "egg::ham"
454# from "libegg__ham.a" to "libegg-ham.a"
455lib::egg/ham  egg-ham
456</pre>
457    </dd>
458
459    <dt>PP[::&lt;pcks&gt;]</dt>
460
461    <dd>
462      <p>This declares whether a pre-processing stage is required. To switch on
463      pre-processing, set the value to <samp>true</samp>. If &lt;pcks&gt; is
464      specified in the label, the flag applies to the files within that
465      sub-package only. Otherwise, the flag affects source directories in all
466      packages. The pre-processing stage is useful if the pre-processor changes
467      the dependency and/or the argument list of the source files. The default
468      behaviour is skip the pre-processing stage for all source.</p>
469
470      <p>Example:</p>
471      <pre>
472pp::gen true  # switch on pre-processing for "gen" only
473pp      true  # switch on pre-processing globally
474</pre>
475    </dd>
476
477    <dt>SRC_TYPE::&lt;pcks&gt;</dt>
478
479    <dd>
480      <p>This declaration is used to (re-)register the file type of the
481      sub-package &lt;pcks&gt; to associate with different file types. The
482      value of the declaration is a list of type flags delimited by the double
483      colon <code>::</code>. Each type flag is used internally to describe the
484      nature of the file. For example, a Fortran free source form containing a
485      main program is registered as
486      <code>FORTRAN::FORTRAN9X::SOURCE::PROGRAM</code>. A list of type flags is
487      available <a href="#infile-ext-types">later in this annex</a>.</p>
488
489      <p>Example:</p>
490      <pre>
491src_type::foo/bar.f  FORTRAN::FORTRAN9X::SOURCE::PROGRAM
492</pre>
493    </dd>
494
495    <dt>INFILE_EXT::&lt;ext&gt;</dt>
496
497    <dd>
498      <p>This declaration is used to re-register particular file name
499      extensions &lt;ext&gt; to associate with different file types. The value
500      of the declaration has a similar format to that of SRC_TYPE declaration
501      described above. A list of type flags is available <a href=
502      "#infile-ext-types">later in this annex</a>.</p>
503
504      <p>Example:</p>
505      <pre>
506infile_ext::h90  CPP::INCLUDE
507infile_ext::inc  FORTRAN::FORTRAN9X::INCLUDE
508</pre>
509    </dd>
510
511    <dt>OUTFILE_EXT::&lt;type&gt;</dt>
512
513    <dd>
514      <p>This declaration is used to re-register the output file extension for
515      a particular &lt;type&gt; of output files. The value must be a valid file
516      extension. The following is a list of output file types in-use by the
517      build system:</p>
518
519      <dl id="outfile-ext-types">
520        <dt>OBJ</dt>
521
522        <dd>compiled object files<br />
523        [default = .o]</dd>
524
525        <dt>MOD</dt>
526
527        <dd>compiled Fortran module information files<br />
528        [default = .mod]</dd>
529
530        <dt>EXE</dt>
531
532        <dd>binary executables<br />
533        [default = .exe]</dd>
534
535        <dt>DONE</dt>
536
537        <dd><em>done</em> files for compiled source<br />
538        [default = .done]</dd>
539
540        <dt>IDONE</dt>
541
542        <dd><em>done</em> files for included source<br />
543        [default = .idone]</dd>
544
545        <dt>FLAGS</dt>
546
547        <dd><em>flags</em> files, compiler flags config<br />
548        [default = .flags]</dd>
549
550        <dt>INTERFACE</dt>
551
552        <dd>interface files for F9X standalone subroutines/functions<br />
553        [default = .interface]</dd>
554
555        <dt>LIB</dt>
556
557        <dd>archive object library<br />
558        [default = .a]</dd>
559
560        <dt>TAR</dt>
561
562        <dd>TAR archive<br />
563        [default = .tar]</dd>
564      </dl>
565
566      <p>Example:</p>
567      <pre>
568# Output F9X interface files will now have ".foo" extension
569outfile_ext::interface  .foo
570</pre>
571    </dd>
572  </dl>
573
574  <p id="tools-list">The following is a list of &lt;label&gt; fields that can
575  be used with a <code>TOOL</code> declaration. Those marked with an asterisk
576  (*) accept declarations at sub-package levels.</p>
577
578  <dl>
579    <dt>FC</dt>
580
581    <dd>The Fortran compiler.<br />
582    [default = <samp>f90</samp>]</dd>
583
584    <dt>FFLAGS *</dt>
585
586    <dd>Options used by the Fortran compiler.<br />
587    [default = ""]</dd>
588
589    <dt>FC_COMPILE</dt>
590
591    <dd>The option used by the Fortran compiler to suppress the linking
592    stage.<br />
593    [default = <samp>-c</samp>]</dd>
594
595    <dt>FC_INCLUDE</dt>
596
597    <dd>The option used by the Fortran compiler to specify the include search
598    path.<br />
599    [default = <samp>-I</samp>]</dd>
600
601    <dt>FC_MODSEARCH</dt>
602
603    <dd>The option used by the Fortran compiler to specify the search
604    path for the compiled module definition files. This option is often
605    unnecessary as it is normally covered by the include search path.<br />
606    [default = ""]</dd>
607
608    <dt>FC_DEFINE</dt>
609
610    <dd>The option used by the Fortran compiler to define a pre-processor
611    definition macro.<br />
612    [default = <samp>-D</samp>]</dd>
613
614    <dt>FC_OUTPUT</dt>
615
616    <dd>The option used by the Fortran compiler to specify the output file
617    name.<br />
618    [default = <samp>-o</samp>]</dd>
619
620    <dt>CC</dt>
621
622    <dd>The C compiler.<br />
623    [default = <samp>cc</samp>]</dd>
624
625    <dt>CFLAGS *</dt>
626
627    <dd>Options used by the C compiler.<br />
628    [default = ""]</dd>
629
630    <dt>CC_COMPILE</dt>
631
632    <dd>The option used by the C compiler to suppress the linking stage.<br />
633    [default = <samp>-c</samp>]</dd>
634
635    <dt>CC_INCLUDE</dt>
636
637    <dd>The option used by the C compiler to specify the include search
638    path.<br />
639    [default = <samp>-I</samp>]</dd>
640
641    <dt>CC_DEFINE</dt>
642
643    <dd>The option used by the C compiler to define a pre-processor definition
644    macro.<br />
645    [default = <samp>-D</samp>]</dd>
646
647    <dt>CC_OUTPUT</dt>
648
649    <dd>The option used by the C compiler to specify the output file
650    name.<br />
651    [default = <samp>-o</samp>]</dd>
652
653    <dt>LD *</dt>
654
655    <dd>Name of the linker or loader for linking object files into an
656    executable. If not set, use the compiler of the source file containing the
657    main program.<br />
658    [default = ""]</dd>
659
660    <dt>LDFLAGS *</dt>
661
662    <dd>The flags used by the linker or loader.<br />
663    [default = ""]</dd>
664
665    <dt>LD_OUTPUT</dt>
666
667    <dd>The option used by the linker or loader for the output file name (other
668    than the default <samp>a.out</samp>).<br />
669    [default = <samp>-o</samp>]</dd>
670
671    <dt>LD_LIBSEARCH</dt>
672
673    <dd>The option used by the linker or loader for specifying the search path
674    for link libraries.<br />
675    [default = <samp>-L</samp>]</dd>
676
677    <dt>LD_LIBLINK</dt>
678
679    <dd>The option used by the linker or loader command for linking with a
680    library.<br />
681    [default = <samp>-l</samp>]</dd>
682
683    <dt>AR</dt>
684
685    <dd>The archive command.<br />
686    [default = <samp>ar</samp>]</dd>
687
688    <dt>ARFLAGS</dt>
689
690    <dd>The options used for the archive command to create a library.<br />
691    [default = <samp>rs</samp>]</dd>
692
693    <dt>FPP</dt>
694
695    <dd>The Fortran pre-processor command.<br />
696    [default = <samp>cpp</samp>]</dd>
697
698    <dt>FPPKEYS *</dt>
699
700    <dd>The Fortran pre-processor will pre-define each word in this setting as
701    a macro.<br />
702    [default = ""]</dd>
703
704    <dt>FPPFLAGS *</dt>
705
706    <dd>The options used by the Fortran pre-processor.<br />
707    [default = <samp>-P -traditional</samp>]</dd>
708
709    <dt>FPP_DEFINE</dt>
710
711    <dd>The option used by the Fortran pre-processor to define a macro.<br />
712    [default = <samp>-D</samp>]</dd>
713
714    <dt>FPP_INCLUDE</dt>
715
716    <dd>The option used by the Fortran pre-processor to specify the include
717    search path.<br />
718    [default = <samp>-I</samp>]</dd>
719
720    <dt>CPP</dt>
721
722    <dd>The C pre-processor command.<br />
723    [default = <samp>cpp</samp>]</dd>
724
725    <dt>CPPKEYS *</dt>
726
727    <dd>The C pre-processor will pre-define each word in this setting as a
728    macro.<br />
729    [default = ""]</dd>
730
731    <dt>CPPFLAGS *</dt>
732
733    <dd>The options used by the C pre-processor.<br />
734    [default = <samp>-C</samp>]</dd>
735
736    <dt>CPP_DEFINE</dt>
737
738    <dd>The option used by the C pre-processor to define a macro.<br />
739    [default = <samp>-D</samp>]</dd>
740
741    <dt>CPP_INCLUDE</dt>
742
743    <dd>The option used by the C pre-processor to specify the include search
744    path.<br />
745    [default = <samp>-I</samp>]</dd>
746
747    <dt>MAKE</dt>
748
749    <dd>The <code>make</code> command.<br />
750    [default = <samp>make</samp>]</dd>
751
752    <dt>MAKEFLAGS</dt>
753
754    <dd>The options used by the <code>make</code> command.<br />
755    [default = ""]</dd>
756
757    <dt>MAKE_SILENT</dt>
758
759    <dd>The option used by the <code>make</code> command to specify silent
760    operation.<br />
761    [default = <samp>-s</samp>]</dd>
762
763    <dt>MAKE_JOB</dt>
764
765    <dd>The option used by the <code>make</code> command to specify the number
766    jobs to run simultaneously.<br />
767    [default = <samp>-j</samp>]</dd>
768
769    <dt>GENINTERFACE *</dt>
770
771    <dd>The command/method to extract the calling interfaces of top level
772    subroutines and functions in a Fortran 9X source. Supported values are
773    <samp>f90aib</samp> and <samp>none</samp> (to switch off interface
774    generation). If not specified, the system will use its own internal logic.
775    <br />
776    [default = (not specified)]</dd>
777
778    <dt>INTERFACE *</dt>
779
780    <dd>Generate Fortran 9X interface files with root names according to either
781    the root name of the source <samp>file</samp> or the name of the
782    <samp>program</samp> unit.<br />
783    [default = <samp>file</samp>]</dd>
784  </dl>
785
786  <p id="infile-ext-types">The following is a list of type flags that are
787  currently in-use (or <dfn>* reserved</dfn>) by the build system for TYPE and
788  INFILE_EXT declarations:</p>
789
790  <dl>
791    <dt>SOURCE</dt>
792
793    <dd>a source file containing program code of a supported language
794    (currently Fortran, FPP, C and CPP).</dd>
795
796    <dt>INCLUDE</dt>
797
798    <dd>an include file containing program code of a supported language
799    (currently Fortran, FPP, C and CPP).</dd>
800
801    <dt>FORTRAN</dt>
802
803    <dd>a file containing Fortran code.</dd>
804
805    <dt>FORTRAN9X</dt>
806
807    <dd>a file containing the Fortran free source form. This word must be used
808    in conjunction with the word <code>FORTRAN</code>.</dd>
809
810    <dt>FPP</dt>
811
812    <dd>a file containing Fortran code requiring pre-processing.</dd>
813
814    <dt>FPP9X</dt>
815
816    <dd>a file containing Fortran free source form requiring pre-processing.
817    This word must be used in conjunction with the word <code>FPP</code>.</dd>
818
819    <dt>C</dt>
820
821    <dd>a file containing C code.</dd>
822
823    <dt>CPP</dt>
824
825    <dd>a file containing CPP include header.</dd>
826
827    <dt>INTERFACE</dt>
828
829    <dd>a file containing a Fortran 9X interface block.</dd>
830
831    <dt>PROGRAM</dt>
832
833    <dd>a file containing a main program.</dd>
834
835    <dt>MODULE</dt>
836
837    <dd>a file containing a Fortran 9X module.</dd>
838
839    <dt>BINARY</dt>
840
841    <dd>a binary file.</dd>
842
843    <dt>EXE</dt>
844
845    <dd>an executable file. This word must be used in conjunction with the word
846    <code>BINARY</code>.</dd>
847
848    <dt>LIB</dt>
849
850    <dd>an archive library. This word must be used in conjunction with the word
851    <code>BINARY</code>.</dd>
852
853    <dt>SCRIPT</dt>
854
855    <dd>a file containing source code of a scripting language.</dd>
856
857    <dt>PVWAVE</dt>
858
859    <dd>a file containing executable PVWAVE scripts. This word must be used in
860    conjunction with the word <code>SCRIPT</code>.</dd>
861
862    <dt>SQL</dt>
863
864    <dd>a file containing SQL scripts. This word must be used in conjunction
865    with the word <code>SCRIPT</code>.</dd>
866
867    <dt>GENLIST</dt>
868
869    <dd>a GEN List file.</dd>
870
871    <dt>OBJ</dt>
872
873    <dd><dfn>(* reserved)</dfn> an object file. This word must be used in
874    conjunction with the word <code>BINARY</code>.</dd>
875
876    <dt>SHELL</dt>
877
878    <dd><dfn>(* reserved)</dfn> a file containing executable shell scripts.
879    This word must be used in conjunction with the word
880    <code>SCRIPT</code>.</dd>
881
882    <dt>PERL</dt>
883
884    <dd><dfn>(* reserved)</dfn> a file containing executable Perl scripts. This
885    word must be used in conjunction with the word <code>SCRIPT</code>.</dd>
886
887    <dt>PYTHON</dt>
888
889    <dd><dfn>(* reserved)</dfn> a file containing executable Python scripts.
890    This word must be used in conjunction with the word
891    <code>SCRIPT</code>.</dd>
892
893    <dt>TCL</dt>
894
895    <dd><dfn>(* reserved)</dfn> a file containing executable TCL scripts. This
896    word must be used in conjunction with the word <code>SCRIPT</code>.</dd>
897  </dl>
898</body>
899</html>
Note: See TracBrowser for help on using the repository browser.