1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
2 |
|
3 |
<!--Converted with jLaTeX2HTML 2002 (1.62) JA patch-1.4
|
4 |
patched version by: Kenshi Muto, Debian Project.
|
5 |
LaTeX2HTML 2002 (1.62),
|
6 |
original version by: Nikos Drakos, CBLU, University of Leeds
|
7 |
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
8 |
* with significant contributions from:
|
9 |
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
10 |
<HTML>
|
11 |
<HEAD>
|
12 |
<TITLE>1.1.4 A Build System</TITLE>
|
13 |
<META NAME="description" CONTENT="1.1.4 A Build System">
|
14 |
<META NAME="keywords" CONTENT="SCRAM">
|
15 |
<META NAME="resource-type" CONTENT="document">
|
16 |
<META NAME="distribution" CONTENT="global">
|
17 |
|
18 |
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
|
19 |
<META NAME="Generator" CONTENT="jLaTeX2HTML v2002 JA patch-1.4">
|
20 |
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
21 |
|
22 |
<LINK REL="STYLESHEET" HREF="SCRAM.css">
|
23 |
|
24 |
<LINK REL="next" HREF="node9.html">
|
25 |
<LINK REL="previous" HREF="node7.html">
|
26 |
<LINK REL="up" HREF="node4.html">
|
27 |
<LINK REL="next" HREF="node9.html">
|
28 |
</HEAD>
|
29 |
|
30 |
<BODY bgcolor="beige" >
|
31 |
<!--Navigation Panel-->
|
32 |
<A NAME="tex2html423"
|
33 |
HREF="node9.html">
|
34 |
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
35 |
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
36 |
<A NAME="tex2html417"
|
37 |
HREF="node4.html">
|
38 |
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
39 |
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
40 |
<A NAME="tex2html411"
|
41 |
HREF="node7.html">
|
42 |
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
43 |
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
44 |
<A NAME="tex2html419"
|
45 |
HREF="node2.html">
|
46 |
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
47 |
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
48 |
<A NAME="tex2html421"
|
49 |
HREF="node85.html">
|
50 |
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
51 |
SRC="file:/usr/share/latex2html/icons/index.png"></A>
|
52 |
<BR>
|
53 |
<B> Next:</B> <A NAME="tex2html424"
|
54 |
HREF="node9.html">1.1.5 A Development Environment</A>
|
55 |
<B> Up:</B> <A NAME="tex2html418"
|
56 |
HREF="node4.html">1.1 What is SCRAM?</A>
|
57 |
<B> Previous:</B> <A NAME="tex2html412"
|
58 |
HREF="node7.html">1.1.3 A System Resource/Application</A>
|
59 |
  <B> <A NAME="tex2html420"
|
60 |
HREF="node2.html">Contents</A></B>
|
61 |
  <B> <A NAME="tex2html422"
|
62 |
HREF="node85.html">Index</A></B>
|
63 |
<BR>
|
64 |
<BR>
|
65 |
<!--End of Navigation Panel-->
|
66 |
|
67 |
<H2><A NAME="SECTION00214000000000000000"></A><A NAME="sec:bs"></A><A NAME="273"></A>
|
68 |
<BR>
|
69 |
1.1.4 A Build System
|
70 |
</H2>
|
71 |
The build system can be used to build libraries, plug-in modules or
|
72 |
binaries. The configuration documents within the project area
|
73 |
describe the actions to be taken during the build process. These
|
74 |
actions can be global, or specific to parts of the source directory
|
75 |
tree structure. (e.g. everything in a directory <TT>libsrc</TT> could
|
76 |
be automatically compiled into a library or every binary in a
|
77 |
directory called <TT>test</TT> could be automatically linked with a
|
78 |
test utilities library).
|
79 |
<A NAME="276"></A>
|
80 |
Classes of build objects can be defined: for example, a library class
|
81 |
can have types such as <EM>debug</EM>, <EM>archive</EM>, <EM>shared</EM>, <EM> shared debug</EM>, etc. Default types can be assigned to a
|
82 |
class/directory structure but can be easily overriden with options
|
83 |
from the command line. The environment can be easily tuned for
|
84 |
special cases by simply modifying the general rules. The dependencies
|
85 |
are specified in an abstract manner. Extra external products to be
|
86 |
included during linking can be referred to by name with <SMALL>SCRAM</SMALL> taking
|
87 |
care of the system specifics.
|
88 |
<A NAME="281"></A>
|
89 |
Module interfaces can be defined for large software modules to define
|
90 |
dependencies etc. Other modules can then simply load the interface to
|
91 |
use the module. The module approach is compatible with code
|
92 |
repositories managed using CVS.
|
93 |
|
94 |
<P>
|
95 |
<HR>
|
96 |
<!--Navigation Panel-->
|
97 |
<A NAME="tex2html423"
|
98 |
HREF="node9.html">
|
99 |
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
100 |
SRC="file:/usr/share/latex2html/icons/next.png"></A>
|
101 |
<A NAME="tex2html417"
|
102 |
HREF="node4.html">
|
103 |
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
104 |
SRC="file:/usr/share/latex2html/icons/up.png"></A>
|
105 |
<A NAME="tex2html411"
|
106 |
HREF="node7.html">
|
107 |
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
108 |
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
|
109 |
<A NAME="tex2html419"
|
110 |
HREF="node2.html">
|
111 |
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
112 |
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
|
113 |
<A NAME="tex2html421"
|
114 |
HREF="node85.html">
|
115 |
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
116 |
SRC="file:/usr/share/latex2html/icons/index.png"></A>
|
117 |
<BR>
|
118 |
<B> Next:</B> <A NAME="tex2html424"
|
119 |
HREF="node9.html">1.1.5 A Development Environment</A>
|
120 |
<B> Up:</B> <A NAME="tex2html418"
|
121 |
HREF="node4.html">1.1 What is SCRAM?</A>
|
122 |
<B> Previous:</B> <A NAME="tex2html412"
|
123 |
HREF="node7.html">1.1.3 A System Resource/Application</A>
|
124 |
  <B> <A NAME="tex2html420"
|
125 |
HREF="node2.html">Contents</A></B>
|
126 |
  <B> <A NAME="tex2html422"
|
127 |
HREF="node85.html">Index</A></B>
|
128 |
<!--End of Navigation Panel-->
|
129 |
<ADDRESS>
|
130 |
scram-developers@cern.ch
|
131 |
</ADDRESS>
|
132 |
</BODY>
|
133 |
</HTML>
|