Blame view

buildroot/buildroot-2016.08.1/docs/manual/adding-packages-hooks.txt 2.86 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
  // -*- mode:doc; -*-
  // vim: set syntax=asciidoc:
  
  [[hooks]]
  === Hooks available in the various build steps
  
  The generic infrastructure (and as a result also the derived autotools
  and cmake infrastructures) allow packages to specify hooks.
  These define further actions to perform after existing steps.
  Most hooks aren't really useful for generic packages, since the +.mk+
  file already has full control over the actions performed in each step
  of the package construction.
  
  The following hook points are available:
  
  * +LIBFOO_PRE_DOWNLOAD_HOOKS+
  * +LIBFOO_POST_DOWNLOAD_HOOKS+
  
  * +LIBFOO_PRE_EXTRACT_HOOKS+
  * +LIBFOO_POST_EXTRACT_HOOKS+
  
  * +LIBFOO_PRE_RSYNC_HOOKS+
  * +LIBFOO_POST_RSYNC_HOOKS+
  
  * +LIBFOO_PRE_PATCH_HOOKS+
  * +LIBFOO_POST_PATCH_HOOKS+
  
  * +LIBFOO_PRE_CONFIGURE_HOOKS+
  * +LIBFOO_POST_CONFIGURE_HOOKS+
  
  * +LIBFOO_PRE_BUILD_HOOKS+
  * +LIBFOO_POST_BUILD_HOOKS+
  
  * +LIBFOO_PRE_INSTALL_HOOKS+ (for host packages only)
  * +LIBFOO_POST_INSTALL_HOOKS+ (for host packages only)
  
  * +LIBFOO_PRE_INSTALL_STAGING_HOOKS+ (for target packages only)
  * +LIBFOO_POST_INSTALL_STAGING_HOOKS+ (for target packages only)
  
  * +LIBFOO_PRE_INSTALL_TARGET_HOOKS+ (for target packages only)
  * +LIBFOO_POST_INSTALL_TARGET_HOOKS+ (for target packages only)
  
  * +LIBFOO_PRE_INSTALL_IMAGES_HOOKS+
  * +LIBFOO_POST_INSTALL_IMAGES_HOOKS+
  
  * +LIBFOO_PRE_LEGAL_INFO_HOOKS+
  * +LIBFOO_POST_LEGAL_INFO_HOOKS+
  
  These variables are 'lists' of variable names containing actions to be
  performed at this hook point. This allows several hooks to be
  registered at a given hook point. Here is an example:
  
  ----------------------
  define LIBFOO_POST_PATCH_FIXUP
  	action1
  	action2
  endef
  
  LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP
  ----------------------
  
  ==== Using the +POST_RSYNC+ hook
  The +POST_RSYNC+ hook is run only for packages that use a local source,
  either through the +local+ site method or the +OVERRIDE_SRCDIR+
  mechanism. In this case, package sources are copied using +rsync+ from
  the local location into the buildroot build directory. The +rsync+
  command does not copy all files from the source directory, though.
  Files belonging to a version control system, like the directories
  +.git+, +.hg+, etc. are not copied. For most packages this is
  sufficient, but a given package can perform additional actions using
  the +POST_RSYNC+ hook.
  
  In principle, the hook can contain any command you want. One specific
  use case, though, is the intentional copying of the version control
  directory using +rsync+. The +rsync+ command you use in the hook can, among
  others, use the following variables:
  
  * +$(SRCDIR)+: the path to the overridden source directory
  * +$(@D)+: the path to the build directory
  
  ==== Target-finalize hook
  
  Packages may also register hooks in +LIBFOO_TARGET_FINALIZE_HOOKS+.
  These hooks are run after all packages are built, but before the
  filesystem images are generated. They are seldom used, and your
  package probably do not need them.