summaryrefslogtreecommitdiff
path: root/solenv/gbuild/Package.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/Package.mk')
-rw-r--r--solenv/gbuild/Package.mk24
1 files changed, 19 insertions, 5 deletions
diff --git a/solenv/gbuild/Package.mk b/solenv/gbuild/Package.mk
index 6642a892a3d4..c239897b3cf6 100644
--- a/solenv/gbuild/Package.mk
+++ b/solenv/gbuild/Package.mk
@@ -44,10 +44,13 @@ endef
$(foreach destination,$(call gb_PackagePart_get_destinations),$(eval \
$(call gb_PackagePart__rule,$(destination))))
+# Deliver one file to the output dir.
+#
+# gb_PackagePart_PackagePart destfile source prep-target outdir
define gb_PackagePart_PackagePart
-$(OUTDIR)/$(1) : $(2) | $(dir $(OUTDIR)/$(1)).dir
+$(4)/$(1) : $(2) | $(dir $(4)/$(1)).dir
$(2) :| $(3)
-$(call gb_Deliver_add_deliverable,$(OUTDIR)/$(1),$(2),$(3))
+$(call gb_Deliver_add_deliverable,$(4)/$(1),$(2),$(3))
endef
@@ -70,6 +73,7 @@ $(call gb_Package_get_target,%) :
# for other targets that want to create Packages, does not register at Module
define gb_Package_Package_internal
gb_Package_SOURCEDIR_$(1) := $(2)
+gb_Package_OUTDIR_$(1) := $(OUTDIR)
$(call gb_Package_get_clean_target,$(1)) : FILES := $(call gb_Package_get_target,$(1)) $(call gb_Package_get_preparation_target,$(1))
$(call gb_Package_get_target,$(1)) : $(call gb_Package_get_preparation_target,$(1))
@@ -83,10 +87,20 @@ $(call gb_Helper_make_userfriendly_targets,$(1),Package)
endef
+# Set output dir for the package files.
+#
+# Default is $(OUTDIR).
+#
+# gb_Package_set_outdir package outdir
+define gb_Package_set_outdir
+gb_Package_OUTDIR_$(1) := $(2)
+
+endef
+
define gb_Package_add_file
-$(call gb_Package_get_target,$(1)) : $(OUTDIR)/$(2)
-$(call gb_Package_get_clean_target,$(1)) : FILES += $(OUTDIR)/$(2)
-$(call gb_PackagePart_PackagePart,$(2),$$(gb_Package_SOURCEDIR_$(1))/$(3),$(call gb_Package_get_preparation_target,$(1)))
+$(call gb_Package_get_target,$(1)) : $$(gb_Package_OUTDIR_$(1))/$(2)
+$(call gb_Package_get_clean_target,$(1)) : FILES += $$(gb_Package_OUTDIR_$(1))/$(2)
+$(call gb_PackagePart_PackagePart,$(2),$$(gb_Package_SOURCEDIR_$(1))/$(3),$(call gb_Package_get_preparation_target,$(1)),$$(gb_Package_OUTDIR_$(1)))
endef