Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  userspace_recurse.mk

  Sprache: Shell
 

#
# Copyright (c) 2020, Google, Inc. All rights reserved
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Recursively ensure that dependencies are built and include their flags +
# includes in the current module's build. This file isolates dependencies from
# their parent module's and the global state, allowing each library to be built
# independently.
#
# args:
# MODULE : Current module name (required)
#
# DEPENDENCY_MODULE : Dependency to build.
#     OR
# EXPORT_DEPENDENCY_MODULE : Dependency to build, flags exported by the
#  dependency will be re-exported from the current module.
#
# This file extends the current MODULE_* flags with $(DEPENDENCY_MODULE)'s
# MODULE_EXPORT_* flags. In the case of EXPORT_DEPENDENCY_MODULE, the
# dependency's flags will also be appended to the current MODULE_EXPORT_* flags.

ifneq ($(strip $(DEPENDENCY_MODULE)),)
ifneq ($(strip $(EXPORT_DEPENDENCY_MODULE)),)
$(error DEPENDENCY_MODULE and EXPORT_DEPENDENCY_MODULE are mutually exclusive. Please set one or the other when adding dependencies to $(MODULE).)
endif
endif

ifneq ($(strip $(EXPORT_DEPENDENCY_MODULE)),)
DEPENDENCY_MODULE := $(EXPORT_DEPENDENCY_MODULE)
endif

ifeq ($(strip $(DEPENDENCY_MODULE_PATH)),)
DEPENDENCY_MODULE_PATH := $(DEPENDENCY_MODULE)
endif

$(call INFO,$(MODULE),processing dependencies,$(DEPENDENCY_MODULE))

# SAVED_MODULE_STACK contains a stack of the current dependency chain. We need
# to recursively keep track of this chain so that we can restore our parent
# modules private flags after adding our exported flags (and rules if not
# already emitted).
ifeq ($(filter $(MODULE),$(SAVED_MODULE_STACK)),)
ifeq ($(_MODULES_$(DEPENDENCY_MODULE)),)

# Cache our current state, as it will get wiped out when including dependencies
# in recurse-lib-deps. This must be module-specific as we can have a multi-layer
# chain and these variable are globally scoped.
SAVED_MODULE_STACK := $(SAVED_MODULE_STACK) $(MODULE)
SAVED_$(MODULE)_SRCS := $(MODULE_SRCS)
SAVED_$(MODULE)_SRCS_FIRST := $(MODULE_SRCS_FIRST)
SAVED_$(MODULE)_STATIC_LIB := $(MODULE_STATIC_LIB)
SAVED_$(MODULE)_DEPS := $(MODULE_DEPS)
SAVED_$(MODULE)_LIBRARIES := $(MODULE_LIBRARIES)
SAVED_$(MODULE)_RLIBS := $(MODULE_RLIBS)
SAVED_$(MODULE)_LIBRARY_DEPS := $(MODULE_LIBRARY_DEPS)
SAVED_$(MODULE)_LIBRARY_EXPORTED_DEPS := $(MODULE_LIBRARY_EXPORTED_DEPS)
SAVED_$(MODULE)_LICENSES := $(MODULE_LICENSES)
SAVED_$(MODULE)_ADD_IMPLICIT_DEPS := $(MODULE_ADD_IMPLICIT_DEPS)
SAVED_$(MODULE)_USE_WHOLE_ARCHIVE := $(MODULE_USE_WHOLE_ARCHIVE)
SAVED_$(MODULE)_DEFINES := $(MODULE_DEFINES)
SAVED_$(MODULE)_COMPILEFLAGS := $(MODULE_COMPILEFLAGS)
SAVED_$(MODULE)_CONSTANTS := $(MODULE_CONSTANTS)
SAVED_$(MODULE)_CFLAGS := $(MODULE_CFLAGS)
SAVED_$(MODULE)_CPPFLAGS := $(MODULE_CPPFLAGS)
SAVED_$(MODULE)_ASMFLAGS := $(MODULE_ASMFLAGS)
SAVED_$(MODULE)_LDFLAGS := $(MODULE_LDFLAGS)
SAVED_$(MODULE)_RUSTFLAGS := $(MODULE_RUSTFLAGS)
SAVED_$(MODULE)_RUSTDOCFLAGS := $(MODULE_RUSTDOCFLAGS)
SAVED_$(MODULE)_SKIP_DOCS := $(MODULE_SKIP_DOCS)
SAVED_$(MODULE)_DISABLED := $(MODULE_DISABLED)
SAVED_$(MODULE)_RUSTDOC_OBJECT := $(MODULE_RUSTDOC_OBJECT)
SAVED_$(MODULE)_RUST_ENV := $(MODULE_RUST_ENV)
SAVED_$(MODULE)_INCLUDES := $(MODULE_INCLUDES)
SAVED_$(MODULE)_SRCDEPS := $(MODULE_SRCDEPS)
SAVED_$(MODULE)_EXTRA_OBJECTS := $(MODULE_EXTRA_OBJECTS)
SAVED_$(MODULE)_WHOLE_ARCHIVES := $(MODULE_WHOLE_ARCHIVES)
SAVED_$(MODULE)_ARM_OVERRIDE_SRCS := $(MODULE_ARM_OVERRIDE_SRCS)
SAVED_$(MODULE)_IS_RUST := $(MODULE_IS_RUST)
SAVED_$(MODULE)_RUST_USE_CLIPPY := $(MODULE_RUST_USE_CLIPPY)
SAVED_$(MODULE)_CRATE_NAME := $(MODULE_CRATE_NAME)
SAVED_$(MODULE)_RUST_STEM := $(MODULE_RUST_STEM)
SAVED_$(MODULE)_RUST_CRATE_TYPES := $(MODULE_RUST_CRATE_TYPES)
SAVED_$(MODULE)_RUST_HOST_LIB := $(MODULE_RUST_HOST_LIB)
SAVED_$(MODULE)_RUST_EDITION := $(MODULE_RUST_EDITION)
SAVED_$(MODULE)_RUST_TESTS := $(MODULE_RUST_TESTS)
SAVED_$(MODULE)_BINDGEN_ALLOW_VARS := $(MODULE_BINDGEN_ALLOW_VARS)
SAVED_$(MODULE)_BINDGEN_ALLOW_TYPES := $(MODULE_BINDGEN_ALLOW_TYPES)
SAVED_$(MODULE)_BINDGEN_BLOCK_TYPES := $(MODULE_BINDGEN_BLOCK_TYPES)
SAVED_$(MODULE)_BINDGEN_ALLOW_FUNCTIONS := $(MODULE_BINDGEN_ALLOW_FUNCTIONS)
SAVED_$(MODULE)_BINDGEN_CTYPES_PREFIX := $(MODULE_BINDGEN_CTYPES_PREFIX)
SAVED_$(MODULE)_BINDGEN_FLAGS := $(MODULE_BINDGEN_FLAGS)
SAVED_$(MODULE)_BINDGEN_SRC_HEADER := $(MODULE_BINDGEN_SRC_HEADER)
SAVED_$(MODULE)_SDK_LIB_NAME := $(MODULE_SDK_LIB_NAME)
SAVED_$(MODULE)_SDK_LIBS := $(MODULE_SDK_LIBS)
SAVED_$(MODULE)_SDK_HEADER_INSTALL_DIR := $(MODULE_SDK_HEADER_INSTALL_DIR)
SAVED_$(MODULE)_SDK_HEADERS := $(MODULE_SDK_HEADERS)
SAVED_$(MODULE)_TRUSTY_APP := $(TRUSTY_APP)
SAVED_$(MODULE)_TRUSTY_APP_ELF := $(TRUSTY_APP_ELF)
SAVED_$(MODULE)_TRUSTY_APP_NAME := $(TRUSTY_APP_NAME)
SAVED_$(MODULE)_TRUSTY_APP_ALLOCATOR := $(TRUSTY_APP_ALLOCATOR)

# save global variables
SAVED_$(MODULE)_GLOBAL_OPTFLAGS := $(GLOBAL_OPTFLAGS)
SAVED_$(MODULE)_GLOBAL_COMPILEFLAGS := $(GLOBAL_COMPILEFLAGS)
SAVED_$(MODULE)_GLOBAL_CFLAGS := $(GLOBAL_CFLAGS)
SAVED_$(MODULE)_GLOBAL_CPPFLAGS := $(GLOBAL_CPPFLAGS)
SAVED_$(MODULE)_GLOBAL_ASMFLAGS := $(GLOBAL_ASMFLAGS)
SAVED_$(MODULE)_GLOBAL_RUSTFLAGS := $(GLOBAL_RUSTFLAGS)
SAVED_$(MODULE)_GLOBAL_INCLUDES := $(GLOBAL_INCLUDES)
SAVED_$(MODULE)_GLOBAL_DEFINES := $(GLOBAL_DEFINES)

SAVED_$(MODULE)_BUILDDIR := $(BUILDDIR)
SAVED_$(MODULE)_MANIFEST := $(MANIFEST)
SAVED_$(MODULE)_MANIFEST_OVERLAY := $(MANIFEST_OVERLAY)
SAVED_$(MODULE)_ALLMODULES := $(ALLMODULES)
SAVED_$(MODULE)_ALLMODULE_OBJS := $(ALLMODULE_OBJS)
SAVED_$(MODULE)_ALLOBJS := $(ALLOBJS)

SAVED_$(MODULE)_EXPORT_COMPILEFLAGS := $(MODULE_EXPORT_COMPILEFLAGS)
SAVED_$(MODULE)_EXPORT_CONSTANTS := $(MODULE_EXPORT_CONSTANTS)
SAVED_$(MODULE)_EXPORT_CFLAGS := $(MODULE_EXPORT_CFLAGS)
SAVED_$(MODULE)_EXPORT_CPPFLAGS := $(MODULE_EXPORT_CPPFLAGS)
SAVED_$(MODULE)_EXPORT_ASMFLAGS := $(MODULE_EXPORT_ASMFLAGS)
SAVED_$(MODULE)_EXPORT_LIBRARIES := $(MODULE_EXPORT_LIBRARIES)
SAVED_$(MODULE)_EXPORT_RLIBS := $(MODULE_EXPORT_RLIBS)
SAVED_$(MODULE)_EXPORT_SDK_HEADERS := $(MODULE_EXPORT_SDK_HEADERS)
SAVED_$(MODULE)_EXPORT_LDFLAGS := $(MODULE_EXPORT_LDFLAGS)
SAVED_$(MODULE)_EXPORT_INCLUDES := $(MODULE_EXPORT_INCLUDES)
SAVED_$(MODULE)_EXPORT_EXTRA_OBJECTS := $(MODULE_EXPORT_EXTRA_OBJECTS)
SAVED_$(MODULE)_EXPORT_WHOLE_ARCHIVES := $(MODULE_EXPORT_WHOLE_ARCHIVES)
SAVED_$(MODULE)_EXPORT_SRCDEPS := $(MODULE_EXPORT_SRCDEPS)

# make/aidl.mk variables
SAVED_$(MODULE)_MODULE_AIDLS := $(MODULE_AIDLS)
SAVED_$(MODULE)_MODULE_AIDL_INCLUDES := $(MODULE_AIDL_INCLUDES)
SAVED_$(MODULE)_MODULE_AIDL_FLAGS := $(MODULE_AIDL_FLAGS)
SAVED_$(MODULE)_MODULE_AIDL_PACKAGE := $(MODULE_AIDL_PACKAGE)
SAVED_$(MODULE)_MODULE_AIDL_LANGUAGE := $(MODULE_AIDL_LANGUAGE)
SAVED_$(MODULE)_MODULE_AIDL_RUST_DEPS := $(MODULE_AIDL_RUST_DEPS)
SAVED_$(MODULE)_AIDL_EXT := $(AIDL_EXT)
SAVED_$(MODULE)_AIDL_HEADER_DIR := $(AIDL_HEADER_DIR)
SAVED_$(MODULE)_AIDL_SRCS := $(AIDL_SRCS)
SAVED_$(MODULE)_AIDL_ROOT_RS := $(AIDL_ROOT_RS)

SAVED_$(MODULE)_DEPENDENCY_MODULE := $(DEPENDENCY_MODULE)
SAVED_$(MODULE)_EXPORT_DEPENDENCY_MODULE := $(EXPORT_DEPENDENCY_MODULE)

# If we're using this isolation wrapper, we're using the new module system and
# building in-tree
TRUSTY_NEW_MODULE_SYSTEM := true
TRUSTY_APP_IN_TREE := true

MODULE :=
MODULE_SRCS :=
MODULE_SRCS_FIRST :=
MODULE_STATIC_LIB :=
MODULE_DEPS :=
MODULE_LIBRARIES :=
MODULE_RLIBS :=
MODULE_LIBRARY_DEPS :=
MODULE_LIBRARY_EXPORTED_DEPS :=
MODULE_LICENSES :=
MODULE_ADD_IMPLICIT_DEPS := true
MODULE_USE_WHOLE_ARCHIVE :=
MODULE_DEFINES :=
MODULE_COMPILEFLAGS :=
MODULE_CONSTANTS :=
MODULE_CFLAGS :=
MODULE_CPPFLAGS :=
MODULE_ASMFLAGS :=
MODULE_RUSTFLAGS :=
MODULE_RUSTDOCFLAGS :=
MODULE_SKIP_DOCS :=
MODULE_DISABLED :=
MODULE_RUSTDOC_OBJECT :=
MODULE_RUST_ENV :=
MODULE_LDFLAGS :=
MODULE_INCLUDES :=
MODULE_SRCDEPS :=
MODULE_EXTRA_OBJECTS :=
MODULE_WHOLE_ARCHIVES :=
MODULE_ARM_OVERRIDE_SRCS :=
MODULE_IS_RUST :=
MODULE_RUST_USE_CLIPPY :=
MODULE_CRATE_NAME :=
MODULE_RUST_STEM :=
MODULE_RUST_CRATE_TYPES :=
# Don't clear MODULE_RUST_HOST_LIB here because
# we want it forwarded to dependencies. All
# of them need to be host libraries if the starting
# point was a proc-macro crate.
MODULE_RUST_EDITION :=
MODULE_RUST_TESTS :=
MODULE_BINDGEN_ALLOW_VARS :=
MODULE_BINDGEN_ALLOW_TYPES :=
MODULE_BINDGEN_BLOCK_TYPES :=
MODULE_BINDGEN_ALLOW_FUNCTIONS :=
MODULE_BINDGEN_CTYPES_PREFIX :=
MODULE_BINDGEN_FLAGS :=
MODULE_BINDGEN_SRC_HEADER :=
MODULE_SDK_LIB_NAME :=
MODULE_SDK_LIBS :=
MODULE_SDK_HEADER_INSTALL_DIR :=
MODULE_SDK_HEADERS :=
TRUSTY_APP :=
TRUSTY_APP_ELF :=
TRUSTY_APP_ALLOCATOR :=

# Reset global variables
GLOBAL_OPTFLAGS :=
GLOBAL_COMPILEFLAGS :=
GLOBAL_CFLAGS :=
GLOBAL_CPPFLAGS :=
GLOBAL_ASMFLAGS :=
GLOBAL_RUSTFLAGS :=
GLOBAL_INCLUDES :=
GLOBAL_DEFINES :=

MODULE_EXPORT_EXTRA_OBJECTS :=
MODULE_EXPORT_COMPILEFLAGS :=
MODULE_EXPORT_CONSTANTS :=
MODULE_EXPORT_CFLAGS :=
MODULE_EXPORT_CPPFLAGS :=
MODULE_EXPORT_ASMFLAGS :=
MODULE_EXPORT_INCLUDES :=
MODULE_EXPORT_LDFLAGS :=
MODULE_EXPORT_LIBRARIES :=
MODULE_EXPORT_RLIBS :=
MODULE_EXPORT_SDK_HEADERS :=
MODULE_EXPORT_EXTRA_OBJECTS :=
MODULE_EXPORT_WHOLE_ARCHIVES :=
MODULE_EXPORT_SRCDEPS :=

# make/aidl.mk variables
MODULE_AIDLS :=
MODULE_AIDL_INCLUDES :=
MODULE_AIDL_FLAGS :=
MODULE_AIDL_PACKAGE :=
MODULE_AIDL_LANGUAGE :=
MODULE_AIDL_RUST_DEPS :=
AIDL_EXT :=
AIDL_HEADER_DIR :=
AIDL_SRCS :=
AIDL_ROOT_RS :=

ALLMODULES :=
ALLMODULE_OBJS :=
ALLOBJS :=
MANIFEST :=
MANIFEST_OVERLAY :=

EXPORT_DEPENDENCY_MODULE :=

include $(DEPENDENCY_MODULE_PATH)/rules.mk

# Restore state from the saved stack
MODULE := $(lastword $(SAVED_MODULE_STACK))
SAVED_MODULE_STACK := $(filter-out $(MODULE),$(SAVED_MODULE_STACK))
MODULE_SRCS := $(SAVED_$(MODULE)_SRCS)
MODULE_SRCS_FIRST := $(SAVED_$(MODULE)_SRCS_FIRST)
MODULE_STATIC_LIB := $(SAVED_$(MODULE)_STATIC_LIB)
MODULE_DEPS := $(SAVED_$(MODULE)_DEPS)
MODULE_LIBRARIES := $(SAVED_$(MODULE)_LIBRARIES)
MODULE_RLIBS := $(SAVED_$(MODULE)_RLIBS)
MODULE_LIBRARY_DEPS := $(SAVED_$(MODULE)_LIBRARY_DEPS)
MODULE_LIBRARY_EXPORTED_DEPS := $(SAVED_$(MODULE)_LIBRARY_EXPORTED_DEPS)
MODULE_LICENSES := $(SAVED_$(MODULE)_LICENSES)
MODULE_ADD_IMPLICIT_DEPS := $(SAVED_$(MODULE)_ADD_IMPLICIT_DEPS)
MODULE_USE_WHOLE_ARCHIVE := $(SAVED_$(MODULE)_USE_WHOLE_ARCHIVE)
MODULE_DEFINES := $(SAVED_$(MODULE)_DEFINES)
MODULE_COMPILEFLAGS := $(SAVED_$(MODULE)_COMPILEFLAGS)
MODULE_CONSTANTS := $(SAVED_$(MODULE)_CONSTANTS)
MODULE_CFLAGS := $(SAVED_$(MODULE)_CFLAGS)
MODULE_CPPFLAGS := $(SAVED_$(MODULE)_CPPFLAGS)
MODULE_ASMFLAGS := $(SAVED_$(MODULE)_ASMFLAGS)
MODULE_RUSTFLAGS := $(SAVED_$(MODULE)_RUSTFLAGS)
MODULE_RUSTDOCFLAGS := $(SAVED_$(MODULE)_RUSTDOCFLAGS)
MODULE_SKIP_DOCS := $(SAVED_$(MODULE)_SKIP_DOCS)
MODULE_DISABLED := $(SAVED_$(MODULE)_DISABLED)
MODULE_RUSTDOC_OBJECT := $(SAVED_$(MODULE)_RUSTDOC_OBJECT)
MODULE_RUST_ENV := $(SAVED_$(MODULE)_RUST_ENV)
MODULE_LDFLAGS := $(SAVED_$(MODULE)_LDFLAGS)
MODULE_INCLUDES := $(SAVED_$(MODULE)_INCLUDES)
MODULE_SRCDEPS := $(SAVED_$(MODULE)_SRCDEPS)
MODULE_EXTRA_OBJECTS := $(SAVED_$(MODULE)_EXTRA_OBJECTS)
MODULE_WHOLE_ARCHIVES := $(SAVED_$(MODULE)_WHOLE_ARCHIVES)
MODULE_ARM_OVERRIDE_SRCS := $(SAVED_$(MODULE)_ARM_OVERRIDE_SRCS)
MODULE_IS_RUST := $(SAVED_$(MODULE)_IS_RUST)
MODULE_RUST_USE_CLIPPY := $(SAVED_$(MODULE)_RUST_USE_CLIPPY)
MODULE_CRATE_NAME := $(SAVED_$(MODULE)_CRATE_NAME)
MODULE_RUST_STEM := $(SAVED_$(MODULE)_RUST_STEM)
MODULE_RUST_CRATE_TYPES := $(SAVED_$(MODULE)_RUST_CRATE_TYPES)
MODULE_RUST_HOST_LIB := $(SAVED_$(MODULE)_RUST_HOST_LIB)
MODULE_RUST_EDITION := $(SAVED_$(MODULE)_RUST_EDITION)
MODULE_RUST_TESTS := $(SAVED_$(MODULE)_RUST_TESTS)
MODULE_BINDGEN_ALLOW_VARS := $(SAVED_$(MODULE)_BINDGEN_ALLOW_VARS)
MODULE_BINDGEN_ALLOW_TYPES := $(SAVED_$(MODULE)_BINDGEN_ALLOW_TYPES)
MODULE_BINDGEN_BLOCK_TYPES := $(SAVED_$(MODULE)_BINDGEN_BLOCK_TYPES)
MODULE_BINDGEN_ALLOW_FUNCTIONS := $(SAVED_$(MODULE)_BINDGEN_ALLOW_FUNCTIONS)
MODULE_BINDGEN_CTYPES_PREFIX := $(SAVED_$(MODULE)_BINDGEN_CTYPES_PREFIX)
MODULE_BINDGEN_FLAGS := $(SAVED_$(MODULE)_BINDGEN_FLAGS)
MODULE_BINDGEN_SRC_HEADER := $(SAVED_$(MODULE)_BINDGEN_SRC_HEADER)
MODULE_SDK_LIB_NAME := $(SAVED_$(MODULE)_SDK_LIB_NAME)
MODULE_SDK_LIBS := $(SAVED_$(MODULE)_SDK_LIBS)
MODULE_SDK_HEADER_INSTALL_DIR := $(SAVED_$(MODULE)_SDK_HEADER_INSTALL_DIR)
MODULE_SDK_HEADERS := $(SAVED_$(MODULE)_SDK_HEADERS)
TRUSTY_APP := $(SAVED_$(MODULE)_TRUSTY_APP)
TRUSTY_APP_ELF := $(SAVED_$(MODULE)_TRUSTY_APP_ELF)
TRUSTY_APP_NAME := $(SAVED_$(MODULE)_TRUSTY_APP_NAME)
TRUSTY_APP_ALLOCATOR := $(SAVED_$(MODULE)_TRUSTY_APP_ALLOCATOR)

# Restore global variables
GLOBAL_OPTFLAGS := $(SAVED_$(MODULE)_GLOBAL_OPTFLAGS)
GLOBAL_COMPILEFLAGS := $(SAVED_$(MODULE)_GLOBAL_COMPILEFLAGS)
GLOBAL_CFLAGS := $(SAVED_$(MODULE)_GLOBAL_CFLAGS)
GLOBAL_CPPFLAGS := $(SAVED_$(MODULE)_GLOBAL_CPPFLAGS)
GLOBAL_ASMFLAGS := $(SAVED_$(MODULE)_GLOBAL_ASMFLAGS)
GLOBAL_RUSTFLAGS := $(SAVED_$(MODULE)_GLOBAL_RUSTFLAGS)
GLOBAL_INCLUDES := $(SAVED_$(MODULE)_GLOBAL_INCLUDES)
GLOBAL_DEFINES := $(SAVED_$(MODULE)_GLOBAL_DEFINES)

BUILDDIR := $(SAVED_$(MODULE)_BUILDDIR)
MANIFEST := $(SAVED_$(MODULE)_MANIFEST)
MANIFEST_OVERLAY := $(SAVED_$(MODULE)_MANIFEST_OVERLAY)
ALLMODULES := $(SAVED_$(MODULE)_ALLMODULES)
ALLMODULE_OBJS := $(SAVED_$(MODULE)_ALLMODULE_OBJS)
ALLOBJS := $(SAVED_$(MODULE)_ALLOBJS) $(ALLOBJS)

MODULE_EXPORT_COMPILEFLAGS := $(SAVED_$(MODULE)_EXPORT_COMPILEFLAGS)
MODULE_EXPORT_CONSTANTS := $(SAVED_$(MODULE)_EXPORT_CONSTANTS)
MODULE_EXPORT_CFLAGS := $(SAVED_$(MODULE)_EXPORT_CFLAGS)
MODULE_EXPORT_CPPFLAGS := $(SAVED_$(MODULE)_EXPORT_CPPFLAGS)
MODULE_EXPORT_ASMFLAGS := $(SAVED_$(MODULE)_EXPORT_ASMFLAGS)
MODULE_EXPORT_LDFLAGS := $(SAVED_$(MODULE)_EXPORT_LDFLAGS)
MODULE_EXPORT_LIBRARIES := $(SAVED_$(MODULE)_EXPORT_LIBRARIES)
MODULE_EXPORT_RLIBS := $(SAVED_$(MODULE)_EXPORT_RLIBS)
MODULE_EXPORT_SDK_HEADERS := $(SAVED_$(MODULE)_EXPORT_SDK_HEADERS)
MODULE_EXPORT_INCLUDES := $(SAVED_$(MODULE)_EXPORT_INCLUDES)
MODULE_EXPORT_EXTRA_OBJECTS := $(SAVED_$(MODULE)_EXPORT_EXTRA_OBJECTS)
MODULE_EXPORT_WHOLE_ARCHIVES := $(SAVED_$(MODULE)_EXPORT_WHOLE_ARCHIVES)
MODULE_EXPORT_SRCDEPS := $(SAVED_$(MODULE)_EXPORT_SRCDEPS)

# make/aidl.mk variables
MODULE_AIDLS := $(SAVED_$(MODULE)_MODULE_AIDLS)
MODULE_AIDL_INCLUDES := $(SAVED_$(MODULE)_MODULE_AIDL_INCLUDES)
MODULE_AIDL_FLAGS := $(SAVED_$(MODULE)_MODULE_AIDL_FLAGS)
MODULE_AIDL_PACKAGE := $(SAVED_$(MODULE)_MODULE_AIDL_PACKAGE)
MODULE_AIDL_LANGUAGE := $(SAVED_$(MODULE)_MODULE_AIDL_LANGUAGE)
MODULE_AIDL_RUST_DEPS := $(SAVED_$(MODULE)_MODULE_AIDL_RUST_DEPS)
AIDL_EXT := $(SAVED_$(MODULE)_AIDL_EXT)
AIDL_HEADER_DIR := $(SAVED_$(MODULE)_AIDL_HEADER_DIR)
AIDL_SRCS := $(SAVED_$(MODULE)_AIDL_SRCS)
AIDL_ROOT_RS := $(SAVED_$(MODULE)_AIDL_ROOT_RS)

DEPENDENCY_MODULE := $(SAVED_$(MODULE)_DEPENDENCY_MODULE)
EXPORT_DEPENDENCY_MODULE := $(SAVED_$(MODULE)_EXPORT_DEPENDENCY_MODULE)

TRUSTY_NEW_MODULE_SYSTEM :=
TRUSTY_APP_IN_TREE :=

endif # _MODULES_$(DEPENDENCY_MODULE) not set
endif # MODULE not in SAVED_MODULE_STACK

ifneq ($(strip $(EXPORT_DEPENDENCY_MODULE)),)
REEXPORT := true
else
REEXPORT :=
endif

define append-export-flags
$(if $(2),$(eval EXPORT := EXPORT_))\
$(eval MODULE_$(EXPORT)$(1) += $(filter-out $(MODULE_$(EXPORT)$(1)),$(_MODULES_$(DEPENDENCY_MODULE)_$(1))))\
$(eval EXPORT :=)
endef

ifeq ($(filter $(DEPENDENCY_MODULE),$(TRUSTY_SDK_MODULES)),)
# Dependency is NOT part of the SDK

# Only append in-tree headers if this library isn't part of the SDK
$(call append-export-flags,INCLUDES,$(REEXPORT))

ifneq ($(filter $(MODULE),$(TRUSTY_SDK_MODULES)),)
# Module is part of the SDK but our dependency isn't. We need to pick up our
# dependency's headers here because we don't append MODULE_EXPORT_INCLUDES to
# our local includes.
MODULE_INCLUDES += $(filter-out $(MODULE_INCLUDES),$(_MODULES_$(DEPENDENCY_MODULE)_INCLUDES))
endif

endif # MODULE in TRUSTY_SDK_MODULES

# Add our dependencies flags to our exported flags.
# Note that we don't add INCLUDES here. We take care of that above if the
# dependency is not part of the SDK. If it is, we use the SDK sysroot's headers.
$(call append-export-flags,DEFINES,$(REEXPORT))
$(call append-export-flags,COMPILEFLAGS,$(REEXPORT))
$(call append-export-flags,CONSTANTS,$(REEXPORT))
$(call append-export-flags,CFLAGS,$(REEXPORT))
$(call append-export-flags,CPPFLAGS,$(REEXPORT))
$(call append-export-flags,ASMFLAGS,$(REEXPORT))
$(call append-export-flags,SRCDEPS,$(REEXPORT))

# RLIBS need to re-exported explicitly in case we have multiple versions
# of the same crate.
$(call append-export-flags,RLIBS,$(REEXPORT))

$(call append-export-flags,EXTRA_OBJECTS,true)
$(call append-export-flags,WHOLE_ARCHIVES,true)
$(call append-export-flags,LDFLAGS,true)
$(call append-export-flags,SDK_LIBS,true)

# If our dependency is a Rust staticlib, we can't add recursive deps, which may
# include proc-macros. The rust staticlib should be entirely self-contained.
ifeq ($(call TOBOOL,$(MODULE_IS_RUST)),false)
ifneq ($(_MODULES_$(DEPENDENCY_MODULE)_RUST_STATICLIB),)
INCLUDE_ONLY_STATICLIB := true
endif
endif

ifeq ($(call TOBOOL,$(INCLUDE_ONLY_STATICLIB)),true)
# In the case of a Rust staticlib dependency, just include that static library,
# not recursive dependencies.
MODULE_EXPORT_LIBRARIES += $(_MODULES_$(DEPENDENCY_MODULE)_RUST_STATICLIB)
else
# We re-export LIBRARIES in most cases (and LDFLAGS in all cases). This is safe
# to do in the prescence of recursive C deps because libraries and link flags
# are additive and do not affect the compiliation. If we have a dependency chain
# like A -> B -> C -> A, we don't need to add A's link flags to C because we
# will get them in the final link directly from A.
$(call append-export-flags,LIBRARIES,true)
endif
INCLUDE_ONLY_STATICLIB :=

# We always want to make sure that all necessary headers have been copied into
# the SDK before we try to use them. There's no harm in things being copied
# earlier than they are needed.
$(call append-export-flags,SDK_HEADERS,true)

$(call INFO_DONE_SILENT,$(MODULE),processing dependencies,$(DEPENDENCY_MODULE))

DEPENDENCY_MODULE :=
DEPENDENCY_MODULE_PATH :=
EXPORT_DEPENDENCY_MODULE :=

EXPORT :=
REEXPORT :=

Messung V0.5 in Prozent
C=90 H=98 G=94

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-06-27) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik