manual: add package-make-target.txt
authorSamuel Martin <s.martin49@gmail.com>
Sun, 11 Nov 2012 03:14:54 +0000 (03:14 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 15 Nov 2012 22:59:54 +0000 (23:59 +0100)
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
docs/manual/advanced.txt
docs/manual/package-make-target.txt [new file with mode: 0644]
docs/manual/rebuilding-packages.txt

index cd53182ba5e7126936bfcd6a2b2fed9e083d92c9..ba6574cac394cf27fc89fe4d2d4c990a766bc51b 100644 (file)
@@ -10,3 +10,5 @@ include::external-toolchain.txt[]
 include::ccache-support.txt[]
 
 include::download-location.txt[]
+
+include::package-make-target.txt[]
diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt
new file mode 100644 (file)
index 0000000..1813af3
--- /dev/null
@@ -0,0 +1,88 @@
+// -*- mode:doc; -*-
+
+[[pkg-build-steps]]
+
+Package make targets
+~~~~~~~~~~~~~~~~~~~~
+
+A +make <package>+ call achieves several _make targets_ with, as a
+result, this particular package and its dependencies built, installed
+in their destination directory (target, staging or host directory).
+
+For packages based on the Buildroot infrastructures (+generic-package+,
++autotools-package+ or +cmake-package+), each of those
+actions/steps/commands. For packages relying on other build system,
+then there is no other choice than looking at the +.mk+ file (see also
+the xref:rebuild-pkg[]).
+
+For packages relying on the Buildroot infrastructures, there are
+numerous special make targets that can be called independently like
+this:
+
+------------
+make <package>-<target>
+------------
+
+In order, the package build commands are:
+
+[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 command
+
+| +build+           | Compile the source
+
+| +install-staging+ |
+*target package:* Run the installation of the package in the
+staging directory
+
+*host package:* Does nothing
+
+| +install-target+  |
+*target package:* Run the installation of the package in the
+staging directory
+
+*host package:* Does nothing
+
+| +install+         |
+*target package:* Run the 2 previous installation commands for the
+target packages
+
+*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 dependencies required to build the
+package
+
+| +clean+           | Clean the package build directory, also
+uninstall the package from both the target and the staging directory
+
+| +dirclean+        | Remove the whole package build directory
+
+| +rebuild+         | Rebuild only necessary binaries and install them
+again
+
+| +reconfigure+     | Run again the configure command, then rebuild
+only necessary binaries, and lastly install them again
+
+|===================================================
index 222520020087d5510a58a1c763e0946bd1cc082b..a723d113ce79270dfa7e421e4e2a4c363ab504da 100644 (file)
@@ -83,3 +83,7 @@ Buildroot infrastructures.
 use any Buildroot infrastructure).
 - Most packages and toolchain packages, if not all, will progressively
 be ported over to the generic, autotools or CMake infrastructure,
+making it much easier to rebuild individual packages.
+
+Further details about package special make target at the
+xref:pkg-build-steps[].