xref: /OK3568_Linux_fs/buildroot/docs/manual/package-make-target.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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