mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 13:33:28 +08:00
ca6c896bdd
The current implementation of buildroot depe dependency graphing either does forward- or reverse-dependency traversal. This patch enables buildroot to graph forward and reverse dependencies on the graph for the same package: (Diagram Credit: Yann E. MORIN) $ make pkg-d-graph-both-depends pkg A -. .-> pkg E \ / pkg B ----> pkg D ----> pkg F / \ pkg C -' '-> pkg G In the above example a single graph shows pkg {A,B,C} are needed by pkg D, and pkg D is a dependency of pkg {E,F,G}. Makefile help and manual are also updated. Signed-off-by: Steve Hay <me@stevenhay.com> [Arnout: - remove DEPTH and RDEPTH, their functionality is already covered by BR2_GRAPH_DEPS_OPTS; - remove --rdepth, it was felt to not add sufficient added value; - add the new target to the manual; - fix flake8 errors. ] Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
101 lines
3.1 KiB
Plaintext
101 lines
3.1 KiB
Plaintext
// -*- mode:doc; -*-
|
|
// vim: set syntax=asciidoc:
|
|
|
|
[[pkg-build-steps]]
|
|
|
|
==== Package-specific _make_ targets
|
|
|
|
Running +make <package>+ builds and installs that particular package
|
|
and its dependencies.
|
|
|
|
For packages relying on the Buildroot infrastructure, there are
|
|
numerous special make targets that can be called independently like
|
|
this:
|
|
|
|
----
|
|
make <package>-<target>
|
|
----
|
|
|
|
The package build targets are (in the order they are executed):
|
|
|
|
[width="90%",cols="^1,4",options="header"]
|
|
|===================================================
|
|
| command/target | Description
|
|
|
|
| +source+ | Fetch the source (download the tarball, clone
|
|
the source repository, etc)
|
|
|
|
| +depends+ | Build and install all dependencies required to
|
|
build the package
|
|
|
|
| +extract+ | Put the source in the package build directory
|
|
(extract the tarball, copy the source, etc)
|
|
|
|
| +patch+ | Apply the patches, if any
|
|
|
|
| +configure+ | Run the configure commands, if any
|
|
|
|
| +build+ | Run the compilation commands
|
|
|
|
| +install-staging+ |
|
|
*target package:* Run the installation of the package in the
|
|
staging directory, if necessary
|
|
|
|
| +install-target+ |
|
|
*target package:* Run the installation of the package in the
|
|
target directory, if necessary
|
|
|
|
| +install+ |
|
|
*target package:* Run the 2 previous installation commands
|
|
|
|
*host package:* Run the installation of the package in the host
|
|
directory
|
|
|
|
|===================================================
|
|
|
|
Additionally, there are some other useful make targets:
|
|
|
|
[width="90%",cols="^1,4",options="header"]
|
|
|===================================================
|
|
| command/target | Description
|
|
|
|
| +show-depends+ | Displays the first-order dependencies required to build the
|
|
package
|
|
|
|
| +show-recursive-depends+ | Recursively displays the dependencies
|
|
required to build the package
|
|
|
|
| +show-rdepends+ | Displays the first-order reverse dependencies of
|
|
the package (i.e packages that directly depend on it)
|
|
|
|
| +show-recursive-rdepends+ | Recursively displays the reverse
|
|
dependencies of the package (i.e the packages that depend on it,
|
|
directly or indirectly)
|
|
|
|
| +graph-depends+ | Generate a dependency graph of the package, in the
|
|
context of the current Buildroot configuration. See
|
|
xref:graph-depends[this section] for more details about dependency
|
|
graphs.
|
|
|
|
| +graph-rdepends+ | Generate a graph of this package reverse
|
|
dependencies (i.e the packages that depend on it, directly or
|
|
indirectly)
|
|
|
|
| +graph-both-depends+ | Generate a graph of this package in both
|
|
directions (i.e the packages that depend on it and on which it
|
|
depends, directly or indirectly)
|
|
|
|
| +dirclean+ | Remove the whole package build directory
|
|
|
|
| +reinstall+ | Re-run the install commands
|
|
|
|
| +rebuild+ | Re-run the compilation commands - this only makes
|
|
sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file
|
|
directly in the build directory
|
|
|
|
| +reconfigure+ | Re-run the configure commands, then rebuild - this only
|
|
makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a
|
|
file directly in the build directory
|
|
|
|
|===================================================
|