summaryrefslogtreecommitdiff
path: root/solenv/gbuild/LinkTarget.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/LinkTarget.mk')
-rw-r--r--solenv/gbuild/LinkTarget.mk895
1 files changed, 0 insertions, 895 deletions
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
deleted file mode 100644
index 25f9737fb..000000000
--- a/solenv/gbuild/LinkTarget.mk
+++ /dev/null
@@ -1,895 +0,0 @@
-# -*- Mode: makefile; tab-width: 4; indent-tabs-mode: t -*-
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2011 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-
-#the following user-defined variables are supported:
-# CPPFLAGS
-# CFLAGS
-# CXXFLAGS
-# OBJCXXFLAGS
-# LDFLAGS
-
-# CFLAGS from environment override debug/optimization flags
-ifeq ($(gb_DEBUGLEVEL),2)
-CFLAGS ?= $(gb_COMPILEROPTFLAGS) $(gb_DEBUG_CFLAGS)
-CXXFLAGS ?= $(gb_COMPILEROPTFLAGS) $(gb_DEBUG_CFLAGS)
-OBJCXXFLAGS ?= $(gb_COMPILEROPTFLAGS) $(gb_DEBUG_CFLAGS)
-else
-CFLAGS ?= $(gb_COMPILEROPTFLAGS)
-CXXFLAGS ?= $(gb_COMPILEROPTFLAGS)
-OBJCXXFLAGS ?= $(gb_COMPILEROPTFLAGS)
-endif
-
-# Overview of dependencies and tasks of LinkTarget
-#
-# target task depends on
-# LinkTarget linking CObject CxxObject GenCxxObject ObjCObject ObjCxxObject
-# LinkTarget/headers
-# LinkTarget/dep joined dep file CObject/dep CxxObject/dep GenCxxObject/dep ObjCObject/dep ObjCxxObject/dep
-# | LinkTarget/headers
-# LinkTarget/headers all headers available LinkTarget/external_headers PCH
-# including own generated own generated headers
-# PCH precompiled headers (win) LinkTarget/external_headers
-# LinkTarget/external_headers all external headers avail. header files of linked libs
-#
-# CObject plain c compile | LinkTarget/headers
-# CxxObject c++ compile | LinkTarget/headers
-# GenCxxObject C++ compile from | LinkTarget/headers
-# generated source
-# ObjCObject objective c compile | LinkTarget/headers
-# ObjCxxObject objective c++ compile | LinkTarget/headers
-#
-# CObject/dep dependencies these targets generate empty dep files
-# CxxObject/dep dependencies that are populated upon compile
-# GenCxxObject/dep dependencies
-# ObjCObject/dep dependencies
-# ObjCxxObject/dep dependencies
-
-# LinkTarget/headers means gb_LinkTarget_get_headers_target etc.
-# dependencies prefixed with | are build-order only dependencies
-
-
-
-# For every object there is a dep file (if gb_FULLDEPS is active).
-# The dep file depends on the object: the Object__command also updates the
-# dep file as a side effect.
-# In the dep file rule just touch it so it's newer than the object.
-
-# The gb_Object__command_dep generates an "always rebuild" dep file;
-# It is _only_ used in case the user deletes the object dep file.
-ifeq ($(gb_FULLDEPS),$(true))
-define gb_Object__command_dep
-mkdir -p $(dir $(1)) && \
- echo '$(2) : $$(gb_Helper_PHONY)' > $(1)
-
-endef
-else
-gb_Object__command_dep = \
- $(call gb_Output_error,gb_Object__command_dep is only for gb_FULLDEPS)
-endif
-
-
-# CObject class
-
-gb_CObject_REPOS := $(gb_REPOS)
-
-gb_CObject_get_source = $(1)/$(2).c
-# defined by platform
-# gb_CObject__command
-
-define gb_CObject__rules
-$$(call gb_CObject_get_target,%) : $$(call gb_CObject_get_source,$(1),%)
- $$(call gb_CObject__command,$$@,$$*,$$<,$$(call gb_CObject_get_dep_target,$$*))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$$(call gb_CObject_get_dep_target,%) : $$(call gb_CObject_get_target,%)
- $$(if $$(wildcard $$@),touch $$@,\
- $$(call gb_Object__command_dep,$$@,$$(call gb_CObject_get_target,$$*)))
-endif
-
-endef
-
-$(foreach repo,$(gb_CObject_REPOS),$(eval $(call gb_CObject__rules,$(repo))))
-
-$(call gb_CObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find plain C file $(call gb_CObject_get_source,,$*) in the repositories: $(gb_CObject_REPOS)))
-
-gb_CObject_CObject =
-
-
-# CxxObject class
-
-gb_CxxObject_REPOS := $(gb_REPOS)
-
-gb_CxxObject_get_source = $(1)/$(2).cxx
-# defined by platform
-# gb_CxxObject__command
-
-# Only enable PCH if the PCH_CXXFLAGS and the PCH_DEFS (from the linktarget)
-# are the same as the T_CXXFLAGS and DEFS we want to use for this object. This
-# should usually be the case. The DEFS/T_CXXFLAGS would have too be manually
-# overridden for one object file for them to differ. PCH_CXXFLAGS/PCH_DEFS
-# should never be overridden on an object -- they should be the same as for the
-# whole linktarget. In general it should be cleaner to use a static library
-# compiled with different flags and link that in rather than mixing different
-# flags in one linktarget.
-define gb_CxxObject__set_pchflags
-ifeq ($(gb_ENABLE_PCH),$(true))
-ifneq ($(strip $$(PCH_NAME)),)
-ifeq ($$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_EXCEPTIONFLAGS)),$$(sort $$(T_CXXFLAGS) $$(DEFS)))
-$$@ : PCHFLAGS := $$(call gb_PrecompiledHeader_get_enableflags,$$(PCH_NAME))
-else
-ifeq ($$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_NOEXCEPTIONFLAGS)),$$(sort $$(T_CXXFLAGS) $$(DEFS)))
-$$@ : PCHFLAGS := $$(call gb_NoexPrecompiledHeader_get_enableflags,$$(PCH_NAME))
-else
-$$(info No precompiled header available for $$*.)
-$$(info precompiled header flags ( ex) : $$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_EXCEPTIONFLAGS)))
-$$(info precompiled header flags (noex) : $$(sort $$(PCH_CXXFLAGS) $$(PCH_DEFS) $$(gb_LinkTarget_NOEXCEPTIONFLAGS)))
-$$(info . object flags : $$(sort $$(T_CXXFLAGS) $$(DEFS)))
-$$@ : PCHFLAGS :=
-endif
-endif
-endif
-endif
-endef
-
-define gb_CxxObject__rules
-$$(call gb_CxxObject_get_target,%) : $$(call gb_CxxObject_get_source,$(1),%)
- $$(eval $$(gb_CxxObject__set_pchflags))
- $$(call gb_CxxObject__command,$$@,$$*,$$<,$$(call gb_CxxObject_get_dep_target,$$*))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$$(call gb_CxxObject_get_dep_target,%) : $$(call gb_CxxObject_get_target,%)
- $$(if $$(wildcard $$@),touch $$@,\
- $$(eval $$(gb_CxxObject__set_pchflags))\
- $$(call gb_Object__command_dep,$$@,$$(call gb_CxxObject_get_target,$$*)))
-endif
-
-endef
-
-$(foreach repo,$(gb_CxxObject_REPOS),$(eval $(call gb_CxxObject__rules,$(repo))))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_CxxObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find C++ file $(call gb_CxxObject_get_source,,$*) in repositories: $(gb_CxxObject_REPOS)))
-
-endif
-
-gb_CxxObject_CxxObject =
-
-
-# GenCxxObject class
-
-gb_GenCxxObject_get_source = $(WORKDIR)/$(1).cxx
-# defined by platform
-# gb_CxxObject__command
-
-$(call gb_GenCxxObject_get_target,%) : $(call gb_GenCxxObject_get_source,%)
- $(call gb_CxxObject__command,$@,$*,$<,$(call gb_GenCxxObject_get_dep_target,$*))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_GenCxxObject_get_dep_target,%) : $(call gb_GenCxxObject_get_target,%)
- $(if $(wildcard $@),touch $@,\
- $(call gb_Object__command_dep,$@,$(call gb_GenCxxObject_get_target,$*)))
-endif
-
-gb_GenCxxObject_GenCxxObject =
-
-
-# ObjCxxObject class
-#
-gb_ObjCxxObject_REPOS := $(gb_REPOS)
-
-gb_ObjCxxObject_get_source = $(1)/$(2).mm
-# defined by platform
-# gb_ObjCxxObject__command
-
-define gb_ObjCxxObject__rules
-$$(call gb_ObjCxxObject_get_target,%) : $$(call gb_ObjCxxObject_get_source,$(1),%)
- $$(call gb_ObjCxxObject__command,$$@,$$*,$$<,$$(call gb_ObjCxxObject_get_dep_target,$$*))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$$(call gb_ObjCxxObject_get_dep_target,%) : $$(call gb_ObjCxxObject_get_target,%)
- $$(if $$(wildcard $$@),touch $$@,\
- $$(call gb_Object__command_dep,$$@,$$(call gb_ObjCxxObject_get_target,$$*)))
-endif
-
-endef
-
-$(foreach repo,$(gb_ObjCxxObject_REPOS),$(eval $(call gb_ObjCxxObject__rules,$(repo))))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_ObjCxxObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find Objective C++ file $(call gb_ObjCxxObject_get_source,,$*) in repositories: $(gb_ObjCxxObject_REPOS)))
-endif
-
-gb_ObjCxxObject_ObjCxxObject =
-
-# ObjCObject class
-#
-gb_ObjCObject_REPOS := $(gb_REPOS)
-
-gb_ObjCObject_get_source = $(1)/$(2).m
-# defined by platform
-# gb_ObjCObject__command
-
-# this rule generates an "always rebuild" dep file, to have something to include.
-# the dep file will be overridden on the fly, when the object is compiled
-ifeq ($(gb_FULLDEPS),$(true))
-define gb_ObjCObject__command_dep
-mkdir -p $(dir $(1)) && \
- echo '$(call gb_ObjCObject_get_target,$(2)) : $$(gb_Helper_PHONY)' > $(1)
-
-endef
-else
-gb_ObjCObject__command_dep =
-endif
-
-define gb_ObjCObject__rules
-$$(call gb_ObjCObject_get_target,%) : $$(call gb_ObjCObject_get_source,$(1),%)
- $$(call gb_ObjCObject__command,$$@,$$*,$$<,$$(DEFS),$$(OBJCFLAGS),$$(INCLUDE_STL) $$(INCLUDE))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$$(call gb_ObjCObject_get_dep_target,%) : $$(call gb_ObjCObject_get_source,$(1),%)
- $$(call gb_ObjCObject__command_dep,$$@,$$*,$$<,$$(DEFS),$$(OBJCFLAGS),$$(INCLUDE_STL) $$(INCLUDE))
-endif
-
-endef
-
-$(foreach repo,$(gb_ObjCObject_REPOS),$(eval $(call gb_ObjCObject__rules,$(repo))))
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_ObjCObject_get_dep_target,%) :
- $(eval $(call gb_Output_error,Unable to find Objective C++ file $(call gb_ObjCObject_get_source,,$*) in repositories: $(gb_ObjCObject_REPOS)))
-endif
-
-gb_ObjCObject_ObjCObject =
-
-
-
-# LinkTarget class
-
-gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBALDEFS)
-gb_LinkTarget_OBJECTOWNER :=
-gb_LinkTarget_OBJECTS :=
-
-# defined by platform
-# gb_LinkTarget_CXXFLAGS
-# gb_LinkTarget_LDFLAGS
-# gb_LinkTarget_INCLUDE
-# gb_LinkTarget_INCLUDE_STL
-
-.PHONY : $(call gb_LinkTarget_get_clean_target,%)
-$(call gb_LinkTarget_get_clean_target,%) :
- $(call gb_Output_announce,$*,$(false),LNK,4)
- RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_dep_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_dep_target,$(object))) \
- $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
- $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_dep_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_dep_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_dep_target,$(object))) \
- $(call gb_LinkTarget_get_target,$*) \
- $(call gb_LinkTarget_get_dep_target,$*) \
- $(call gb_LinkTarget_get_headers_target,$*) \
- $(call gb_LinkTarget_get_external_headers_target,$*) \
- $(call gb_LinkTarget_get_objects_list,$*) \
- $(DLLTARGET) \
- $(AUXTARGETS)) && \
- cat $${RESPONSEFILE} /dev/null | xargs -n 200 rm -f && \
- rm -f $${RESPONSEFILE}
-
-
-# cat the deps of all objects in one file, then we need only open that one file
-define gb_LinkTarget__command_dep
-$(call gb_Output_announce,LNK:$(2),$(true),DEP,1)
-$(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $(1)) && \
- RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
- $(foreach object,$(3),$(call gb_CObject_get_dep_target,$(object))) \
- $(foreach object,$(4),$(call gb_CxxObject_get_dep_target,$(object))) \
- $(foreach object,$(5),$(call gb_ObjCObject_get_dep_target,$(object)))\
- $(foreach object,$(6),$(call gb_ObjCxxObject_get_dep_target,$(object)))\
- $(foreach object,$(7),$(call gb_GenCxxObject_get_dep_target,$(object)))\
- ) && \
- cat $${RESPONSEFILE} /dev/null | xargs -n 200 cat > $(1)) && \
- rm -f $${RESPONSEFILE}
-
-endef
-
-define gb_LinkTarget__command_objectlist
-TEMPFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
- $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
- $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
- $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
- $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
- $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object)))) && \
-$(if $(EXTRAOBJECTLISTS),cat $(EXTRAOBJECTLISTS) >> $${TEMPFILE} && ) \
-mv $${TEMPFILE} $(call gb_LinkTarget_get_objects_list,$(2))
-
-endef
-
-$(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_headers_target,%) $(gb_Helper_MISCDUMMY)
- $(call gb_LinkTarget__command,$@,$*)
- $(call gb_LinkTarget__command_objectlist,$@,$*)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_target,%) : $(call gb_LinkTarget_get_dep_target,%)
-$(call gb_LinkTarget_get_dep_target,%) : | $(call gb_LinkTarget_get_headers_target,%)
- $(call gb_LinkTarget__command_dep,$@,$*,$(COBJECTS),$(CXXOBJECTS),$(OBJCOBJECTS),$(OBJCXXOBJECTS),$(GENCXXOBJECTS))
-endif
-
-# Ok, this is some dark voodoo: When declaring a linktarget with
-# gb_LinkTarget_LinkTarget we set SELF in the headertarget to name of the
-# target. When the rule for the headertarget is executed and SELF does not
-# match the target name, we are depending on a linktarget that was never
-# declared. In a full build exclusively in gbuild that should never happen.
-# However, partial gbuild build will not know about how to build lower level
-# linktargets, just as gbuild can not know about linktargets generated in the
-# old build.pl/dmake system. Once all is migrated, gbuild should error out
-# when is is told to depend on a linktarget it does not know about and not
-# only warn.
-define gb_LinkTarget__get_external_headers_check
-ifneq ($$(SELF),$$*)
-$$(eval $$(call gb_Output_info,LinkTarget $$* not defined: Assuming headers to be there!,ALL))
-endif
-$$@ : COMMAND := $$(call gb_Helper_abbreviate_dirs, mkdir -p $$(dir $$@) && touch $$@ && mkdir -p $(call gb_LinkTarget_get_target,)pdb/$$(dir $$*))
-
-endef
-
-$(call gb_LinkTarget_get_external_headers_target,%) :
- $(eval $(gb_LinkTarget__get_external_headers_check))
- $(COMMAND)
-
-$(call gb_LinkTarget_get_headers_target,%) : $(call gb_LinkTarget_get_external_headers_target,%)
- $(call gb_Helper_abbreviate_dirs,\
- mkdir -p $(dir $@) && touch $@)
-
-# Explanation of some of the targets:
-# - gb_LinkTarget_get_external_headers_target is the targets that guarantees all
-# headers from linked against libraries are in OUTDIR.
-# - gb_LinkTarget_get_headers_target is the target that guarantees all headers
-# from the linked against the libraries and the linktargets own headers
-# (including generated headers) are in the OUTDIR.
-# - gb_LinkTarget_get_target links the objects into a file in WORKDIR.
-# gb_LinkTarget_get_target depends on gb_LinkTarget_get_headers_target which in
-# turn depends gb_LinkTarget_get_external_headers_target.
-# gb_LinkTarget_get_target depends additionally on the objects, which in turn
-# depend build-order only on the gb_LinkTarget_get_headers_target. The build
-# order-only dependency ensures all headers to be there for compiling and
-# dependency generation without causing all objects to be rebuild when one
-# header changes. Only the ones with an explicit dependency in their generated
-# dependency file will be rebuild.
-#
-# gb_LinkTarget_get_target is the target that links the objects into a file in
-# WORKDIR
-# Explanation of some of the variables:
-# - AUXTARGETS are the additionally generated files that need to be cleaned out
-# on clean.
-# - PCH_CXXFLAGS and PCH_DEFS are the flags that the precompiled headers will
-# be compiled with. They should never be overridden in a single object
-# files.
-# - TARGETTYPE is the type of linktarget as some platforms need very different
-# command to link different targettypes.
-#
-# Since most variables are set on the linktarget and not on the object, the
-# object learns about these setting via GNU makes scoping of target variables.
-# Therefore it is important that objects are only directly depended on by the
-# linktarget. This for example means that you cannot build a single object
-# alone, because then you would directly depend on the object.
-#
-# A note about flags: because the overriding the global variables with a target
-# local variable of the same name is considered obscure, the target local
-# variables have a T_ prefix.
-define gb_LinkTarget_LinkTarget
-$(call gb_LinkTarget_get_clean_target,$(1)) : AUXTARGETS :=
-$(call gb_LinkTarget_get_external_headers_target,$(1)) : SELF := $(1)
-$(call gb_LinkTarget_get_target,$(1)) : DLLTARGET :=
-$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : COBJECTS :=
-$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : CXXOBJECTS :=
-$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : OBJCOBJECTS :=
-$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : OBJCXXOBJECTS :=
-$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : GENCXXOBJECTS :=
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS) $(CFLAGS)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : T_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
-$(call gb_LinkTarget_get_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS) $(OBJCXXFLAGS)
-$(call gb_LinkTarget_get_target,$(1)) : T_OBJCFLAGS := $$(gb_LinkTarget_OBJCFLAGS) $(OBJCFLAGS)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCLUDE_STL)
-$(call gb_LinkTarget_get_target,$(1)) : T_LDFLAGS := $$(gb_LinkTarget_LDFLAGS) $(LDFLAGS)
-$(call gb_LinkTarget_get_target,$(1)) : LINKED_LIBS :=
-$(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS :=
-$(call gb_LinkTarget_get_target,$(1)) : LIBS :=
-$(call gb_LinkTarget_get_target,$(1)) : TARGETTYPE :=
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_NAME :=
-$(call gb_LinkTarget_get_target,$(1)) : PCHOBJS :=
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PDBFILE :=
-$(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS :=
-$(call gb_LinkTarget_get_target,$(1)) : NATIVERES :=
-
-ifeq ($(gb_FULLDEPS),$(true))
--include $(call gb_LinkTarget_get_dep_target,$(1))
-$(call gb_LinkTarget_get_dep_target,$(1)) : COBJECTS :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : CXXOBJECTS :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCOBJECTS :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXOBJECTS :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CFLAGS := $$(gb_LinkTarget_CFLAGS) $(CFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := $$(gb_LinkTarget_CXXFLAGS) $(CXXFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS := $$(gb_LinkTarget_OBJCXXFLAGS) $(OBJCXXFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCFLAGS := $$(gb_LinkTarget_OBJCFLAGS) $(OBJCFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS := $$(gb_LinkTarget_DEFAULTDEFS) $(CPPFLAGS)
-$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE)
-$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCLUDE_STL)
-$(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_NAME :=
-$(call gb_LinkTarget_get_dep_target,$(1)) : EXTRAOBJECTLISTS :=
-endif
-
-endef
-
-define gb_LinkTarget_add_defs
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : DEFS += $(2)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_DEFS += $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS += $(2)
-endif
-endef
-
-define gb_LinkTarget_set_defs
-ifeq (,)
-$$(call gb_Output_error,\
- gb_LinkTarget_set_defs: use gb_LinkTarget_add_defs instead.)
-else
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : DEFS := $(2)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_DEFS := $(2)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS := $(2)
-endif
-endif
-
-endef
-
-define gb_LinkTarget_add_cflags
-$(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS += $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CFLAGS += $(2)
-endif
-
-endef
-
-define gb_LinkTarget_set_cflags
-ifeq (,)
-$$(call gb_Output_error,\
- gb_LinkTarget_set_cflags: use gb_LinkTarget_add_cflags instead.)
-else
-$(call gb_LinkTarget_get_target,$(1)) : T_CFLAGS := $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CFLAGS := $(2)
-endif
-endif
-
-endef
-
-define gb_LinkTarget_add_cxxflags
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : T_CXXFLAGS += $(2)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS += $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CXXFLAGS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS += $(2)
-endif
-endef
-
-define gb_LinkTarget_set_cxxflags
-ifeq (,)
-$$(call gb_Output_error,\
- gb_LinkTarget_set_cxxflags: use gb_LinkTarget_add_cxxflags instead.)
-else
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : T_CXXFLAGS := $(2)
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_CXXFLAGS := $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_CXXFLAGS := $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_CXXFLAGS := $(2)
-endif
-endif
-
-endef
-
-define gb_LinkTarget_add_objcxxflags
-$(call gb_LinkTarget_get_target,$(1)) : T_OBJCXXFLAGS += $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS += $(2)
-endif
-endef
-
-define gb_LinkTarget_set_objcxxflags
-ifeq (,)
-$$(call gb_Output_error,\
- gb_LinkTarget_set_objcxxflags: use gb_LinkTarget_add_objcxxflags instead.)
-else
-$(call gb_LinkTarget_get_target,$(1)) : T_OBJCXXFLAGS := $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCXXFLAGS := $(2)
-endif
-endif
-
-endef
-
-define gb_LinkTarget_set_objcflags
-$(call gb_LinkTarget_get_target,$(1)) : T_OBJCFLAGS := $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : T_OBJCFLAGS := $(2)
-endif
-
-endef
-
-define gb_LinkTarget_set_include
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : INCLUDE := $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE := $(2)
-endif
-
-endef
-
-define gb_LinkTarget_set_include_stl
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : INCLUDE_STL := $(2)
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE_STL := $(2)
-endif
-
-endef
-
-define gb_LinkTarget_add_ldflags
-$(call gb_LinkTarget_get_target,$(1)) : T_LDFLAGS += $(2)
-endef
-
-# real use in RepositoryExternal.mk
-define gb_LinkTarget_set_ldflags
-$(call gb_LinkTarget_get_target,$(1)) : T_LDFLAGS := $(2)
-endef
-
-define gb_LinkTarget_add_libs
-$(call gb_LinkTarget_get_target,$(1)) : LIBS += $(2)
-endef
-
-define gb_LinkTarget_add_api
-$(call gb_LinkTarget_get_external_headers_target,$(1)) :| \
- $$(foreach api,$(2),$$(call gb_Package_get_target,$$(api)_inc))
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : INCLUDE += $$(foreach api,$(2),-I$(OUTDIR)/inc/$$(api))
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : INCLUDE += $$(foreach api,$(2),-I$(OUTDIR)/inc/$$(api))
-endif
-
-endef
-
-define gb_LinkTarget_add_linked_libs
-ifneq (,$$(filter-out $(gb_Library_KNOWNLIBS),$(2)))
-$$(eval $$(call gb_Output_info,currently known libraries are: $(sort $(gb_Library_KNOWNLIBS)),ALL))
-$$(eval $$(call gb_Output_error,Cannot link against library/libraries $$(filter-out $(gb_Library_KNOWNLIBS),$(2)). Libraries must be registered in Repository.mk))
-endif
-
-$(call gb_LinkTarget_get_target,$(1)) : LINKED_LIBS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $$(foreach lib,$(2),$$(call gb_Library_get_target,$$(lib)))
-$(call gb_LinkTarget_get_external_headers_target,$(1)) : \
-$$(foreach lib,$(2),$$(call gb_Library_get_headers_target,$$(lib)))
-
-endef
-
-define gb_LinkTarget_add_linked_static_libs
-ifneq (,$$(filter-out $(gb_StaticLibrary_KNOWNLIBS),$(2)))
-$$(eval $$(call gb_Output_info, currently known static libraries are: $(sort $(gb_StaticLibrary_KNOWNLIBS)),ALL))
-$$(eval $$(call gb_Output_error,Cannot link against static library/libraries $$(filter-out $(gb_StaticLibrary_KNOWNLIBS),$(2)). Static libraries must be registered in Repository.mk))
-endif
-
-$(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $$(foreach lib,$(2),$$(call gb_StaticLibrary_get_target,$$(lib)))
-$(call gb_LinkTarget_get_external_headers_target,$(1)) : \
-$$(foreach lib,$(2),$$(call gb_StaticLibrary_get_headers_target,$$(lib)))
-
-endef
-
-define gb_LinkTarget_add_cobject
-$(call gb_LinkTarget_get_target,$(1)) : COBJECTS += $(2)
-$(call gb_LinkTarget_get_clean_target,$(1)) : COBJECTS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $(call gb_CObject_get_target,$(2))
-$(call gb_CObject_get_target,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
-$(call gb_CObject_get_target,$(2)) : T_CFLAGS += $(3)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : COBJECTS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_CObject_get_dep_target,$(2))
-endif
-
-ifeq ($(gb_CHECKOBJECTOWNER),$(true))
-gb_LinkTarget_OBJECTOWNER += $(call gb_CObject_get_target,$(2)):$(1)
-gb_LinkTarget_OBJECTS += $(call gb_CObject_get_target,$(2))
-endif
-
-endef
-
-define gb_LinkTarget_add_cxxobject
-$(call gb_LinkTarget_get_target,$(1)) : CXXOBJECTS += $(2)
-$(call gb_LinkTarget_get_clean_target,$(1)) : CXXOBJECTS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $(call gb_CxxObject_get_target,$(2))
-$(call gb_CxxObject_get_target,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
-$(call gb_CxxObject_get_target,$(2)) : T_CXXFLAGS += $(3)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : CXXOBJECTS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_CxxObject_get_dep_target,$(2))
-endif
-
-ifeq ($(gb_CHECKOBJECTOWNER),$(true))
-gb_LinkTarget_OBJECTOWNER += $(call gb_CxxObject_get_target,$(2)):$(1)
-gb_LinkTarget_OBJECTS += $(call gb_CxxObject_get_target,$(2))
-endif
-
-endef
-
-define gb_LinkTarget_add_objcobject
-$(call gb_LinkTarget_get_target,$(1)) : OBJCOBJECTS += $(2)
-$(call gb_LinkTarget_get_clean_target,$(1)) : OBJCOBJECTS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $(call gb_ObjCObject_get_target,$(2))
-$(call gb_ObjCObject_get_target,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
-$(call gb_ObjCObject_get_target,$(2)) : T_OBJCFLAGS += $(3)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCOBJECTS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_ObjCObject_get_dep_target,$(2))
-endif
-
-ifeq ($(gb_CHECKOBJECTOWNER),$(true))
-gb_LinkTarget_OBJECTOWNER += $(call gb_ObjCObject_get_target,$(2)):$(1)
-gb_LinkTarget_OBJECTS += $(call gb_ObjCObject_get_target,$(2))
-endif
-
-endef
-
-define gb_LinkTarget_add_objcxxobject
-$(call gb_LinkTarget_get_target,$(1)) : OBJCXXOBJECTS += $(2)
-$(call gb_LinkTarget_get_clean_target,$(1)) : OBJCXXOBJECTS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $(call gb_ObjCxxObject_get_target,$(2))
-$(call gb_ObjCxxObject_get_target,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
-$(call gb_ObjCxxObject_get_target,$(2)) : T_OBJCXXFLAGS += $(3)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : OBJCXXOBJECTS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_ObjCxxObject_get_dep_target,$(2))
-endif
-
-ifeq ($(gb_CHECKOBJECTOWNER),$(true))
-gb_LinkTarget_OBJECTOWNER += $(call gb_ObjCxxObject_get_target,$(2)):$(1)
-gb_LinkTarget_OBJECTS += $(call gb_ObjCxxObject_get_target,$(2))
-endif
-
-endef
-
-define gb_LinkTarget_add_generated_cxx_object
-$(call gb_LinkTarget_get_target,$(1)) : GENCXXOBJECTS += $(2)
-$(call gb_LinkTarget_get_clean_target,$(1)) : GENCXXOBJECTS += $(2)
-
-$(call gb_LinkTarget_get_target,$(1)) : $(call gb_GenCxxObject_get_target,$(2))
-$(call gb_GenCxxObject_get_source,$(2)) : | $(call gb_LinkTarget_get_headers_target,$(1))
-$(call gb_GenCxxObject_get_target,$(2)) : T_CXXFLAGS += $(3)
-
-ifeq ($(gb_FULLDEPS),$(true))
-$(call gb_LinkTarget_get_dep_target,$(1)) : GENCXXOBJECTS += $(2)
-$(call gb_LinkTarget_get_dep_target,$(1)) : $(call gb_GenCxxObject_get_dep_target,$(2))
-endif
-
-ifeq ($(gb_CHECKOBJECTOWNER),$(true))
-gb_LinkTarget_OBJECTOWNER += $(call gb_GenCxxObject_get_target,$(2)):$(1)
-gb_LinkTarget_OBJECTS += $(call gb_GenCxxObject_get_target,$(2))
-endif
-
-endef
-
-define gb_LinkTarget_add_noexception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_NOEXCEPTIONFLAGS) $(CXXFLAGS))
-endef
-
-define gb_LinkTarget_add_exception_object
-$(call gb_LinkTarget_add_cxxobject,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(CXXFLAGS))
-endef
-
-define gb_LinkTarget_add_cobjects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_cobject,$(1),$(obj),$(3)))
-endef
-
-define gb_LinkTarget_add_linktarget_objects
-$(call gb_LinkTarget_get_target,$(1)) : $(foreach linktarget,$(2),$(call gb_LinkTarget_get_target,$(linktarget)))
-$(call gb_LinkTarget_get_target,$(1)) : EXTRAOBJECTLISTS += $(foreach linktarget,$(2),$(call gb_LinkTarget_get_objects_list,$(linktarget)))
-
-endef
-
-define gb_LinkTarget_add_library_objects
-ifneq (,$$(filter-out $(gb_Library_KNOWNLIBS),$(2)))
-$$(eval $$(call gb_Output_info,currently known libraries are: $(sort $(gb_Library_KNOWNLIBS)),ALL))
-$$(eval $$(call gb_Output_error,Cannot import objects library/libraries $$(filter-out $(gb_Library_KNOWNLIBS),$(2)). Libraries must be registered in Repository.mk))
-endif
-$(call gb_LinkTarget_add_linktarget_objects,$(1),$(foreach lib,$(2),$(call gb_Library_get_linktargetname,$(lib))))
-
-endef
-
-define gb_LinkTarget_add_executable_objects
-$(call gb_LinkTarget_add_linktarget_objects,$(1),$(foreach exe,$(2),$(call gb_Executable_get_linktargetname,$(lib))))
-
-endef
-
-define gb_LinkTarget_add_cxxobjects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_cxxobject,$(1),$(obj),$(3)))
-endef
-
-define gb_LinkTarget_add_objcobjects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_objcobject,$(1),$(obj),$(3)))
-endef
-
-define gb_LinkTarget_add_objcxxobjects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_objcxxobject,$(1),$(obj),$(3)))
-endef
-
-define gb_LinkTarget_add_noexception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_noexception_object,$(1),$(obj)))
-endef
-
-define gb_LinkTarget_add_exception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_exception_object,$(1),$(obj)))
-endef
-
-define gb_LinkTarget_add_generated_cxxobjects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(obj),$(3)))
-endef
-
-define gb_LinkTarget_add_generated_exception_object
-$(call gb_LinkTarget_add_generated_cxx_object,$(1),$(2),$(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_COMPILEROPTFLAGS) $(CXXFLAGS))
-endef
-
-define gb_LinkTarget_add_generated_exception_objects
-$(foreach obj,$(2),$(call gb_LinkTarget_add_generated_exception_object,$(1),$(obj)))
-endef
-
-define gb_LinkTarget_set_targettype
-$(call gb_LinkTarget_get_target,$(1)) \
-$(call gb_LinkTarget_get_dep_target,$(1)) : TARGETTYPE := $(2)
-endef
-
-define gb_LinkTarget_set_dlltarget
-$(call gb_LinkTarget_get_clean_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : DLLTARGET := $(2)
-endef
-
-define gb_LinkTarget_set_auxtargets
-$(call gb_LinkTarget_get_clean_target,$(1)) : AUXTARGETS := $(2)
-endef
-
-define gb_LinkTarget__add_internal_headers
-$(call gb_LinkTarget_get_headers_target,$(1)) : $(2)
-$(2) :| $(call gb_LinkTarget_get_external_headers_target,$(1))
-
-endef
-
-define gb_LinkTarget_add_package_headers
-$(foreach package,$(2),$(call gb_LinkTarget__add_internal_headers,$(1),$(call gb_Package_get_target,$(package))))
-$(call gb_LinkTarget_get_clean_target,$(1)) : $(foreach package,$(2),$(call gb_Package_get_clean_target,$(package)))
-
-endef
-
-define gb_LinkTarget_add_sdi_headers
-$(call gb_LinkTarget__add_internal_headers,$(1),$(foreach sdi,$(2),$(call gb_SdiTarget_get_target,$(sdi))))
-$(call gb_LinkTarget_get_clean_target,$(1)) : $(foreach sdi,$(2),$(call gb_SdiTarget_get_clean_target,$(sdi)))
-endef
-
-define gb_LinkTarget__add_precompiled_header_impl
-$(call gb_LinkTarget__add_internal_headers,$(1),$(call gb_PrecompiledHeader_get_target,$(3)))
-$(call gb_LinkTarget_get_clean_target,$(1)) : $(call gb_PrecompiledHeader_get_clean_target,$(3))
-$(call gb_PrecompiledHeader_get_target,$(3)) : $(2).cxx
-
-$(call gb_LinkTarget__add_internal_headers,$(1),$(call gb_NoexPrecompiledHeader_get_target,$(3)))
-$(call gb_LinkTarget_get_clean_target,$(1)) : $(call gb_NoexPrecompiledHeader_get_clean_target,$(3))
-$(call gb_NoexPrecompiledHeader_get_target,$(3)) : $(2).cxx
-
-$(call gb_LinkTarget_get_target,$(1)) : PCH_NAME := $(3)
-$(call gb_LinkTarget_get_target,$(1)) : PCHOBJS = $(call gb_PrecompiledHeader_get_target,$(3)).obj $(call gb_NoexPrecompiledHeader_get_target,$(3)).obj
-
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : DEFS := $$(DEFS) -DPRECOMPILED_HEADERS
-$(call gb_LinkTarget_get_headers_target,$(1)) \
-$(call gb_LinkTarget_get_target,$(1)) : PCH_DEFS = $$(DEFS)
-ifeq ($(gb_FULLDEPS),$(true))
--include \
- $(call gb_PrecompiledHeader_get_dep_target,$(3)) \
- $(call gb_NoexPrecompiledHeader_get_dep_target,$(3))
-$(call gb_LinkTarget_get_dep_target,$(1)) : DEFS := $$(DEFS) -DPRECOMPILED_HEADERS
-$(call gb_LinkTarget_get_dep_target,$(1)) : PCH_DEFS = $$(DEFS)
-endif
-
-endef
-
-define gb_LinkTarget_add_precompiled_header
-ifeq ($(gb_ENABLE_PCH),$(true))
-$(call gb_LinkTarget__add_precompiled_header_impl,$(1),$(2),$(notdir $(2)))
-endif
-
-endef
-
-# this forwards to functions that must be defined in RepositoryExternal.mk.
-# $(eval $(call gb_LinkTarget_use_external,library,external))
-define gb_LinkTarget_use_external
-$(if $(value gb_LinkTarget__use_$(2)),\
- $(call gb_LinkTarget__use_$(2),$(1)),\
- $(error gb_LinkTarget_use_external: unknown external: $(2)))
-endef
-
-# $(call gb_LinkTarget_use_externals,library,externals)
-gb_LinkTarget_use_externals = \
- $(foreach external,$(2),$(eval $(call gb_LinkTarget_use_external,$(1),$(external))))
-
-
-# vim: set noet sw=4: