mirror of
https://github.com/roytam1/UXP.git
synced 2026-05-26 13:58:49 +00:00
d388e478a0
Vim control lines were re-introduced or not entirely cleaned up. This nukes them again. Removing from the rest of js, caps, chrome, config, devtools, docshell, image, intl. More to come.
68 lines
2.4 KiB
Makefile
68 lines
2.4 KiB
Makefile
# -*- 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/.
|
|
|
|
# The purpose of this file is to pull in non-recursive targets when performing
|
|
# a partial tree (not top-level) build. This will allow people to continue to
|
|
# build individual directories while some of the targets may not be normally
|
|
# defined in that make file.
|
|
#
|
|
# Non-recursive targets are attached to existing make targets. The
|
|
# NONRECURSIVE_TARGETS variable lists the make targets that modified. For
|
|
# each target in this list, the NONRECURSIVE_TARGET_<target> variable will
|
|
# contain a list of partial variable names. We will then look in variables
|
|
# named NONRECURSIVE_TARGETS_<target>_<fragment>_* for information describing
|
|
# how to evaluate non-recursive make targets.
|
|
#
|
|
# Targets are defined by the following variables:
|
|
#
|
|
# FILE - The make file to evaluate. This is equivalent to
|
|
# |make -f <FILE>|
|
|
# DIRECTORY - The directory whose Makefile to evaluate. This is
|
|
# equivalent to |make -C <DIRECTORY>|.
|
|
# TARGETS - Targets to evaluate in that make file.
|
|
#
|
|
# Only 1 of FILE or DIRECTORY may be defined.
|
|
#
|
|
# For example:
|
|
#
|
|
# NONRECURSIVE_TARGETS = export libs
|
|
# NONRECURSIVE_TARGETS_export = headers
|
|
# NONRECURSIVE_TARGETS_export_headers_FILE = /path/to/exports.mk
|
|
# NONRECURSIVE_TARGETS_export_headers_TARGETS = $(DIST)/include/foo.h $(DIST)/include/bar.h
|
|
# NONRECURSIVE_TARGETS_libs = cppsrcs
|
|
# NONRECURSIVE_TARGETS_libs_cppsrcs_DIRECTORY = $(DEPTH)/foo
|
|
# NONRECURSIVE_TARGETS_libs_cppsrcs_TARGETS = /path/to/foo.o /path/to/bar.o
|
|
#
|
|
# Will get turned into the following:
|
|
#
|
|
# exports::
|
|
# $(MAKE) -C $(DEPTH) -f /path/to/exports.mk $(DIST)/include/foo.h $(DIST)/include/bar.h
|
|
#
|
|
# libs::
|
|
# $(MAKE) -C $(DEPTH)/foo /path/to/foo.o /path/to/bar.o
|
|
|
|
ifndef INCLUDED_NONRECURSIVE_MK
|
|
|
|
define define_nonrecursive_target
|
|
$(1)::
|
|
$$(MAKE) -C $(or $(4),$$(DEPTH)) $(addprefix -f ,$(3)) $(2)
|
|
endef
|
|
|
|
$(foreach target,$(NONRECURSIVE_TARGETS), \
|
|
$(foreach entry,$(NONRECURSIVE_TARGETS_$(target)), \
|
|
$(eval $(call define_nonrecursive_target, \
|
|
$(target), \
|
|
$(NONRECURSIVE_TARGETS_$(target)_$(entry)_TARGETS), \
|
|
$(NONRECURSIVE_TARGETS_$(target)_$(entry)_FILE), \
|
|
$(NONRECURSIVE_TARGETS_$(target)_$(entry)_DIRECTORY), \
|
|
)) \
|
|
) \
|
|
)
|
|
|
|
INCLUDED_NONRECURSIVE_MK := 1
|
|
endif
|
|
|