<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>Build environment</title> <meta content="$Author: maroy $" name="author"> </head> <body> <h1>Preface</h1> This document is part of the <a href="http://livesupport.campware.org/">LiveSupport</a> project, Copyright © 2004 <a href="http://www.mdlf.org/">Media Development Loan Fund</a>, under the GNU <a href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br> <ul> <li>Author: $Author: maroy $</li> <li>Version: $Revision: 1.1 $</li> <li>Location: $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/doc/developmentEnvironment/buildEnvironment.html,v $<br> </li> </ul> <h1>Scope</h1> This document describes the build environment for components of the LiveSupport project.<br> <h1>Introduction</h1> As seen in the <a href="directoryStructure.html">directory structure</a> description, each component is contained in its own directory, and has the same general directory layout, which includes a Makefile on the top of the directory. All components are build by <a href="http://www.gnu.org/directory/make.html">GNU make</a> working on that Makefile. This document describes the targets for that Makefile.<br> <br> Parts of this document is inspired by the <a href="http://www.gnu.org/prep/standards.html">GNU Coding Standards</a> <a href="http://www.gnu.org/prep/standards_50.html">Makefile Conventions Standard targets</a>.<br> <h2>Make targets<br> </h2> The following make targets are required for all components to support:<br> <ul> <li>all</li> <li>clean</li> <li>depclean</li> <li>doc<br> </li> <li>dist</li> <li>check</li> </ul> <h4>all</h4> Compile all source files for this component. As a result, the component is ready to be run (if an executable) or linked to (if a library).<br> This target traverses the dependent modules, and executes the all target on them, if their targets do not exist.<br> <h4>clean</h4> Delete all files generated by the all target, but only for this module (e..g. no files for dependent modules are deleted).<br> <h4>depclean</h4> Delete all the dependent target files. Executing the depclean target with an all target afterwards results in a full recompilation of all the dependent modules.<br> <h4>doc</h4> Generate the documentation for this component. This would include processing info pages, or using tools to generate documentation based on comments in the source code (like javadoc).<br> <h4>dist</h4> Create a distribution package for this component. This involves possibly compiling, document generation and other tasks, and results in an archive containing the distribution.<br> <h4>check</h4> Run all tests, especially unit tests, for the component. This usually results in a generated test-report.<br> <br> </body> </html>