Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/config/makefiles/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  nonrecursive.mk   Sprache: Shell

 
# -*- makefile -*-
# vim:set ts=8 sw=8 sts=8 noet:
#
# 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


Messung V0.5
C=88 H=96 G=91

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.