boinc/doc/build_system.html

61 lines
1.9 KiB
HTML
Raw Normal View History

<!-- $Id$ -->
<html>
<head>
<title>Build system</title>
</head>
<body>
<h3>Details of the automake/autoconf build system</h3>
<p>
The build system uses <a href=
"http://www.gnu.org/software/autoconf/">autoconf</a> 2.57 and <a
href="http://www.gnu.org/software/automake/automake.html">automake</a>
1.7. You should modify only the <code>Makefile.am</code> files, which
generate the <code>Makefile.in</code> files (and
the <code>configure</code> script produced by autoconf will generate the
<code>Makefile</code>s from those). If you don't have automake (or not a
new enough version), the build system will warn you and continue without
regenerating <code>Makefile.in</code>.
</p>
<p>
The version number is set in the line
<pre>
AC_INIT(BOINC, 1.03)
</pre>
in <code>configure.ac</code>. (If you change this, run <code>make</code>
and it rebuild necessary files to propagate the version number into
source files and scripts.)
</p>
<p>
The top-level <code>Makefile.am</code> contains the
<code>SUBDIRS=</code> line which sets up directory recursion, and the
rules for creating source distributions.
<p>
To make distributions:
<pre>
make dist
make dist-client
</pre>
</p>
<p>
... will make the full and client distributions respectively. (The client
distribution contains everything necessary to compile the client; the
full distribution contains everything necessary to compile the server
and client.)
</p>
<p>
Each will make <code>.tar.gz</code>, <code>.tar.bz2</code>,
and <code>.zip</code> files. You can also make only the individual ones
using the make
targets <code>dist-bzip2</code>, <code>dist-gzip</code>, <code>dist-zip</code>.
</p>
</body>
</html>