Preface
This document is part of the LiveSupport
project, Copyright © 2004 Media
Development Loan Fund, under the GNU GPL.
- Author: $Author: maroy $
- Version: $Revision: 1.1 $
- Location: $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/doc/developmentEnvironment/buildEnvironment.html,v $
Scope
This document describes the build environment for components of the
LiveSupport project.
Introduction
As seen in the directory structure
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 GNU make working on
that Makefile. This document describes the targets for that Makefile.
Parts of this document is inspired by the GNU Coding Standards
Makefile
Conventions Standard targets.
Make targets
The following make targets are required for all components to support:
- all
- clean
- depclean
- doc
- dist
- check
all
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).
This target traverses the dependent modules, and executes the all
target on them, if their targets do not exist.
clean
Delete all files generated by the all target, but only for this module
(e..g. no files for dependent modules are deleted).
depclean
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.
doc
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).
dist
Create a distribution package for this component. This involves
possibly compiling, document generation and other tasks, and results in
an archive containing the distribution.
check
Run all tests, especially unit tests, for the component. This usually
results in a generated test-report.