From 5105f2598bff21c992c1edf8bef8b55d8001b111 Mon Sep 17 00:00:00 2001 From: Bjoern Michaelsen Date: Sat, 16 Apr 2011 14:25:37 +0200 Subject: gb_CHECKOBJECTOWNER=T allows to check for objects linked multiple times --- solenv/gbuild/LinkTarget.mk | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'solenv/gbuild/LinkTarget.mk') diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 49ce493b609e..45df7b2beb40 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -240,6 +240,9 @@ gb_ObjCxxObject_ObjCxxObject = # LinkTarget class gb_LinkTarget_DEFAULTDEFS := $(gb_GLOBALDEFS) +gb_LinkTarget_OBJECTOWNER := +gb_LinkTarget_OBJECTS := + # defined by platform # gb_LinkTarget_CXXFLAGS # gb_LinkTarget_LDFLAGS @@ -531,6 +534,11 @@ $(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 @@ -546,6 +554,11 @@ $(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_objcxxobject @@ -561,6 +574,11 @@ $(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 @@ -576,6 +594,11 @@ $(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 -- cgit