| | |
| | | some addtional targets that are there for convenience. |
| | | |
| | | component-environment-check:: |
| | | This target is an optional target that will be included in most Makefiles |
| | | automatically. It is defined in $(WS_MAKE_RULES)/environment.mk which is |
| | | included by $(WS_MAKE_RULES)/shares-macros.mk. It reports on some interesting |
| | | This target is present in all Makefiles. It is defined in |
| | | $(WS_MAKE_RULES)/environment.mk which is included by |
| | | $(WS_MAKE_RULES)/shares-macros.mk. It reports on some interesting |
| | | information about the current environment and whether or not it is suitable |
| | | to build, publish, or test the component. |
| | | to build and/or publish the component. |
| | | |
| | | component-environment-prep:: |
| | | This target is an optional target that will be included in most Makefiles |
| | | automatically. It is defined in $(WS_MAKE_RULES)/environment.mk which is |
| | | included by $(WS_MAKE_RULES)/shares-macros.mk. It uses the REQUIRE_PACKAGES |
| | | macro contents to attempt to install any required packages in the current |
| | | environment. It should never by used by developers to update any public |
| | | build machines as those are managed by dedicated staff. To use this target |
| | | user has to be assigned "Software Installation" or "Primary Administrator" |
| | | profile. |
| | | This target is present in all Makefiles. It is defined in |
| | | $(WS_MAKE_RULES)/environment.mk which is included by |
| | | $(WS_MAKE_RULES)/shares-macros.mk. It uses both USERLAND_REQUIRED_PACKAGES |
| | | and REQUIRED_PACKAGES macro contents to attempt to install any required |
| | | packages in the current environment. To use this target user has to be |
| | | assigned "Software Installation" or "Primary Administrator" profile. |
| | | |
| | | component-test-environment-check:: |
| | | This target is present in all Makefiles. It is defined in |
| | | $(WS_MAKE_RULES)/environment.mk which is included by |
| | | $(WS_MAKE_RULES)/shares-macros.mk. It reports on some interesting |
| | | information about the current environment and whether or not it is suitable |
| | | to test the component. |
| | | |
| | | component-test-environment-prep:: |
| | | This target is present in all Makefiles. It is defined in |
| | | $(WS_MAKE_RULES)/environment.mk which is included by |
| | | $(WS_MAKE_RULES)/shares-macros.mk. It uses both |
| | | USERLAND_TEST_REQUIRED_PACKAGES and TEST_REQUIRED_PACKAGES macro contents to |
| | | attempt to install any required packages in the current environment. To use |
| | | this target user has to be assigned "Software Installation" or "Primary |
| | | Administrator" profile. |
| | | |
| | | download:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | typically defined by including $(WS_MAKE_RULES)/prep.mk in your component |
| | | typically defined by including $(WS_MAKE_RULES)/common.mk in your component |
| | | Makefile. This target depends on your component Makefile, so changes to your |
| | | component Makefile will automatically trigger a re-download and subsequent |
| | | build steps that depend on it. You can use the MAKEFILE_PREREQ macro to |
| | |
| | | unpack:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | typically defined by including $(WS_MAKE_RULES)/prep.mk in your component |
| | | typically defined by including $(WS_MAKE_RULES)/common.mk in your component |
| | | Makefile. This target depends on the previously described "download" target, |
| | | This target will unpack any downloaded source archives. It is an interim |
| | | step in the source code preparation phase of the build. |
| | |
| | | patch:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | typically defined by including $(WS_MAKE_RULES)/prep.mk in your component |
| | | typically defined by including $(WS_MAKE_RULES)/common.mk in your component |
| | | Makefile. This target depends on the previously described "unpack" target, |
| | | This target will patch any unpacked source. It is an interim step in the |
| | | source code preparation phase of the build. |
| | |
| | | prep:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | typically defined by including $(WS_MAKE_RULES)/prep.mk in your component |
| | | typically defined by including $(WS_MAKE_RULES)/common.mk in your component |
| | | Makefile. It depends on the previously described "download" target, as well |
| | | as internal interim targets to unpack source archives and apply patches to |
| | | the unpacked source. |
| | |
| | | |
| | | pkglint:: |
| | | This target is an optional target is automatically defined in each Makefile |
| | | by the inclusion of $(WS_MAKE_RULES)/prep.mk. It will run the build steps |
| | | by the inclusion of $(WS_MAKE_RULES)/common.mk. It will run the build steps |
| | | necessary to pkglint the manifests for a component. |
| | | |
| | | pre-publish:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | automatically defined by including $(WS_MAKE_RULES)/common.mk. It depends |
| | | on the previously described 'install' target and will perform a series of |
| | | internal, intermediate steps to use the component package manifests to |
| | | generate and validate consistency of packages for that component. |
| | | |
| | | NOTE: The pre-publish target aims to help a recipe developer to make sure |
| | | that the recipe can produce a valid package without actually pushing its |
| | | bits into his or her repository (allows to experiment, saves some time, and |
| | | avoids polluting the repository with known-bad code during development cycles). |
| | | |
| | | publish:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | automatically defined by including $(WS_MAKE_RULES)/ips.mk. It depends |
| | | on the previously described 'install' target and will perform a series of |
| | | internal, intermediate steps to use the component package manifests to |
| | | generate and publish packages for that component. |
| | | automatically defined by including $(WS_MAKE_RULES)/common.mk. It depends |
| | | on the previously described 'pre-publish' target and will actually publish |
| | | packages for that component to the repository configured in $(WS_REPO). |
| | | |
| | | clean:: |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | often automatically defined by including one of the $(WS_MAKE_RULES) |
| | | Makefile fragments. It cleans up any files created by building the component |
| | | with the exception of any downloaded files. |
| | | automatically defined by including $(WS_MAKE_RULES)/common.mk. It cleans |
| | | up any files created by building the component with the exception of any |
| | | downloaded files. |
| | | |
| | | clobber:: |
| | | |
| | | This target is present in all Makefiles. It can be used at the top level |
| | | to act across all components, or on an individual component basis. It is |
| | | often automatically defined by including one of the $(WS_MAKE_RULES) |
| | | Makefile fragments. It depends on the previously described 'clean' target |
| | | and additionally cleans up any downloaded source archives. In addition, |
| | | when done from the top level or component sub-directory, it will do a find |
| | | of 'manifest-*.published' and clean those up; these can be left over from |
| | | components that were published but then 'hg rm'd before the next clobber. |
| | | automatically defined by including $(WS_MAKE_RULES)/common.mk. It depends |
| | | on the previously described 'clean' target and additionally cleans up any |
| | | downloaded source archives. |
| | | |
| | | REQUIRED_PACKAGES:: |
| | | This target is present in all component Makefiles. It is automatically |
| | | defined by including $(WS_MAKE_RULES)/ips.mk. It is a convenience that can |
| | | defined by including $(WS_MAKE_RULES)/common.mk. It is a convenience that can |
| | | be used to generate the set of REQUIRED_PACKAGES that is needed by the |
| | | 'pkgdepend resolve' portion of package generation and publication (publish |
| | | target). It automatically appends to the component Makefile, but the results |
| | | should be manually verified. |
| | | |
| | | env-check:: |
| | | This target serves as an alias for component-environment-check target. It exists |
| | | only for user convenience. |
| | | |
| | | env-prep:: |
| | | This target serves as an alias for component-environment-prep target. It exists |
| | | only for user convenience. |
| | | |
| | | test-env-check:: |
| | | This target serves as an alias for component-test-environment-check target. |
| | | It exists only for user convenience. |
| | | |
| | | test-env-prep:: |
| | | This target serves as an alias for component-test-environment-prep target. It |
| | | exists only for user convenience. |
| | | |
| | | print-VAR |
| | | This target will print contents of variable VAR and also provide information |
| | | about variable origin and variable flavor. |
| | | |
| | | print-value-VAR |
| | | This target will print contents of variable VAR. |
| | | |
| | | format |
| | | This target will apply different refactoring rules to update the Makefile |
| | | to the current style: deprecation of macros, use of new target, autoindent... |
| | | The rules are implemented in the userland-component utility. |
| | | |
| | | update |
| | | This target will format the Makefile then bump the COMPONENT_REVISION variable |
| | | if no VERSION value is provided. If a VERSION value is provided it will set |
| | | the COMPONENT_VERSION to the given value and remove COMPONENT_REVISION. |
| | | For some supported build style it may peform additional actions like: |
| | | - infering the latest version if VERSION=latest is passed, |
| | | - updating the archive checksum. |
| | | |
| | | update-latest |
| | | This target is a convenience shortcut for 'update VERSION=latest'. |