// -*- mode:doc; -*- [[pkg-build-steps]] Package make targets ~~~~~~~~~~~~~~~~~~~~ A +make + 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 - ------------ 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+ | Re-run the configure command, then rebuild only necessary binaries, and lastly install them again |===================================================