1*4882a593Smuzhiyun// -*- mode:doc; -*- 2*4882a593Smuzhiyun// vim: set syntax=asciidoc: 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun[[pkg-build-steps]] 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun==== Package-specific _make_ targets 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunRunning +make <package>+ builds and installs that particular package 9*4882a593Smuzhiyunand its dependencies. 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunFor packages relying on the Buildroot infrastructure, there are 12*4882a593Smuzhiyunnumerous special make targets that can be called independently like 13*4882a593Smuzhiyunthis: 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun------------ 16*4882a593Smuzhiyunmake <package>-<target> 17*4882a593Smuzhiyun------------ 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunThe package build targets are (in the order they are executed): 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun[width="90%",cols="^1,4",options="header"] 22*4882a593Smuzhiyun|=================================================== 23*4882a593Smuzhiyun| command/target | Description 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun| +source+ | Fetch the source (download the tarball, clone 26*4882a593Smuzhiyunthe source repository, etc) 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun| +depends+ | Build and install all dependencies required to 29*4882a593Smuzhiyunbuild the package 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun| +extract+ | Put the source in the package build directory 32*4882a593Smuzhiyun(extract the tarball, copy the source, etc) 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun| +patch+ | Apply the patches, if any 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun| +configure+ | Run the configure commands, if any 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun| +build+ | Run the compilation commands 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun| +install-staging+ | 41*4882a593Smuzhiyun*target package:* Run the installation of the package in the 42*4882a593Smuzhiyunstaging directory, if necessary 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun| +install-target+ | 45*4882a593Smuzhiyun*target package:* Run the installation of the package in the 46*4882a593Smuzhiyuntarget directory, if necessary 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun| +install+ | 49*4882a593Smuzhiyun*target package:* Run the 2 previous installation commands 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun*host package:* Run the installation of the package in the host 52*4882a593Smuzhiyundirectory 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun|=================================================== 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunAdditionally, there are some other useful make targets: 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun[width="90%",cols="^1,4",options="header"] 59*4882a593Smuzhiyun|=================================================== 60*4882a593Smuzhiyun| command/target | Description 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun| +show-depends+ | Displays the first-order dependencies required to build the 63*4882a593Smuzhiyunpackage 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun| +show-recursive-depends+ | Recursively displays the dependencies 66*4882a593Smuzhiyun required to build the package 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun| +show-rdepends+ | Displays the first-order reverse dependencies of 69*4882a593Smuzhiyun the package (i.e packages that directly depend on it) 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun| +show-recursive-rdepends+ | Recursively displays the reverse 72*4882a593Smuzhiyun dependencies of the package (i.e the packages that depend on it, 73*4882a593Smuzhiyun directly or indirectly) 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun| +graph-depends+ | Generate a dependency graph of the package, in the 76*4882a593Smuzhiyuncontext of the current Buildroot configuration. See 77*4882a593Smuzhiyunxref:graph-depends[this section] for more details about dependency 78*4882a593Smuzhiyungraphs. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun| +graph-rdepends+ | Generate a graph of this package reverse 81*4882a593Smuzhiyun dependencies (i.e the packages that depend on it, directly or 82*4882a593Smuzhiyun indirectly) 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun| +dirclean+ | Remove the whole package build directory 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun| +reinstall+ | Re-run the install commands 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun| +rebuild+ | Re-run the compilation commands - this only makes 89*4882a593Smuzhiyunsense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file 90*4882a593Smuzhiyundirectly in the build directory 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun| +reconfigure+ | Re-run the configure commands, then rebuild - this only 93*4882a593Smuzhiyunmakes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a 94*4882a593Smuzhiyunfile directly in the build directory 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun|=================================================== 97