ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/configBuildFile.html
(Generate patch)

Comparing COMP/SCRAM/doc/html/configBuildFile.html (file contents):
Revision 1.3 by williamc, Wed Nov 15 15:43:05 2000 UTC vs.
Revision 1.5 by sashby, Wed May 15 14:23:32 2002 UTC

# Line 19 | Line 19 | wide defaults and associate src code str
19   <h2>The main configuration BuildFile</h2>
20   The file <em>config/BuildFile</em> is resourced by all others in the entire
21   tree. It controls everything else. The most important thing to set here is the
22 < &lt;ClassPath> tags which associate <a href=#Structural>Structure BuildFiles</a>
22 > &lt;ClassPath> tags which associate structure BuildFiles
23   with directory structure and set up the directory structures for the
24 < BuildSystem. You may also want to set project wide defaults.
24 > BuildSystem. You may also want to set project-wide defaults.
25   <p>
26   <h3>Defining Project Structure</h3>
27   You need to tell SCRAM where it can store such things as libraries, binaries
# Line 32 | Line 32 | and other build products. You do this wi
32   <font color=green>
33   &lt;ProductStore name=lib type=arch><br>
34   &lt;ProductStore name=bin type=arch><br>
35 + &lt;ProductStore name=module type=arch><br>
36   </font>
37 < <em>Note: Currently, bin and lib are hard-coded so you cannot point them elsewhere
37 < without something breaking</em>
37 >
38   <h3>Using the <a href=BuildFile/tag_ClassPath.html>&lt;ClassPath></a> tag</h3>
39   This tag tells SCRAM which BuildFile to associate with a particular location in
40   the src tree.<p>
# Line 49 | Line 49 | Format:<br>
49   </pre>
50   </font>
51   This will associate the top level src directory with the BuildFile
52 < <em>config/TopLevel_BuildFile</em> (or config/TopLevel_makefile.mk). Any
53 < directory in the next level below with <em>config/SubSystem_BuildFile</em>
54 < , the level below that with <em>config/Package_BuildFile</em>.
55 < The last element in the path has a pattern matching string before the +, thus
52 > <em>config/TopLevel_BuildFile</em> (and the corresponding makefile
53 > config/TopLevel_makefile.mk), any directory in the next level
54 > with <em>config/SubSystem_BuildFile</em>
55 > and the level below that with <em>config/Package_BuildFile</em>.
56 >
57 >
58 > The last element in the path has a pattern matching string before the "+" sign, so
59   only directories called <em>src</em> at the 3rd level below the top level
60 < will be mapped to <em>config/library_BuildFile</em>.
60 > will be mapped to <em>config/library_BuildFile</em>.
61   The second tag in the BuildFile has the same structure except it maps
62 < directories called <em>test</em> at this level to
63 < <em>config/UnitTest_BuildFile</em>.
61 < Any that do not match a ClassPath will be
62 < mapped to DEFAULT_BuildFile (which must exist).
62 > directories called <em>test</em> at this level to <em>config/UnitTest_BuildFile</em>.
63 > Any that do not match a ClassPath will be mapped to DEFAULT_BuildFile (which must exist).
64   <br>
65   <p>
66   In a case where multiple &lt;ClassPath> tags are defined it is always the last
67   one that matches the stated path that is taken.
68 +
69   <h2>Structure BuildFiles</h2>
70   These are the BuildFles that the &lt;ClassPath> tags described above refer to.
71   They must exist in the project configuration directory. Their purpose is
72   to define default build behaviour and default settings that is to be associated
73 < with a location. The &lt;Build> tag can be used here to specify build products
74 < Note that anything outside of tags is standard gmake.
73 > with a location. The &lt;Build> tag can be used here to specify build products.
74 > Note that anything outside a tag is standard makefile syntax and will be parsed directly
75 > by gmake.
76   <p>
77 < <b>Example <em>library_BuildFile</em></b>
77 > <b>Example: <em>library_BuildFile</em></b>
78   <font color=green>
79   <pre>
80   # The called target is the name of the BuildFile
# Line 89 | Line 92 | files+=$(notdir $(wildcard $(LOCALTOP)/$
92   files+=$(notdir $(wildcard $(LOCALTOP)/$(ClassDir)/*.cpp))
93   files:=$(filter-out $(skip_files), $(files))
94  
95 < # Build a library with the same name as the package from files
96 < &lt;Build class=lib name="$(packagename)" src=$(files) default=shared_debug>
95 > ifneq ($(strip $(files)),)
96 > # Library Defaults
97 > DefaultShared=yes
98 > else
99 > lib:
100 >        @echo "Warning : No files found. Library not built"
101 > endif
102 >
103   </pre>
104   </font>
105 < <em>Note: Currently &lt;Build> is not yet implemented</em>
97 <
98 <
105 > <p>
106   <! Style Sheet Footer ---------------Do not change anything after this line-->
107   <hr>
108   <table border=1 width=100%>
109   <td align=left>
110 < <a href=mailto:Christopher.Williams@cern.ch
111 < >Chris Williams</a>
110 > <a href=mailto:Shaun.Ashby@cern.ch
111 > >Shaun Ashby</a>
112   </td>
113   <td align=center>
114 < Last Updated Thu Jun 15 18:57:17 2000
114 > <SCRIPT LANGUAGE="JAVASCRIPT">document.write("Last Updated "+ document.lastModified );</SCRIPT>
115   </td>
116   <td align=right><a href=/cgi-cmc/pagestat>Show Stats</a>
117   </td>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines