Preface

This document is part of the LiveSupport project, Copyright © 2004 Media Development Loan Fund, under the GNU GPL.

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

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.