> > >Building the System >
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"> REL="HOME"
TITLE="eCos User Guide"
HREF="ecos-user-guide.html"> REL="UP"
TITLE="Manual Configuration"
HREF="manual-configuration.html"> REL="PREVIOUS"
TITLE="Conflicts and constraints"
HREF="conflicts-and-constraints.html"> REL="NEXT"
TITLE="Packages"
HREF="ecos-packages.html"> > CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
> CLASS="NAVHEADER"
> SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> > COLSPAN="3"
ALIGN="center"
>eCos User Guide > > > WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
> HREF="conflicts-and-constraints.html"
ACCESSKEY="P"
>Prev > > WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 28. Manual Configuration > WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
> HREF="ecos-packages.html"
ACCESSKEY="N"
>Next > > > > ALIGN="LEFT"
WIDTH="100%"> > CLASS="SECT1"
> CLASS="SECT1"
> NAME="BUILDING-THE-SYSTEM">Building the System > >Once a build tree has been generated with
CLASS="COMMAND"
>ecosconfig >, building CLASS="PRODUCTNAME"
>eCos > is straightforward: > BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
> > > CLASS="SCREEN"
>$ make > > > > >The build tree contains the subdirectories, makefiles,
and everything else that is needed to generate the default
configuration for the selected architecture and platform.
The only requirement is that the tools needed for that
architecture, for example
CLASS="COMMAND"
>powerpc-eabi-g++ >,
are available using the standard search path. If this is not
the case then the CLASS="COMMAND"
>make > will
fail with an error message. If you have a multiprocessor
system then it may be more efficient to use: > BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
> > > CLASS="SCREEN"
>$ make -j CLASS="REPLACEABLE"
> >n > > > > > > >where CLASS="REPLACEABLE"
> >n > > is equal to the
number of processors on your system. > >Once the CLASS="COMMAND"
>make > process
has completed, the install tree will contain the header
files and the target library that are needed for application
development. > >It is also possible to build the system’s test cases
for the current configuration: > BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
> > > CLASS="SCREEN"
>$ make tests > > > > >The resulting test executables will end up in a
CLASS="FILENAME"
>tests > subdirectory of the
install tree. > >If disk space is scarce then it is possible to make the copy
of the install tree for application development purposes, and then
use: > BORDER="5"
BGCOLOR="#E0E0F0"
WIDTH="70%"
> > > CLASS="SCREEN"
>$ make clean > > > > >The build tree will now use up a minimum of disk space — the
bulk of what is left consists of configuration header files that
you may have edited and hence should not be deleted automatically.
However, it is possible to rebuild the system at any time without
re-invoking CLASS="COMMAND"
>ecosconfig >, just by
running CLASS="COMMAND"
>make > again. > >Under exceptional circumstances it may be necessary to run CLASS="COMMAND"
>make
clean > for other reasons, such as when a new release
of the toolchain is installed. The toolchain includes a number of
header files which are closely tied to the compiler, for example CLASS="FILENAME"
>limits.h >,
and these header files are not and should not be duplicated by CLASS="PRODUCTNAME"
>eCos >.
The makefiles perform header file dependency analysis, so that when
a header file is changed all affected sources will be rebuilt during
the next CLASS="COMMAND"
>make >. This is very useful
when the configuration header files are changed, but it also means
that a build tree containing information about the locations of
header files must be rebuilt. If a new version of the toolchain
is installed and the old version is removed then this location information
is no longer accurate, and CLASS="COMMAND"
>make > will
complain that certain dependencies cannot be satisfied. Under such circumstances
it is necessary to do a CLASS="COMMAND"
>make clean > first. > > CLASS="NAVFOOTER"
> ALIGN="LEFT"
WIDTH="100%"> SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
> > WIDTH="33%"
ALIGN="left"
VALIGN="top"
> HREF="conflicts-and-constraints.html"
ACCESSKEY="P"
>Prev > > WIDTH="34%"
ALIGN="center"
VALIGN="top"
> HREF="ecos-user-guide.html"
ACCESSKEY="H"
>Home > > WIDTH="33%"
ALIGN="right"
VALIGN="top"
> HREF="ecos-packages.html"
ACCESSKEY="N"
>Next > > > > WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Conflicts and constraints > WIDTH="34%"
ALIGN="center"
VALIGN="top"
> HREF="manual-configuration.html"
ACCESSKEY="U"
>Up > > WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Packages > > > > > >