|
@@ -70,7 +70,7 @@
|
|
|
uses the GNU libc as C standard library. This compilation
|
|
|
toolchain is called the "host compilation toolchain", and more
|
|
|
generally, the machine on which it is running, and on which you're
|
|
|
- working is called the "host system". The compilation toolchain
|
|
|
+ working is called the "host system". The compilation toolchain
|
|
|
is provided by your distribution, and Buildroot has nothing to do
|
|
|
with it. </p>
|
|
|
|
|
@@ -173,7 +173,7 @@
|
|
|
be named <code>root_fs_ARCH.EXT</code> where <code>ARCH</code> is your
|
|
|
architecture and <code>EXT</code> depends on the type of target filesystem
|
|
|
selected in the <code>Target options</code> section of the configuration
|
|
|
- tool.
|
|
|
+ tool.
|
|
|
The file is stored in the "binaries/<code>$(PROJECT)</code>/" directory</p>
|
|
|
|
|
|
<h3><a name="local_board_support" id="local_board_support"></a>
|
|
@@ -181,7 +181,7 @@
|
|
|
|
|
|
<p>Once a package has been unpacked, it is possible to manually update
|
|
|
configuration files. Buildroot can automatically save the configuration
|
|
|
- of buildroot, linux, busybox, uclibc and u-boot in "local/$(PROJECT) by
|
|
|
+ of buildroot, linux, busybox, uclibc and u-boot in "local/$(PROJECT) by
|
|
|
using the command:
|
|
|
</p>
|
|
|
|
|
@@ -189,7 +189,7 @@
|
|
|
$ make saveconfig
|
|
|
</pre>
|
|
|
|
|
|
- <p>Once a buildroot configuration has been created by saveconfig,
|
|
|
+ <p>Once a buildroot configuration has been created by saveconfig,
|
|
|
the default "$(TOPDIR)/.config" file can be overridden by</p>
|
|
|
|
|
|
<pre>
|
|
@@ -200,7 +200,7 @@
|
|
|
instead of ".config". </p>
|
|
|
|
|
|
<p>If you want to modify your board, you can copy the project configuration
|
|
|
- file to ".config" by using the command:</p>
|
|
|
+ file to ".config" by using the command:</p>
|
|
|
|
|
|
<pre>
|
|
|
$ make BOARD=<project> getconfig
|
|
@@ -208,7 +208,7 @@
|
|
|
|
|
|
<p>You can share your custom board support directory between several buildroot trees
|
|
|
by setting the environment variable <code>BUILDROOT_LOCAL</code> to this directory,
|
|
|
- </p>
|
|
|
+ </p>
|
|
|
|
|
|
|
|
|
<h3><a name="offline_builds" id="offline_builds"></a>
|
|
@@ -220,7 +220,7 @@
|
|
|
<pre>
|
|
|
$ make source
|
|
|
</pre>
|
|
|
- <p>You can now disconnect or copy the content of your <code>dl</code>
|
|
|
+ <p>You can now disconnect or copy the content of your <code>dl</code>
|
|
|
directory to the build-host. </p>
|
|
|
|
|
|
<h3><a name="building_out_of_tree" id="building_out_of_tree"></a>
|
|
@@ -298,8 +298,8 @@ $ make me<TAB>
|
|
|
target filesystem is available under <code>project_build_ARCH/root/</code>
|
|
|
where <code>ARCH</code> is the chosen target architecture.
|
|
|
You can simply make your changes here, and run make afterwards, which will
|
|
|
- rebuild the target filesystem image. This method allows to do everything
|
|
|
- on the target filesystem, but if you decide to completely rebuild your
|
|
|
+ rebuild the target filesystem image. This method allows to do everything
|
|
|
+ on the target filesystem, but if you decide to completely rebuild your
|
|
|
toolchain and tools, these changes will be lost. </li>
|
|
|
|
|
|
<li>Customize the target filesystem skeleton, available under
|
|
@@ -317,7 +317,7 @@ $ make me<TAB>
|
|
|
it should be changed. These main directories are in an tarball inside of
|
|
|
inside the skeleton because it contains symlinks that would be broken
|
|
|
otherwise. <br />
|
|
|
- These customizations are deployed into
|
|
|
+ These customizations are deployed into
|
|
|
<code>project_build_ARCH/root/</code> just before the actual image
|
|
|
is made. So simply rebuilding the image by running
|
|
|
make should propagate any new changes to the image. </li>
|
|
@@ -347,10 +347,10 @@ $ make me<TAB>
|
|
|
</ol>
|
|
|
|
|
|
<p>Otherwise, you can simply change the
|
|
|
- <code>package/busybox/busybox-<version>.config</code> file if you
|
|
|
+ <code>package/busybox/busybox-<version>.config</code> file if you
|
|
|
know the options you want to change without using the configuration tool.
|
|
|
</p>
|
|
|
- <p>If you want to use an existing config file for busybox, then see
|
|
|
+ <p>If you want to use an existing config file for busybox, then see
|
|
|
section <a href="#environment_variables">environment variables</a>. </p>
|
|
|
|
|
|
<h2><a name="custom_uclibc" id="custom_uclibc"></a>Customizing the uClibc
|
|
@@ -390,7 +390,7 @@ $ make me<TAB>
|
|
|
<code>toolchain/uClibc/uClibc.config-locale</code> without running
|
|
|
the configuration assistant. </p>
|
|
|
|
|
|
- <p>If you want to use an existing config file for uclibc, then see
|
|
|
+ <p>If you want to use an existing config file for uclibc, then see
|
|
|
section <a href="#environment_variables">environment variables</a>. </p>
|
|
|
|
|
|
<h2><a name="buildroot_innards" id="buildroot_innards"></a>How Buildroot
|
|
@@ -455,24 +455,24 @@ $ make me<TAB>
|
|
|
<li>Create the shared build directory (<code>build_ARCH/</code> by
|
|
|
default, where <code>ARCH</code> is your architecture). This is where all
|
|
|
non configurable user-space tools will be compiled.When building two or
|
|
|
- more targets using the same architecture, the first build will go through
|
|
|
- the full download, configure, make process, but the second and later
|
|
|
- builds will only copy the result from the first build to its project
|
|
|
+ more targets using the same architecture, the first build will go through
|
|
|
+ the full download, configure, make process, but the second and later
|
|
|
+ builds will only copy the result from the first build to its project
|
|
|
specific target directory significantly speeding up the build process</li>
|
|
|
|
|
|
- <li>Create the project specific build directory
|
|
|
- (<code>project_build_ARCH/$(PROJECT)</code> by default, where
|
|
|
- <code>ARCH</code> is your architecture). This is where all configurable
|
|
|
- user-space tools will be compiled. The project specific build directory
|
|
|
- is neccessary, if two different targets needs to use a specific package,
|
|
|
- but the packages have different configuration for both targets. Some
|
|
|
+ <li>Create the project specific build directory
|
|
|
+ (<code>project_build_ARCH/$(PROJECT)</code> by default, where
|
|
|
+ <code>ARCH</code> is your architecture). This is where all configurable
|
|
|
+ user-space tools will be compiled. The project specific build directory
|
|
|
+ is neccessary, if two different targets needs to use a specific package,
|
|
|
+ but the packages have different configuration for both targets. Some
|
|
|
examples of packages built in this directory are busybox and linux.
|
|
|
</li>
|
|
|
|
|
|
- <li>Create the project specific result directory
|
|
|
- (<code>binaries/$(PROJECT)</code> by default, where <code>ARCH</code>
|
|
|
+ <li>Create the project specific result directory
|
|
|
+ (<code>binaries/$(PROJECT)</code> by default, where <code>ARCH</code>
|
|
|
is your architecture). This is where the root filesystem images are
|
|
|
- stored, It is also used to store the linux kernel image and any
|
|
|
+ stored, It is also used to store the linux kernel image and any
|
|
|
utilities, boot-loaders etc. needed for a target.
|
|
|
</li>
|
|
|
|
|
@@ -512,9 +512,9 @@ $ make me<TAB>
|
|
|
<p>Buildroot has always supported building several projects in the same
|
|
|
tree if each project was for a different architecture. </p>
|
|
|
|
|
|
- <p>The root file system has been created in the
|
|
|
+ <p>The root file system has been created in the
|
|
|
<code>"build_<ARCH>/root"</code>
|
|
|
- directory which is unique for each architecture.
|
|
|
+ directory which is unique for each architecture.
|
|
|
Toolchains have been built in
|
|
|
<code>"toolchain_build_<ARCH>"</code>. </p>
|
|
|
|
|
@@ -522,7 +522,7 @@ $ make me<TAB>
|
|
|
architecture, a prefix or suffix could be added in the configuration file
|
|
|
so the root file system would be built in
|
|
|
<code>"<PREFIX>_build_<ARCH>_<SUFFIX>/root"</code>
|
|
|
- By supplying <u>unique</u> combinations of
|
|
|
+ By supplying <u>unique</u> combinations of
|
|
|
<code>"<PREFIX>"</code> and
|
|
|
<code>"<SUFFIX>"</code>
|
|
|
each project would get a <u>unique</u> root file system tree. </p>
|
|
@@ -531,14 +531,14 @@ $ make me<TAB>
|
|
|
built for each project, adding considerable time to the build
|
|
|
process, even if it was two projects for the same chip. </p>
|
|
|
|
|
|
- <p>This drawback has been somewhat lessened with
|
|
|
- <code>gcc-4.x.y</code> which allows buildroot to use an external
|
|
|
+ <p>This drawback has been somewhat lessened with
|
|
|
+ <code>gcc-4.x.y</code> which allows buildroot to use an external
|
|
|
toolchain. Certain packages requires special
|
|
|
features in the toolchain, and if an external toolchain is selected,
|
|
|
this may lack the neccessary features to complete the build of the root
|
|
|
file system.</p>
|
|
|
|
|
|
- <p>A bigger problem was that the
|
|
|
+ <p>A bigger problem was that the
|
|
|
<code>"build_<ARCH>"</code> tree
|
|
|
was also duplicated, so each </code>package</code> would also
|
|
|
be rebuilt once per project, resulting in even longer build times.</p>
|
|
@@ -546,29 +546,29 @@ $ make me<TAB>
|
|
|
|
|
|
<p><b>PROJECT TO SHARE TOOLCHAIN AND PACKAGE BUILDS</b></p>
|
|
|
|
|
|
- <p>Work has started on a project which will allow the user to build
|
|
|
- multiple root file systems for the same architecture in the same tree.
|
|
|
+ <p>Work has started on a project which will allow the user to build
|
|
|
+ multiple root file systems for the same architecture in the same tree.
|
|
|
The toolchain and the package build directory will be shared, but each
|
|
|
project will have a dedicated directory tree for project specific
|
|
|
builds. </p>
|
|
|
|
|
|
- <p>With this approach, most, if not all packages will be compiled
|
|
|
+ <p>With this approach, most, if not all packages will be compiled
|
|
|
when the first project is built.
|
|
|
The process is almost identical to the original process.
|
|
|
- Packages are downloaded and extracted to the shared
|
|
|
+ Packages are downloaded and extracted to the shared
|
|
|
<code>"build_<ARCH>/<package>"</code>
|
|
|
- directory. They are configured and compiled. </p>
|
|
|
+ directory. They are configured and compiled. </p>
|
|
|
|
|
|
<p>Package libraries and headers are installed in the shared $(STAGING_DIR),
|
|
|
and then the project specific root file system "$(TARGET_DIR)"
|
|
|
- is populated. </p>
|
|
|
+ is populated. </p>
|
|
|
|
|
|
<p>At the end of the build, the root file system will be used
|
|
|
to generate the resulting root file system binaries. </p>
|
|
|
|
|
|
- <p>Once the first project has been built, building other projects will
|
|
|
+ <p>Once the first project has been built, building other projects will
|
|
|
typically involve populating the new project's root file system directory
|
|
|
- from the existing binaries generated in the shared
|
|
|
+ from the existing binaries generated in the shared
|
|
|
<code>"build_<ARCH>/<>"</code> directory. </p>
|
|
|
|
|
|
<p>Only packages, not used by the first project, will have to go
|
|
@@ -585,8 +585,8 @@ $ make me<TAB>
|
|
|
<li><code>binaries;</code></li>
|
|
|
</ul>
|
|
|
|
|
|
- <p>Each of the directories contain one subdirectory per project.
|
|
|
- The name of the subdirectory is configured by the user in the
|
|
|
+ <p>Each of the directories contain one subdirectory per project.
|
|
|
+ The name of the subdirectory is configured by the user in the
|
|
|
normal buildroot configuration, using the value of: </p>
|
|
|
|
|
|
<p><code>Project Options ---> Project name</code></p>
|
|
@@ -620,13 +620,13 @@ $ make me<TAB>
|
|
|
<p>will be created. </p>
|
|
|
|
|
|
<p>Currently, the <u>root file system</u>, <u>busybox</u> and an Atmel
|
|
|
- customized version of
|
|
|
+ customized version of
|
|
|
<u><code>U-Boot</code></u>, as well as some Atmel specific
|
|
|
bootloaders like <u>at91-bootstrap</u> and <u>dataflashboot.bin</u>
|
|
|
- are built in
|
|
|
+ are built in
|
|
|
<code>"$(PROJECT_BUILD_DIR)"</code>
|
|
|
|
|
|
- <p>The resulting binaries for all architectures are stored in the
|
|
|
+ <p>The resulting binaries for all architectures are stored in the
|
|
|
<code>"$(BINARIES_DIR)"</code> directory. <p>
|
|
|
|
|
|
<p><b>SUMMARY</b></p>
|
|
@@ -636,13 +636,13 @@ $ make me<TAB>
|
|
|
can configure the build. </p>
|
|
|
|
|
|
<p><b>THINGS TO DO</b></p>
|
|
|
-
|
|
|
+
|
|
|
<ol>
|
|
|
|
|
|
<li>Linux</li>
|
|
|
|
|
|
<p>The current Linux implementation is flawed. It only works
|
|
|
- if the user chooses to use one of the few kernels selected
|
|
|
+ if the user chooses to use one of the few kernels selected
|
|
|
as base for the kernel-headers. While the Makefile seems to have
|
|
|
hooks, allowing the developer to specify whatever version he/she
|
|
|
wants in the target/device/*/* Makefiles, the build will fail
|
|
@@ -650,17 +650,17 @@ $ make me<TAB>
|
|
|
|
|
|
<p>The reason for this is that the kernel patches are not
|
|
|
applied by the <code>"target/linux/linux.mk"</code>
|
|
|
- build script fragment. They are only applied by the
|
|
|
+ build script fragment. They are only applied by the
|
|
|
<code>"toolchain/kernel-headers/*.makefile"</code>
|
|
|
build script fragments</p>
|
|
|
|
|
|
<p>If the kernel-header version and the linux version differs,
|
|
|
there will be two <code>"linux-2.6.X.Y"</code>
|
|
|
- directories in
|
|
|
+ directories in
|
|
|
<code>"build_<ARCH>/<>"</code>,
|
|
|
each with its own set of patches. </p>
|
|
|
|
|
|
- <p>The solution in the works, is to move the build of Linux to
|
|
|
+ <p>The solution in the works, is to move the build of Linux to
|
|
|
<code>"project_build_<ARCH>/<project name>/linux-2.6.X.Y"</code> combined with method to configure
|
|
|
which patches can be applied. Possibly, the linux source tree
|
|
|
used to generate the kernel headers will be moved to the
|
|
@@ -675,18 +675,18 @@ $ make me<TAB>
|
|
|
<li>Conservative Strategy: Only use version ssupported by the kernel headers</li>
|
|
|
<li>Stable Linux Strategy: Allow any 2.6.X.Y combination.
|
|
|
(Minimum 2.6.19)</li>
|
|
|
- <li>Power-User Strategy: Allow
|
|
|
+ <li>Power-User Strategy: Allow
|
|
|
<code>"-git"</code>, or
|
|
|
<code>"-mm"</code>, or user downloadable kernels</li>
|
|
|
</ul>
|
|
|
|
|
|
<p>The current kernel patches can be configured to be applied to the
|
|
|
- linux source tree even if the version differs from the
|
|
|
+ linux source tree even if the version differs from the
|
|
|
kernel header version. </p>
|
|
|
|
|
|
<p>Since the user can select any kernel-patch
|
|
|
he/she will be able to select a non-working combination.
|
|
|
- If the patch fails, the user will have to generate a new
|
|
|
+ If the patch fails, the user will have to generate a new
|
|
|
proprietary kernel-patch or decide to not apply the kernel
|
|
|
patches</p>
|
|
|
|
|
@@ -696,10 +696,10 @@ $ make me<TAB>
|
|
|
<p>There will also be a way for the user to supply absolute
|
|
|
or relative paths to patches, possibly outside the main tree.
|
|
|
This can be used to apply custom kernel-header-patches, if
|
|
|
- the versions available in buildroot cannot be applied to the
|
|
|
+ the versions available in buildroot cannot be applied to the
|
|
|
specific linux version used</p>
|
|
|
|
|
|
- <p>Maybe, there will also be a possibility to supply an
|
|
|
+ <p>Maybe, there will also be a possibility to supply an
|
|
|
<code>"URL"</code> to a patch available on Internet. </p>
|
|
|
|
|
|
<li>Configurable packages</li>
|
|
@@ -707,12 +707,12 @@ $ make me<TAB>
|
|
|
<p>Many packages can, on top of the simple
|
|
|
"enable/disable build",
|
|
|
be further configured using Kconfig.
|
|
|
- Currently these packages will be compiled using the
|
|
|
+ Currently these packages will be compiled using the
|
|
|
configuration specified in the
|
|
|
<code>".config"</code> file of the <u>first</u>
|
|
|
project demanding the build of the package.</p>
|
|
|
|
|
|
- <p>If <u>another</u> project uses the same packages, but with
|
|
|
+ <p>If <u>another</u> project uses the same packages, but with
|
|
|
a different configuration,these packages will <u>not</u> be rebuilt,
|
|
|
and the root file system for the new project will be populated
|
|
|
with files from the build of the <u>first</u> project</p>
|
|
@@ -723,8 +723,8 @@ $ make me<TAB>
|
|
|
<code>"build_<ARCH>"</code> directory
|
|
|
before rebuilding the new project.<p>
|
|
|
|
|
|
- <p>A long term solution is to edit the package makefile and move
|
|
|
- the build of the configurable packages from
|
|
|
+ <p>A long term solution is to edit the package makefile and move
|
|
|
+ the build of the configurable packages from
|
|
|
<code>"build_<ARCH>"</code> to
|
|
|
<code>"project_build_<ARCH>/<project name>"</code>
|
|
|
and send a patch to the buildroot mailing list.
|
|
@@ -737,16 +737,16 @@ $ make me<TAB>
|
|
|
<li>Generating File System binaries</li>
|
|
|
<p>
|
|
|
Packages which needs to be installed with the "root"
|
|
|
- as owner, will generate a
|
|
|
+ as owner, will generate a
|
|
|
<code>".fakeroot.<package>"</code> file
|
|
|
which will be used for the final build of the root file system binary. </p>
|
|
|
|
|
|
- <p>This was previously located in the
|
|
|
+ <p>This was previously located in the
|
|
|
<code>"$(STAGING_DIR)"</code> directory, but was
|
|
|
- recently moved to the
|
|
|
+ recently moved to the
|
|
|
<code>"$(PROJECT_BUILD_DIR)"</code> directory. </p>
|
|
|
|
|
|
- <p>Currently only three packages:
|
|
|
+ <p>Currently only three packages:
|
|
|
<code>"at"</code>,
|
|
|
<code>"ltp-testsuite"</code> and
|
|
|
<code>"nfs-utils"</code>
|
|
@@ -764,7 +764,7 @@ $ make me<TAB>
|
|
|
<code>".fakeroot.<package>"</code>
|
|
|
files are deleted as the last action of the Buildroot Makefile. </p>
|
|
|
|
|
|
- <p>It needs to be evaluated if any further action for the
|
|
|
+ <p>It needs to be evaluated if any further action for the
|
|
|
file system binary build is needed. </p>
|
|
|
|
|
|
</ol>
|
|
@@ -816,7 +816,7 @@ mips-linux-gcc -o foo foo.c
|
|
|
install it somewhere else, so that it can be used to compile other programs
|
|
|
or by other users. Moving the <code>build_ARCH/staging_dir/</code>
|
|
|
directory elsewhere is <b>not possible if using gcc-3.x</b>, because there
|
|
|
- are some hardcoded paths in the toolchain configuration. This works, thanks
|
|
|
+ are some hardcoded paths in the toolchain configuration. This works, thanks
|
|
|
to sysroot support, with current, stable gcc-4.x toolchains, of course. </p>
|
|
|
|
|
|
<p>If you want to use the generated gcc-3.x toolchain for other purposes,
|
|
@@ -850,7 +850,7 @@ ln -s <shared download location> dl
|
|
|
<p>Another way of accessing a shared download location is to
|
|
|
create the <code>BUILDROOT_DL_DIR</code> environment variable.
|
|
|
If this is set, then the value of DL_DIR in the project is
|
|
|
- overridden. The following line should be added to
|
|
|
+ overridden. The following line should be added to
|
|
|
<code>"~/.bashrc"</code>. <p>
|
|
|
|
|
|
<pre>
|
|
@@ -911,10 +911,10 @@ endif
|
|
|
<p>Two types of <i>Makefiles</i> can be written :</p>
|
|
|
|
|
|
<ul>
|
|
|
- <li>Makefile for autotools-based (autoconf, automake, etc.)
|
|
|
+ <li>Makefiles for autotools-based (autoconf, automake, etc.)
|
|
|
softwares, are very easy to write thanks to the infrastructure
|
|
|
available in <code>package/Makefile.autotools.in</code>.</li>
|
|
|
- <li>Makefile for other types of packages are a little bit more
|
|
|
+ <li>Makefiles for other types of packages are a little bit more
|
|
|
complex to write.</li>
|
|
|
</ul>
|
|
|
|
|
@@ -1048,7 +1048,7 @@ endif
|
|
|
the other <code>*.mk</code> files in the <code>package</code>
|
|
|
directory. </p>
|
|
|
|
|
|
- <p>At lines <a href="#ex2line6">6-11</a>, a couple of useful variables are
|
|
|
+ <p>At lines <a href="#ex2line6">6-11</a>, a couple of useful variables are
|
|
|
defined :</p>
|
|
|
|
|
|
<ul>
|
|
@@ -1078,21 +1078,21 @@ endif
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line13">13-14</a> defines a target that downloads the
|
|
|
+ <p>Lines <a href="#ex2line13">13-14</a> defines a target that downloads the
|
|
|
tarball from the remote site to the download directory
|
|
|
(<code>DL_DIR</code>). </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line16">16-18</a> defines a target and associated rules
|
|
|
+ <p>Lines <a href="#ex2line16">16-18</a> defines a target and associated rules
|
|
|
that uncompress the downloaded tarball. As you can see, this target
|
|
|
depends on the tarball file, so that the previous target (line
|
|
|
- <a href="#ex2line13">13-14</a>) is called before executing the rules of the
|
|
|
+ <a href="#ex2line13">13-14</a>) is called before executing the rules of the
|
|
|
current target. Uncompressing is followed by <i>touching</i> a hidden file
|
|
|
to mark the software has having been uncompressed. This trick is
|
|
|
used everywhere in Buildroot <i>Makefile</i> to split steps
|
|
|
(download, uncompress, configure, compile, install) while still
|
|
|
having correct dependencies. </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line20">20-31</a> defines a target and associated rules
|
|
|
+ <p>Lines <a href="#ex2line20">20-31</a> defines a target and associated rules
|
|
|
that configures the software. It depends on the previous target (the
|
|
|
hidden <code>.source</code> file) so that we are sure the software has
|
|
|
been uncompressed. In order to configure it, it basically runs the
|
|
@@ -1104,14 +1104,14 @@ endif
|
|
|
filesystem. Finally it creates a <code>.configured</code> file to
|
|
|
mark the software as configured. </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line33">33-34</a> defines a target and a rule that
|
|
|
+ <p>Lines <a href="#ex2line33">33-34</a> defines a target and a rule that
|
|
|
compiles the software. This target will create the binary file in the
|
|
|
compilation directory, and depends on the software being already
|
|
|
configured (hence the reference to the <code>.configured</code>
|
|
|
file). It basically runs <code>make</code> inside the source
|
|
|
directory. </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line36">36-38</a> defines a target and associated rules
|
|
|
+ <p>Lines <a href="#ex2line36">36-38</a> defines a target and associated rules
|
|
|
that install the software inside the target filesystem. It depends on the
|
|
|
binary file in the source directory, to make sure the software has
|
|
|
been compiled. It uses the <code>install</code> target of the
|
|
@@ -1122,7 +1122,7 @@ endif
|
|
|
<code>/usr/man</code> directory inside the target filesystem is
|
|
|
removed to save space. </p>
|
|
|
|
|
|
- <p>Line <a href="#ex2line40">40</a> defines the main target of the software,
|
|
|
+ <p>Line <a href="#ex2line40">40</a> defines the main target of the software,
|
|
|
the one that will be eventually be used by the top level
|
|
|
<code>Makefile</code> to download, compile, and then install
|
|
|
this package. This target should first of all depends on all
|
|
@@ -1131,33 +1131,33 @@ endif
|
|
|
final binary. This last dependency will call all previous
|
|
|
dependencies in the correct order. </p>
|
|
|
|
|
|
- <p>Line <a href="#ex2line42">42</a> defines a simple target that only
|
|
|
- downloads the code source. This is not used during normal operation of
|
|
|
- Buildroot, but is needed if you intend to download all required sources at
|
|
|
+ <p>Line <a href="#ex2line42">42</a> defines a simple target that only
|
|
|
+ downloads the code source. This is not used during normal operation of
|
|
|
+ Buildroot, but is needed if you intend to download all required sources at
|
|
|
once for later offline build. Note that if you add a new package providing
|
|
|
a <code>foo-source</code> target is <i>mandatory</i> to support
|
|
|
users that wish to do offline-builds. Furthermore it eases checking
|
|
|
if all package-sources are downloadable. </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line44">44-46</a> define a simple target to clean the
|
|
|
+ <p>Lines <a href="#ex2line44">44-46</a> define a simple target to clean the
|
|
|
software build by calling the <i>Makefiles</i> with the appropriate option.
|
|
|
The <code>-clean</code> target should run <code>make clean</code>
|
|
|
on $(BUILD_DIR)/package-version and MUST uninstall all files of the
|
|
|
package from $(STAGING_DIR) and from $(TARGET_DIR). </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line48">48-49</a> define a simple target to completely
|
|
|
+ <p>Lines <a href="#ex2line48">48-49</a> define a simple target to completely
|
|
|
remove the directory in which the software was uncompressed, configured and
|
|
|
compiled. The <code>-dirclean</code> target MUST completely rm $(BUILD_DIR)/
|
|
|
package-version. </p>
|
|
|
|
|
|
- <p>Lines <a href="#ex2line51">51-58</a> adds the target <code>foo</code> to
|
|
|
+ <p>Lines <a href="#ex2line51">51-58</a> adds the target <code>foo</code> to
|
|
|
the list of targets to be compiled by Buildroot by first checking if
|
|
|
the configuration option for this package has been enabled
|
|
|
using the configuration tool, and if so then "subscribes"
|
|
|
this package to be compiled by adding it to the TARGETS
|
|
|
global variable. The name added to the TARGETS global
|
|
|
variable is the name of this package's target, as defined on
|
|
|
- line <a href="#ex2line40">40</a>, which is used by Buildroot to download,
|
|
|
+ line <a href="#ex2line40">40</a>, which is used by Buildroot to download,
|
|
|
compile, and then install this package. </p>
|
|
|
|
|
|
|