Revision: | 1.4.2.6 |
Committed: | Fri Oct 15 10:08:40 1999 UTC (25 years, 7 months ago) by williamc |
Content type: | text/html |
Branch: | V0_9branch |
CVS Tags: | BuildSystemProto1, V0_18_0, V0_18_0model, V0_17_1, V0_18_0alpha, V0_17_0, V0_16_4, V0_16_3, V0_16_2, V0_16_1, V0_16_0, V0_15_1, V0_15_0, V0_15_0beta, V0_14_0, V0_12_12_4, V0_12_12_3, V0_13_3, V0_13_2, V0_12_12_2, V0_12_12_1, V0_12_12_0, PlayGround_0, V0_13_1, V0_12_12, V0_13_0, V0_12_11, V0_12_9b, V0_12_10, V0_12_9, V0_12_8, V0_12_7, V0_12_6, V0_12_5, V0_12_4, V0_12_3, V0_12_2, V0_12_1, V0_12_0, V0_11_4, V0_11_3, V0_11_2, V0_11_1, V0_11_0, V0_10_19, V0_10_18, V0_10_17, V0_10_16, V0_10_15, V0_10_14, V0_10_13, V0_10_12, V0_10_11, V0_10_10, V0_10_9, V0_10_8, V0_10_7, V0_10_6, V0_10_5, V0_10_4, V0_10_3, V0_10_2, V0_10_1, V0_10_0 |
Branch point for: | V0_17branch, V0_16branch, V0_15branch, HPWbranch |
Changes since 1.4.2.5: | +8 -0 lines |
Log Message: | Pretty up |
# | User | Rev | Content |
---|---|---|---|
1 | williamc | 1.4.2.6 | <body bgcolor=beige> |
2 | <center> | ||
3 | williamc | 1.1 | <h1>BuildFile Examples</h1> |
4 | williamc | 1.4.2.6 | <font color=red>S</font>oftware <font color=red>C</font>onfiguration, |
5 | <font color=red>R</font>elease <font color=red>A</font>nd | ||
6 | <font color=red>M</font>anagement | ||
7 | </center> | ||
8 | <hr> | ||
9 | williamc | 1.1 | <p> |
10 | The Default Build is configured at the project level. The default can be | ||
11 | overridden or parameters passed to the default build rules through the | ||
12 | BuildFile. | ||
13 | |||
14 | williamc | 1.4.2.1 | |
15 | williamc | 1.1 | <p> |
16 | Examples of different build files are shown below | ||
17 | <ol> | ||
18 | <li>The Binary Executable<p> | ||
19 | The binary building rules require explicit specification of the binary targets | ||
20 | e.g. | ||
21 | <p> | ||
22 | williamc | 1.4 | <font color=green> |
23 | williamc | 1.1 | <pre> |
24 | williamc | 1.4.2.1 | <Group name=G3> |
25 | williamc | 1.1 | <External ref=X11> |
26 | williamc | 1.4.2.5 | |
27 | <Environment> | ||
28 | williamc | 1.4.2.1 | <Use name=CARF> |
29 | williamc | 1.4 | <Lib name=examplelib></lib> |
30 | williamc | 1.1 | <bin file=example1.cpp> |
31 | williamc | 1.2 | You can write between bin tags some documentation to describe what the binary |
32 | williamc | 1.4.2.5 | does. As the bin tag is inside the Environment tags this environment will apply |
33 | in addition. (i.e example1.cpp will use CARF and the library examplelib as well | ||
34 | as X11 and G3) | ||
35 | williamc | 1.1 | </bin> |
36 | williamc | 1.4.2.5 | </Environment> |
37 | |||
38 | williamc | 1.1 | <bin file=example2.cpp name=mytestexe> |
39 | williamc | 1.2 | Here we call the final binary a different name from the default. |
40 | williamc | 1.1 | </bin> |
41 | </pre> | ||
42 | williamc | 1.4 | </font> |
43 | williamc | 1.1 | This file will build two executables called (example1 and mytestexe) from files example1.cpp and example2.cpp respectively. Both are built in the context of |
44 | williamc | 1.4.2.5 | external libraries defined by the group G3 and the external package X11. |
45 | example1 will in addition be built with CARF and examplelib<p> | ||
46 | <em><b>Note: Theres still work to be done here</b></em><br> | ||
47 | williamc | 1.2 | <ul> |
48 | <li> Anything Outside of the bin tags will be included in the | ||
49 | GNUmakefile. This allows you the full functionality of gmake | ||
50 | to make up for any inadequacies. Hopefully as full scram | ||
51 | binary functionality is achieved this will be phased out | ||
52 | williamc | 1.3 | </ul> |
53 | williamc | 1.1 | <p> |
54 | <li>The library BuildFile | ||
55 | williamc | 1.4.2.2 | You may wish to exclude some files from a |
56 | williamc | 1.1 | build or include external package headers or assign the module to a group. |
57 | <br>e.g.<p> | ||
58 | williamc | 1.4 | <font color=green> |
59 | williamc | 1.1 | <pre> |
60 | <Group name=G3> | ||
61 | skip_files := FakeClusterizer.cc SigmaClusterizer.cc | ||
62 | </pre> | ||
63 | williamc | 1.4 | </font> |
64 | williamc | 1.4.2.2 | |
65 | <br> | ||
66 | It is also possible to override the default type of library that is built | ||
67 | <br>e.g.<p> | ||
68 | <font color=green> | ||
69 | <pre> | ||
70 | <LibType type=shared> | ||
71 | williamc | 1.4.2.4 | Shared libraries are dynamic! |
72 | </LibType> | ||
73 | williamc | 1.4.2.3 | <LibType type=debug_shared> |
74 | williamc | 1.4.2.4 | But the code still goes wrong |
75 | </LibType> | ||
76 | williamc | 1.4.2.2 | </pre> |
77 | </font> | ||
78 | To build two shared objects - one with and one without debug information | ||
79 | williamc | 1.4.2.4 | <br> |
80 | The comments you put between the beginning and end tags will be echoed to the | ||
81 | screen at build time | ||
82 | williamc | 1.4.2.2 | <p> |
83 | williamc | 1.1 | <li>Empty Group |
84 | Sometimes the default builds arn't wanted at all. Switch them off with | ||
85 | <p> | ||
86 | williamc | 1.4 | <font color=green> |
87 | williamc | 1.1 | <pre> |
88 | <AssociateGroup> | ||
89 | none | ||
90 | </AssociateGroup> | ||
91 | </pre> | ||
92 | williamc | 1.4 | </font> |
93 | williamc | 1.4.2.1 | <p> |
94 | <h2>Avoiding Processing Parts of BuildFiles</h2> | ||
95 | Anything between <ignore> and </ignore> tags will be excluded | ||
96 | from processing during the build. This is a convenient mechanism to cut | ||
97 | out sections of the BuildFile and is not intended for comments. Comments | ||
98 | should be provided where apppropriate e.g. in between <binb> and </bin> | ||
99 | tags. | ||
100 | williamc | 1.4.2.6 | </body> |