doc/makefile-targets.txt
author Norm Jacobs <Norm.Jacobs@Oracle.COM>
Wed, 19 Oct 2016 09:53:08 -0500
changeset 7133 cabdc0719c92
parent 4196 d697072a92f5
permissions -rw-r--r--
24920023 llvm/clang packages need dependency changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     1
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     2
This is a guide to explain various useful targets in Userland component
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     3
Makefiles.  There is a set of targets that all Makefiles must include, plus
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     4
some addtional targets that are there for convenience.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     5
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     6
component-environment-check::
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     7
  This target is an optional target that will be included in most Makefiles
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     8
  automatically.  It is defined in $(WS_MAKE_RULES)/environment.mk which is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
     9
  included by $(WS_MAKE_RULES)/shares-macros.mk.  It reports on some interesting
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    10
  information about the current environment and whether or not it is suitable
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    11
  to build, publish, or test the component.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    12
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    13
component-environment-prep::
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    14
  This target is an optional target that will be included in most Makefiles
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    15
  automatically.  It is defined in $(WS_MAKE_RULES)/environment.mk which is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    16
  included by $(WS_MAKE_RULES)/shares-macros.mk.  It uses the REQUIRE_PACKAGES
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    17
  macro contents to attempt to install any required packages in the current
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    18
  environment.  It should never by used by developers to update any public
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    19
  build machines as those are managed by dedicated staff.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    20
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    21
download::
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    22
  This target is present in all Makefiles.  It can be used at the top level
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    23
  to act across all components, or on an individual component basis.  It is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    24
  typically defined by including $(WS_MAKE_RULES)/prep.mk in your component
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    25
  Makefile.  This target depends on your component Makefile, so changes to your
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    26
  component Makefile will automatically trigger a re-download and subsequent
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    27
  build steps that depend on it.  You can use the MAKEFILE_PREREQ macro to
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    28
  override this behaviour and avoid rebuilding with each Makefile change.  This
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    29
  macro should only be used in the calling environment via something like:
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    30
    $ gmake MAKEFILE_PREREQ= install
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    31
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    32
unpack::
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    33
  This target is present in all Makefiles.  It can be used at the top level
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    34
  to act across all components, or on an individual component basis.  It is
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    35
  typically defined by including $(WS_MAKE_RULES)/prep.mk in your component
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    36
  Makefile.  This target depends on the previously described "download" target,
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    37
  This target will unpack any downloaded source archives.  It is an interim
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    38
  step in the source code preparation phase of the build.
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    39
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    40
patch::
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    41
  This target is present in all Makefiles.  It can be used at the top level
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    42
  to act across all components, or on an individual component basis.  It is
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    43
  typically defined by including $(WS_MAKE_RULES)/prep.mk in your component
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    44
  Makefile.  This target depends on the previously described "unpack" target,
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    45
  This target will patch any unpacked source.  It is an interim step in the
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    46
  source code preparation phase of the build.
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    47
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    48
prep::
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    49
  This target is present in all Makefiles.  It can be used at the top level
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    50
  to act across all components, or on an individual component basis.  It is 
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    51
  typically defined by including $(WS_MAKE_RULES)/prep.mk in your component
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    52
  Makefile.  It depends on the previously described "download" target, as well
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    53
  as internal interim targets to unpack source archives and apply patches to
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    54
  the unpacked source.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    55
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    56
configure:
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    57
  This target is an optional target that can be included in component Makefiles
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    58
  to run the community source configuration phase of a component build.  It is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    59
  typically defined in component Makefiles that make use of the
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    60
  $(WS_MAKE_RULES)/configure.mk Makefile fragment, but could be defined in
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    61
  others that include a source code configuration step.  It is not explicitly
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    62
  called during the build, but provides a convenient means of downloading,
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    63
  unpacking, patching, and "configuring" component source for building without
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    64
  actually compiling the bits.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    65
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    66
build::
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    67
  This target must be present in all Makefiles.  It can be used at the top level
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    68
  to act across all components, or on an individual component basis.  It is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    69
  defined in the individual component Makefiles, but most Makefile fragments
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    70
  under $(WS_MAKE_RULES) include targets that allow the definitions to depend
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    71
  on one of several convenience macros $(BUILD_32), $(BUILD_64),
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    72
  $(BUILD_32_and_64), and $(BUILD_NO_ARCH) to build 32-bit support, 64-bit
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    73
  support, both 32 and 64 bit support, or architecture neutral support.  The
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    74
  macro used will depend on the component.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    75
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    76
install::
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    77
  This target must be present in all Makefiles.  It can be used at the top level
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    78
  to act across all components, or on an individual component basis.  It is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    79
  defined in the individual component Makefiles, but most Makefile fragments
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    80
  under $(WS_MAKE_RULES) include targets that allow the definitions to depend
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    81
  on one of several convenience macros $(INSTALL_32), $(INSTALL_64),
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    82
  $(INSTALL_32_and_64), and $(INSTALL_NO_ARCH) to install 32-bit support, 64-bit
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    83
  support, both 32 and 64 bit support, or architecture neutral support.  The
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    84
  macro used will depend on the component and corresponds to the build target
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    85
  macro used.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    86
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    87
pkglint::
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    88
  This target is an optional target is automatically defined in each Makefile
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    89
  by the inclusion of $(WS_MAKE_RULES)/prep.mk.  It will run the build steps
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    90
  necessary to pkglint the manifests for a component.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    91
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    92
publish::
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    93
  This target is present in all Makefiles.  It can be used at the top level
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    94
  to act across all components, or on an individual component basis.  It is
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
    95
  automatically defined by including $(WS_MAKE_RULES)/ips.mk.  It depends
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    96
  on the previously described 'install' target and will perform a series of
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    97
  internal, intermediate steps to use the component package manifests to
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    98
  generate and publish packages for that component.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
    99
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   100
clean::
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
   101
  This target is present in all Makefiles.  It can be used at the top level
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   102
  to act across all components, or on an individual component basis.  It is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   103
  often automatically defined by including one of the $(WS_MAKE_RULES)
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   104
  Makefile fragments.  It cleans up any files created by building the component
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   105
  with the exception of any downloaded files.
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   106
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   107
clobber::
4196
d697072a92f5 19782029 userland should be able to build from SCM repositories
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents: 3953
diff changeset
   108
  This target is present in all Makefiles.  It can be used at the top level
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   109
  to act across all components, or on an individual component basis.  It is
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   110
  often automatically defined by including one of the $(WS_MAKE_RULES)
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   111
  Makefile fragments.  It depends on the previously described 'clean' target
3953
7a1f9588575b 20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   112
  and additionally cleans up any downloaded source archives.  In addition,
7a1f9588575b 20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   113
  when done from the top level or component sub-directory, it will do a find
7a1f9588575b 20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   114
  of 'manifest-*.published' and clean those up; these can be left over from
7a1f9588575b 20704316 top-level clobber should find & rm what top-level publish looks for
John Beck <John.Beck@Oracle.COM>
parents: 3817
diff changeset
   115
  components that were published but then 'hg rm'd before the next clobber.
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   116
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   117
REQUIRED_PACKAGES::
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   118
  This target is present in all component Makefiles.  It is automatically
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   119
  defined by including $(WS_MAKE_RULES)/ips.mk.  It is a convenience that can
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   120
  be used to generate the set of REQUIRED_PACKAGES that is needed by the
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   121
  'pkgdepend resolve' portion of package generation and publication (publish
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   122
  target).  It automatically appends to the component Makefile, but the results
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   123
  should be
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
diff changeset
   124
  manually verified.