source: LMDZ5/trunk/tools/fcm/doc/user_guide/annex_pck_cfg.html @ 5321

Last change on this file since 5321 was 1578, checked in by jghattas, 13 years ago
  • Add fcm in LMDZ5/tools directory

It is no longer needed to have fcm in your environement PATH variable.
Now makelmdz_fcm takes by default this fcm. It is still possible to use
another fcm, using -fcm_path argument in makelmdz_fcm.

File size: 5.5 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4<head>
5  <title>FCM System User Guide Annex: Declarations in FCM build package
6  configuration file</title>
7  <meta name="author" content="FCM development team">
8  <meta name="descriptions" content="User Guide Annex">
9  <meta name="keywords" content="FCM, user guide, annex">
10  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
11  <link rel="stylesheet" type="text/css" href="style.css">
12</head>
13
14<body>
15  <address>
16    <a href="index.html">FCM System User Guide</a> &gt; Annex: Declarations in
17    FCM build package configuration file
18  </address>
19
20  <h1>Annex:<br>
21  Declarations in FCM build package configuration file</h1>
22
23  <p>The following is a list of supported declarations for package
24  configuration files. The package configuration is used by the build system.
25  It must be stored in a file called <tt>@PACKAGE.cfg</tt> in a source
26  directory. The labels in all declarations in a package configuration file
27  contain two fields delimited by the double colon "::". The first field is the
28  name of the label, which is case insensitive. The second field is the name
29  of a file, which the declaration is associated with.</p>
30
31  <table class="pad" summary="Declarations in build package configuration file"
32  width="100%" border="1">
33    <tr>
34      <th>Label</th>
35
36      <th colspan="2">Content</th>
37    </tr>
38
39    <tr>
40      <th rowspan="2">TYPE::<em>file</em></th>
41
42      <th>Description</th>
43
44      <td>This declares the type of <em>file</em>. The value of this
45      declaration is a list of type flags delimited by the double colon "::".
46      Each type flag is used internally to describe the nature of the file.
47      Supported flags are the same as those used in the INFILE_EXT
48      declarations in the build configuration file. For a list of these flags,
49      please see the <a href="annex_bld_cfg.html#infile-ext-types">Input file
50      extension type flags table</a> of the <a href="annex_bld_cfg.html">FCM
51      System User Guide &gt; Annex: Declarations in FCM build configuration
52      file</a> document.</td>
53    </tr>
54
55    <tr>
56      <th>Example</th>
57
58      <td>
59        <pre>
60# Declare a Fortran 9X program source file
61type::MyFortranProg.f90  FORTRAN::FORTRAN9X::SOURCE::PROGRAM
62
63# Declare a target to build a shared object library
64type::libbooks.a         BINARY::LIB
65</pre>
66      </td>
67    </tr>
68
69    <tr>
70      <th rowspan="2">SCAN::<em>file</em></th>
71
72      <th>Description</th>
73
74      <td>This declares a flag to determine whether <em>file</em> needs to be
75      scanned for dependency. Set the value to 1 to switch on, and 0 to switch
76      off. If <em>file</em> is declared a shared library, this flag is
77      automatically set to 0. For all other files, this flag is automatically
78      set to 1.</td>
79    </tr>
80
81    <tr>
82      <th>Example</th>
83
84      <td>
85        <pre>
86scan::MyFortranProg.f90  0
87</pre>
88      </td>
89    </tr>
90
91    <tr>
92      <th rowspan="2">TARGET::<em>file</em></th>
93
94      <th>Description</th>
95
96      <td>This declares the executable name of <em>file</em> if it is a C or
97      Fortran program. If not set, the default executable name of a program is
98      the root name (i.e. base name without the file extension) of
99      <em>file</em> suffixed with the file extension ".exe".</td>
100    </tr>
101
102    <tr>
103      <th>Example</th>
104
105      <td>
106        <pre>
107target::MyFortranProg.f90  hello_world
108</pre>
109      </td>
110    </tr>
111
112    <tr>
113      <th rowspan="2">INTNAME::<em>file</em></th>
114
115      <th>Description</th>
116
117      <td>This declares the internal name of <em>file</em> if it contains a
118      Fortran subroutine, function or module. The internal name determines the
119      name of the compiled object file of <em>file</em>. If not set, the
120      default depends on whether the <em>file</em> will be scanned for
121      dependencies. If so, the name of the first program unit will be used as
122      the internal name. Otherwise, the root name of <em>file</em> will be
123      used.</td>
124    </tr>
125
126    <tr>
127      <th>Example</th>
128
129      <td>
130        <pre>
131intname::YourFortranMod.f90  hello_mod
132</pre>
133      </td>
134    </tr>
135
136    <tr>
137      <th rowspan="2">DEP::<em>file</em></th>
138
139      <th>Description</th>
140
141      <td>This declares a dependency target for <em>file</em>. The value of this
142      declaration must contain two fields separated by the double colon "::".
143      The first field denotes the dependency type, and the second field is the
144      dependency target. Supported dependency types are the same as those used
145      in the EXCL_DEP declarations in the build configuration file. For a list
146      of these flags, please see the <a
147      href="annex_bld_cfg.html#dependency-types">dependency types table</a> of
148      the <a href="annex_bld_cfg.html">FCM System User Guide &gt; Annex:
149      Declarations in FCM build configuration file</a> document.</td>
150    </tr>
151
152    <tr>
153      <th>Example</th>
154
155      <td>
156        <pre>
157dep::MyFortranProg.f90  USE::YourFortranMod
158dep::MyFortranProg.f90  INTERFACE::HerFortran.interface
159dep::MyFortranProg.f90  INC::HisFortranInc.inc
160dep::MyFortranProg.f90  H::TheirHeader.h
161dep::MyFortranProg.f90  OBJ::ItsObject.o
162
163dep::libbooks.a         OBJ::MyObject.o
164dep::libbooks.a         OBJ::YourObject.o
165dep::libbooks.a         OBJ::HisObject.o
166dep::libbooks.a         OBJ::HerObject.o
167dep::libbooks.a         OBJ::TheirObject.o
168dep::libbooks.a         OBJ::ItsObject.o
169</pre>
170      </td>
171    </tr>
172
173    <tr>
174      <th>Label</th>
175
176      <th colspan="2">Content</th>
177    </tr>
178  </table>
179
180  <script type="text/javascript" src="maintain.js">
181  </script>
182</body>
183</html>
Note: See TracBrowser for help on using the repository browser.