зеркало из https://github.com/mozilla/gecko-dev.git
42 строки
1.4 KiB
Makefile
42 строки
1.4 KiB
Makefile
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
#
|
|
# functions.mk
|
|
#
|
|
# Defines functions that are needed by various Makefiles throughout the build
|
|
# system, which are needed before config.mk can be included.
|
|
#
|
|
|
|
# Define an include-at-most-once flag
|
|
ifdef INCLUDED_FUNCTIONS_MK
|
|
$(error Do not include functions.mk twice!)
|
|
endif
|
|
INCLUDED_FUNCTIONS_MK = 1
|
|
|
|
core_abspath = $(error core_abspath is unsupported, use $$(abspath) instead)
|
|
core_realpath = $(error core_realpath is unsupported)
|
|
|
|
core_winabspath = $(error core_winabspath is unsupported)
|
|
|
|
# Run a named Python build action. The first argument is the name of the build
|
|
# action. The second argument are the arguments to pass to the action (space
|
|
# delimited arguments). e.g.
|
|
#
|
|
# libs::
|
|
# $(call py_action,purge_manifests,_build_manifests/purge/foo.manifest)
|
|
#
|
|
# The first argument can optionally contain the name of the file being created
|
|
# or processed. e.g.
|
|
# libs::
|
|
# $(call py_action,purge_manifests foo.manifest,_build_manifests/purge/foo.manifest)
|
|
# This optional name will be displayed in build profiles.
|
|
define py_action
|
|
$(call BUILDSTATUS,START_$(firstword $(1)) $(or $(word 2,$(1)),$(2)))
|
|
$(if $(3),cd $(3) && )$(PYTHON3) -m mozbuild.action.$(firstword $(1)) $(2)
|
|
$(call BUILDSTATUS,END_$(firstword $(1)) $(or $(word 2,$(1)),$(2)))
|
|
|
|
endef
|