summaryrefslogtreecommitdiff
path: root/solenv
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2013-07-16 14:54:04 +0200
committerMichael Stahl <mstahl@redhat.com>2013-07-16 16:54:59 +0200
commit85c7e212a26b24883b9a001b6529efeb80955809 (patch)
tree61e29807b75c37191d8ac53055ec4d62507bd0c2 /solenv
parent2bbf5d5bcffd2218f6b48fdfa4965735cbd4dd68 (diff)
gbuild: consolidate ULF copypaste in gb_CustomTarget_ulfex_rule
Change-Id: I0c5b68f6bc81c7c1c88be2cde42fc06949fff8e7
Diffstat (limited to 'solenv')
-rw-r--r--solenv/gbuild/CustomTarget.mk27
-rw-r--r--solenv/gbuild/Gallery.mk23
-rw-r--r--solenv/gbuild/InstallModuleTarget.mk21
3 files changed, 37 insertions, 34 deletions
diff --git a/solenv/gbuild/CustomTarget.mk b/solenv/gbuild/CustomTarget.mk
index f2ee6574688c..3f6357e0489a 100644
--- a/solenv/gbuild/CustomTarget.mk
+++ b/solenv/gbuild/CustomTarget.mk
@@ -50,4 +50,31 @@ $(foreach target,$(2),$(call gb_CustomTarget_register_target,$(1),$(target)))
endef
+ifneq ($(WITH_LANG),)
+
+# $(call gb_CustomTarget_ulfex__command,ulftarget,ulfsource,pofiles)
+define gb_CustomTarget_ulfex__command
+$(call gb_Output_announce,$(1),$(true),ULF,1)
+MERGEINPUT=`$(gb_MKTEMP)` && \
+echo $(3) > $${MERGEINPUT} && \
+$(call gb_Helper_abbreviate_dirs,\
+ $(call gb_Executable_get_command,ulfex) -i $(2) -o $(1) -m $${MERGEINPUT} -l all) && \
+rm -rf $${MERGEINPUT}
+endef
+
+else
+
+define gb_CustomTarget_ulfex__command
+cp $(2) $(1)
+endef
+
+endif
+
+# $(call gb_CustomTarget_ulfex_rule,ulftargetpattern,ulfsource,pofiles)
+define gb_CustomTarget_ulfex_rule
+$(1) : $(2) $(if $(WITH_LANG),$(call gb_Executable_get_runtime_dependencies,ulfex))
+ $$(call gb_CustomTarget_ulfex__command,$$@,$(subst %,$$*,$(strip $(2))),$(strip $(3)))
+
+endef
+
# vim: set noet sw=4:
diff --git a/solenv/gbuild/Gallery.mk b/solenv/gbuild/Gallery.mk
index 928ba92a5ebe..113f59bebca4 100644
--- a/solenv/gbuild/Gallery.mk
+++ b/solenv/gbuild/Gallery.mk
@@ -78,15 +78,6 @@ $(call gb_Helper_abbreviate_dirs,\
)
endef
-define gb_Gallery__command_ulf
-$(call gb_Output_announce,$(2),$(true),ULF,1)
-MERGEINPUT=`$(gb_MKTEMP)` && \
-echo $(foreach lang,$(gb_TRANS_LANGS),$(gb_POLOCATION)/$(lang)/extras/source/gallery/share.po) > $${MERGEINPUT} && \
-$(call gb_Helper_abbreviate_dirs,\
- $(call gb_Executable_get_command,ulfex) -i $(GALLERY_ULFFILE) -o $(1) -m $${MERGEINPUT} -l all) && \
-rm -rf $${MERGEINPUT}
-endef
-
define gb_Gallery__command_str
$(call gb_Output_announce,$(2),$(true),STR,1)
cp -f $(GALLERY_STRFILE) $@ && \
@@ -112,14 +103,12 @@ $(call gb_Gallery_get_target,%) : \
$(call gb_Gallery__get_final_target,%) :
touch $@
-ifneq ($(WITH_LANG),)
-$(call gb_Gallery_get_workdir,%).ulf : $(call gb_Executable_get_runtime_dependencies,ulfex)
- $(call gb_Gallery__command_ulf,$@,$*)
-else
-$(call gb_Gallery_get_workdir,%).ulf :
- $(call gb_Output_announce,$*,$(true),CPY,1)
- cp $(GALLERY_ULFFILE) $@
-endif
+# difficult to determine source dep for this one...
+$(call gb_Gallery_get_workdir,%).ulf : \
+ $(call gb_Executable_get_runtime_dependencies,ulfex)
+ $(call gb_CustomTarget_ulfex__command,$@,$(GALLERY_ULFFILE),\
+ $(foreach lang,$(gb_TRANS_LANGS),\
+ $(gb_POLOCATION)/$(lang)/extras/source/gallery/share.po))
$(call gb_Gallery_get_workdir,%).str : $(gb_Gallery_TRANSLATE)
$(call gb_Gallery__command_str,$@,$*)
diff --git a/solenv/gbuild/InstallModuleTarget.mk b/solenv/gbuild/InstallModuleTarget.mk
index d4cf4c9d030d..d7c74d7b3176 100644
--- a/solenv/gbuild/InstallModuleTarget.mk
+++ b/solenv/gbuild/InstallModuleTarget.mk
@@ -97,26 +97,15 @@ endef
# ScpMergeTarget class
-gb_ScpMergeTarget_DEPS := $(call gb_Executable_get_runtime_dependencies,ulfex)
-gb_ScpMergeTarget_COMMAND := $(call gb_Executable_get_command,ulfex)
-
gb_ScpMergeTarget_get_source = $(SRCDIR)/$(1).ulf
-define gb_ScpMergeTarget__command
-$(call gb_Output_announce,$(2),$(true),SUM,1)
-MERGEINPUT=`$(gb_MKTEMP)` && \
-echo $(SCP_POFILES) > $${MERGEINPUT} && \
-$(call gb_Helper_abbreviate_dirs,\
- $(gb_ScpMergeTarget_COMMAND) -i $(SCP_SOURCE) -o $(1) -m $${MERGEINPUT} -l all ) && \
-rm -rf $${MERGEINPUT}
-
-endef
-
$(dir $(call gb_ScpMergeTarget_get_target,%))%/.dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
-$(call gb_ScpMergeTarget_get_target,%) : $(gb_ScpMergeTarget_DEPS)
- $(call gb_ScpMergeTarget__command,$@,$*)
+$(eval $(call gb_CustomTarget_ulfex_rule,\
+ $(call gb_ScpMergeTarget_get_target,%),\
+ $(call gb_ScpMergeTarget_get_source,%),\
+ $$(SCP_POFILES)))
.PHONY : $(call gb_ScpMergeTarget_get_clean_target,%)
$(call gb_ScpMergeTarget_get_clean_target,%) :
@@ -125,8 +114,6 @@ $(call gb_ScpMergeTarget_get_clean_target,%) :
# gb_ScpMergeTarget_ScpMergeTarget(<target>)
define gb_ScpMergeTarget_ScpMergeTarget
-$(call gb_ScpMergeTarget_get_target,$(1)) : SCP_SOURCE := $(call gb_ScpMergeTarget_get_source,$(1))
-$(call gb_ScpMergeTarget_get_target,$(1)) : $(call gb_ScpMergeTarget_get_source,$(1))
$(call gb_ScpMergeTarget_get_target,$(1)) :| $(dir $(call gb_ScpMergeTarget_get_target,$(1))).dir
$(call gb_ScpMergeTarget_get_target,$(1)) : \
SCP_POFILES := $(foreach lang,$(gb_TRANS_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(1))).po)