ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/doc/html/node64.html
Revision: 1.1
Committed: Mon Nov 18 17:50:02 2002 UTC (22 years, 6 months ago) by sashby
Content type: text/html
Branch: MAIN
CVS Tags: V1_pre0, V0_19_7
Branch point for: SCRAM_V1_BRANCH
Log Message:
Generated and added HTML documentation.

File Contents

# User Rev Content
1 sashby 1.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>5.5 Brief Description of the Build Process</TITLE>
13     <META NAME="description" CONTENT="5.5 Brief Description of the Build Process">
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="previous" HREF="node58.html">
25     <LINK REL="up" HREF="node51.html">
26     <LINK REL="next" HREF="node65.html">
27     </HEAD>
28    
29     <BODY bgcolor="beige" >
30     <!--Navigation Panel-->
31     <A NAME="tex2html1247"
32     HREF="node65.html">
33     <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
34     SRC="file:/usr/share/latex2html/icons/next.png"></A>
35     <A NAME="tex2html1241"
36     HREF="node51.html">
37     <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
38     SRC="file:/usr/share/latex2html/icons/up.png"></A>
39     <A NAME="tex2html1237"
40     HREF="node63.html">
41     <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
42     SRC="file:/usr/share/latex2html/icons/prev.png"></A>
43     <A NAME="tex2html1243"
44     HREF="node2.html">
45     <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
46     SRC="file:/usr/share/latex2html/icons/contents.png"></A>
47     <A NAME="tex2html1245"
48     HREF="node85.html">
49     <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
50     SRC="file:/usr/share/latex2html/icons/index.png"></A>
51     <BR>
52     <B> Next:</B> <A NAME="tex2html1248"
53     HREF="node65.html">6. Quick Help Guide</A>
54     <B> Up:</B> <A NAME="tex2html1242"
55     HREF="node51.html">5. Using SCRAM as</A>
56     <B> Previous:</B> <A NAME="tex2html1238"
57     HREF="node63.html">5.4.3.0.2 Example B:</A>
58     &nbsp <B> <A NAME="tex2html1244"
59     HREF="node2.html">Contents</A></B>
60     &nbsp <B> <A NAME="tex2html1246"
61     HREF="node85.html">Index</A></B>
62     <BR>
63     <BR>
64     <!--End of Navigation Panel-->
65    
66     <H1><A NAME="SECTION00650000000000000000"></A><A NAME="sec:buildprocess"></A><A NAME="1453"></A>
67     <BR>
68     5.5 Brief Description of the Build Process
69     </H1>
70    
71     <P>
72     Assuming that the build area is clean (no builds have already been
73     performed) and that all tools are correctly set up, the actions taken
74     by <SMALL>SCRAM</SMALL>&nbsp;are as follows:
75    
76     <P>
77    
78     <UL>
79     <LI>Initially, <SMALL>SCRAM</SMALL>&nbsp;checks the current location to test if it is a
80     project area. If it isn't, an error message like
81    
82     <P>
83     <PRE>
84     SCRAM error: Unable to locate the top of local release. Exitting.
85     </PRE>
86     <P>
87     will appear on <TT>STDERR</TT>.
88    
89     <P>
90     </LI>
91     <LI>Tool settings are read and a makefile stub is created which
92     contains all relevant path information for all tools in makefile
93     syntax. The makefile stub is called <TT>clientmakefile</TT> and
94     is located in the directory <TT>tmp</TT> in the project area.
95    
96     <P>
97     </LI>
98     <LI><SMALL>SCRAM</SMALL>&nbsp;parses the project <TT>BuildFile</TT>, creating a
99     corresponding makefile called <TT>BuildFile.mk</TT> located
100     under <TT>tmp/config</TT>. The <TT>ClassPath</TT> settings are
101     parsed to determine the appropriate build actions.
102    
103     <P>
104     </LI>
105     <LI>A makefile is created according to the current directory.
106     The makefile is located in a directory under <TT>tmp/src</TT>
107     which has the same name as the current directory. This makefile
108     will be merged with appropriate makefiles determined from the
109     <TT>ClassPath</TT> and will include the makefile generated from
110     the project <TT>BuildFile</TT>. A list of subdirectories in
111     which build actions should occur is stored in a make variable
112     <TT>$(SUBDIRS)</TT>- the build order of various packages is
113     the same as the order in which the package directories appear in
114     this variable. To view the order, type <TT>scram b echo_SUBDIRS</TT>.
115    
116     <P>
117     </LI>
118     <LI>Before running <TT>gmake</TT>, the generated makefiles are
119     merged with <TT>basics.mk</TT> from the <SMALL>SCRAM</SMALL>&nbsp;sources (which
120     also includes <TT>toolrules.mk</TT> which contains the rules
121     for compiling different file types and how to create libraries,
122     binaries or modules).
123    
124     <P>
125     </LI>
126     <LI>The build runs: any extra makefile statements or compiler
127     flags are passed directly to <TT>gmake</TT>. The working directory for
128     compilation is <TT>/tmp/$(SCRAM_ARCH)</TT>. Errors and warnings
129     are reported directly to standard output.
130    
131     <P>
132     </LI>
133     <LI>The build products are moved from the working directory to
134     the product storage areas.
135    
136     <P>
137     </LI>
138     </UL>
139    
140     <P>
141     <HR>
142     <!--Navigation Panel-->
143     <A NAME="tex2html1247"
144     HREF="node65.html">
145     <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
146     SRC="file:/usr/share/latex2html/icons/next.png"></A>
147     <A NAME="tex2html1241"
148     HREF="node51.html">
149     <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
150     SRC="file:/usr/share/latex2html/icons/up.png"></A>
151     <A NAME="tex2html1237"
152     HREF="node63.html">
153     <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
154     SRC="file:/usr/share/latex2html/icons/prev.png"></A>
155     <A NAME="tex2html1243"
156     HREF="node2.html">
157     <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
158     SRC="file:/usr/share/latex2html/icons/contents.png"></A>
159     <A NAME="tex2html1245"
160     HREF="node85.html">
161     <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
162     SRC="file:/usr/share/latex2html/icons/index.png"></A>
163     <BR>
164     <B> Next:</B> <A NAME="tex2html1248"
165     HREF="node65.html">6. Quick Help Guide</A>
166     <B> Up:</B> <A NAME="tex2html1242"
167     HREF="node51.html">5. Using SCRAM as</A>
168     <B> Previous:</B> <A NAME="tex2html1238"
169     HREF="node63.html">5.4.3.0.2 Example B:</A>
170     &nbsp <B> <A NAME="tex2html1244"
171     HREF="node2.html">Contents</A></B>
172     &nbsp <B> <A NAME="tex2html1246"
173     HREF="node85.html">Index</A></B>
174     <!--End of Navigation Panel-->
175     <ADDRESS>
176     scram-developers@cern.ch
177     </ADDRESS>
178     </BODY>
179     </HTML>