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 |
# | Content |
---|---|
1 | <body bgcolor=beige> |
2 | <center> |
3 | <h1>BuildFile Examples</h1> |
4 | <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 | <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 | |
15 | <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 | <font color=green> |
23 | <pre> |
24 | <Group name=G3> |
25 | <External ref=X11> |
26 | |
27 | <Environment> |
28 | <Use name=CARF> |
29 | <Lib name=examplelib></lib> |
30 | <bin file=example1.cpp> |
31 | You can write between bin tags some documentation to describe what the binary |
32 | 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 | </bin> |
36 | </Environment> |
37 | |
38 | <bin file=example2.cpp name=mytestexe> |
39 | Here we call the final binary a different name from the default. |
40 | </bin> |
41 | </pre> |
42 | </font> |
43 | 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 | 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 | <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 | </ul> |
53 | <p> |
54 | <li>The library BuildFile |
55 | You may wish to exclude some files from a |
56 | build or include external package headers or assign the module to a group. |
57 | <br>e.g.<p> |
58 | <font color=green> |
59 | <pre> |
60 | <Group name=G3> |
61 | skip_files := FakeClusterizer.cc SigmaClusterizer.cc |
62 | </pre> |
63 | </font> |
64 | |
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 | Shared libraries are dynamic! |
72 | </LibType> |
73 | <LibType type=debug_shared> |
74 | But the code still goes wrong |
75 | </LibType> |
76 | </pre> |
77 | </font> |
78 | To build two shared objects - one with and one without debug information |
79 | <br> |
80 | The comments you put between the beginning and end tags will be echoed to the |
81 | screen at build time |
82 | <p> |
83 | <li>Empty Group |
84 | Sometimes the default builds arn't wanted at all. Switch them off with |
85 | <p> |
86 | <font color=green> |
87 | <pre> |
88 | <AssociateGroup> |
89 | none |
90 | </AssociateGroup> |
91 | </pre> |
92 | </font> |
93 | <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 | </body> |