summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Rdb.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/Rdb.mk')
-rw-r--r--solenv/gbuild/Rdb.mk10
1 files changed, 6 insertions, 4 deletions
diff --git a/solenv/gbuild/Rdb.mk b/solenv/gbuild/Rdb.mk
index d59ab043180a..45058888d02a 100644
--- a/solenv/gbuild/Rdb.mk
+++ b/solenv/gbuild/Rdb.mk
@@ -7,8 +7,6 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
-gb_Rdb__URECOMPONENTS :=
-
gb_Rdb__get_install_target = $(INSTROOT)/$(LIBO_ETC_FOLDER)/services/$(1).rdb
define gb_Rdb__command
@@ -37,7 +35,12 @@ $(call gb_Rdb_get_clean_target,%) :
rm -f $(call gb_Rdb__get_install_target,$*) $(call gb_Rdb_get_target,$*))
define gb_Rdb__Rdb_impl
-$(call gb_Rdb_get_target,$(1)) : COMPONENTS :=
+# gb_Rdb_add_component, which adds to the target-specific COMPONENTS variable, can be called (from
+# gb_ComponentTarget_ComponentTarget) before gb_Rdb__Rdb_impl is called, so using `COMPONENTS :=`
+# here could lose content; but still use `COMPONENTS ?=` here to establish COMPONENTS as target-
+# specific even in the corner case of an empty Rdb with no gb_Rdb_add_component calls, so that the
+# use of $(COMPONENTS) in gb_Rdb__command would not accidentally pick a global COMPONENTS variable:
+$(call gb_Rdb_get_target,$(1)) : COMPONENTS ?=
$(call gb_Rdb_get_target,$(1)) : $(gb_Module_CURRENTMAKEFILE)
$$(eval $$(call gb_Module_register_target,$(2),$(call gb_Rdb_get_clean_target,$(1))))
$(call gb_Helper_make_userfriendly_targets,$(1),Rdb,$(2))
@@ -61,7 +64,6 @@ endef
define gb_Rdb_add_component
$(call gb_Rdb_get_target,$(1)) : $(call gb_ComponentTarget_get_target,$(2))
$(call gb_Rdb_get_target,$(1)) : COMPONENTS += $(2)
-$(if $(filter ure/services,$(1)),$(eval gb_Rdb__URECOMPONENTS += $(2)))
endef