Kaydet (Commit) b209dec8 authored tarafından David Tardon's avatar David Tardon

create all translations for a .ui file in one uiex call

This should help a lot with Windows release build times (i.e., move it
from "glacially slow" category to just "slow").

Change-Id: I6d397eb5d1ec1779616c3eef8e51f9cf29d5acec
üst c27b2e37
...@@ -170,8 +170,8 @@ gb_SrsTemplateTarget_get_include_dir = $(WORKDIR)/SrsTemplatePartTarget/$(firstw ...@@ -170,8 +170,8 @@ gb_SrsTemplateTarget_get_include_dir = $(WORKDIR)/SrsTemplatePartTarget/$(firstw
gb_SrsTemplateTarget_get_target = $(WORKDIR)/SrsTemplateTarget/$(1) gb_SrsTemplateTarget_get_target = $(WORKDIR)/SrsTemplateTarget/$(1)
gb_ThesaurusIndexTarget_get_target = $(WORKDIR)/ThesaurusIndexTarget/$(basename $(1)).idx gb_ThesaurusIndexTarget_get_target = $(WORKDIR)/ThesaurusIndexTarget/$(basename $(1)).idx
gb_UI_get_target = $(WORKDIR)/UI/$(1).done gb_UI_get_target = $(WORKDIR)/UI/$(1).done
gb_UILocalizeTarget_get_target = $(WORKDIR)/UILocalizeTarget/$(1).ui gb_UILocalizeTarget_get_target = $(WORKDIR)/UILocalizeTarget/$(1).done
gb_UITarget_get_target = $(WORKDIR)/UITarget/$(1).done gb_UILocalizeTarget_get_workdir = $(WORKDIR)/UILocalizeTarget/$(1)
gb_UnoApiTarget_get_external_headers_target = $(WORKDIR)/UnoApiTarget/$(1).external gb_UnoApiTarget_get_external_headers_target = $(WORKDIR)/UnoApiTarget/$(1).external
gb_UnoApiTarget_get_headers_target = $(WORKDIR)/UnoApiTarget/$(1).headers gb_UnoApiTarget_get_headers_target = $(WORKDIR)/UnoApiTarget/$(1).headers
gb_UnoApiTarget_get_target = $(WORKDIR)/UnoApiTarget/$(1).rdb gb_UnoApiTarget_get_target = $(WORKDIR)/UnoApiTarget/$(1).rdb
...@@ -275,7 +275,6 @@ $(eval $(call gb_Helper_make_clean_targets,\ ...@@ -275,7 +275,6 @@ $(eval $(call gb_Helper_make_clean_targets,\
ExternalProject \ ExternalProject \
UI \ UI \
UILocalizeTarget \ UILocalizeTarget \
UITarget \
UnoApiHeadersTarget \ UnoApiHeadersTarget \
UnoApiTarget \ UnoApiTarget \
UnpackedTarball \ UnpackedTarball \
......
...@@ -9,11 +9,13 @@ ...@@ -9,11 +9,13 @@
# class UILocalizeTarget # class UILocalizeTarget
# Produces translations for one .ui file.
gb_UILocalizeTarget_WORKDIR := $(WORKDIR)/UILocalizeTarget gb_UILocalizeTarget_WORKDIR := $(WORKDIR)/UILocalizeTarget
gb_UILocalizeTarget_TARGET := $(call gb_Executable_get_target_for_build,uiex) gb_UILocalizeTarget_TARGET := $(call gb_Executable_get_target_for_build,uiex)
gb_UILocalizeTarget_COMMAND := $(gb_Helper_set_ld_path) $(gb_UILocalizeTarget_TARGET) gb_UILocalizeTarget_COMMAND := $(gb_Helper_set_ld_path) $(gb_UILocalizeTarget_TARGET)
gb_UILocalizeTarge_LANGS := $(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG))) gb_UILocalizeTarget_LANGS := $(filter-out qtz,$(filter-out en-US,$(gb_WITH_LANG)))
define gb_UILocalizeTarget__command define gb_UILocalizeTarget__command
$(call gb_Output_announce,$(2),$(true),UIX,1) $(call gb_Output_announce,$(2),$(true),UIX,1)
...@@ -22,13 +24,17 @@ echo $(POFILES) > $${MERGEINPUT} && \ ...@@ -22,13 +24,17 @@ echo $(POFILES) > $${MERGEINPUT} && \
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
$(gb_UILocalizeTarget_COMMAND) \ $(gb_UILocalizeTarget_COMMAND) \
-i $(UI_FILE) \ -i $(UI_FILE) \
-o $(dir $(1)) \ -o $(call gb_UILocalizeTarget_get_workdir,$(2)) \
-l $(UI_LANG) \ -l all \
-m $${MERGEINPUT} ) && \ -m $${MERGEINPUT} \
&& touch $(1) \
) && \
rm -rf $${MERGEINPUT} rm -rf $${MERGEINPUT}
endef endef
$(dir $(call gb_UILocalizeTarget_get_target,%)).dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
$(dir $(call gb_UILocalizeTarget_get_target,%))%/.dir : $(dir $(call gb_UILocalizeTarget_get_target,%))%/.dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
...@@ -42,77 +48,26 @@ $(call gb_UILocalizeTarget_get_clean_target,%) : ...@@ -42,77 +48,26 @@ $(call gb_UILocalizeTarget_get_clean_target,%) :
rm -f $(call gb_UILocalizeTarget_get_target,$*) \ rm -f $(call gb_UILocalizeTarget_get_target,$*) \
) )
# Translates one .ui file # Produce translations for one .ui file
# #
# gb_UILocalizeTarget_UILocalizeTarget target source lang # gb_UILocalizeTarget_UILocalizeTarget target
define gb_UILocalizeTarget_UILocalizeTarget define gb_UILocalizeTarget_UILocalizeTarget
$(call gb_UILocalizeTarget_get_target,$(1)) : POFILES := $(foreach lang,$(gb_UILocalizeTarge_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(2))).po) $(call gb_UILocalizeTarget__UILocalizeTarget_impl,$(1),$(foreach lang,$(gb_UILocalizeTarget_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(1))).po))
$(call gb_UILocalizeTarget_get_target,$(1)) : UI_FILE := $(SRCDIR)/$(2).ui
$(call gb_UILocalizeTarget_get_target,$(1)) : UI_LANG := $(3)
$(call gb_UILocalizeTarget_get_target,$(1)) : $(foreach lang,$(gb_UILocalizeTarge_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(2))).po)
$(call gb_UILocalizeTarget_get_target,$(1)) : $(SRCDIR)/$(2).ui
$(call gb_UILocalizeTarget_get_target,$(1)) :| $(dir $(call gb_UILocalizeTarget_get_target,$(1))).dir
$(foreach lang,$(gb_UILocalizeTarge_LANGS),$(gb_POLOCATION)/$(lang)/$(patsubst %/,%,$(dir $(2))).po) :
endef endef
# class UITarget # gb_UILocalizeTarget__UILocalizeTarget_impl target pofiles
define gb_UILocalizeTarget__UILocalizeTarget_impl
# en-US is a special case $(call gb_UILocalizeTarget_get_target,$(1)) : POFILES := $(2)
gb_UITarget_LANGS := $(filter-out en-US,$(gb_WITH_LANG)) $(call gb_UILocalizeTarget_get_target,$(1)) : UI_FILE := $(SRCDIR)/$(1).ui
gb_UITarget_LOCALIZED_DIR := $(gb_UILocalizeTarget_WORKDIR)
gb_UITarget_get_uifile_for_lang = $(subst $(gb_UITarget_LOCALIZED_DIR)/,,$(call gb_UILocalizeTarget_get_target,$(1)/$(2)))
$(dir $(call gb_UITarget_get_target,%)).dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
$(dir $(call gb_UITarget_get_target,%))%/.dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
$(call gb_UITarget_get_target,%) :
$(call gb_Output_announce,$*,$(true),UI ,2)
$(call gb_Helper_abbreviate_dirs,\
touch $@ \
)
.PHONY : $(call gb_UITarget_get_clean_target,%)
$(call gb_UITarget_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),UI ,2)
$(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_UITarget_get_target,$*) \
)
# Translates a set of .ui files $(call gb_UILocalizeTarget_get_target,$(1)) : $(2)
# $(call gb_UILocalizeTarget_get_target,$(1)) : $(SRCDIR)/$(1).ui
# gb_UITarget_UITarget modulename $(call gb_UILocalizeTarget_get_target,$(1)) :| \
define gb_UITarget_UITarget $(dir $(call gb_UILocalizeTarget_get_target,$(1))).dir \
$(call gb_UITarget_get_target,$(1)) :| $(dir $(call gb_UITarget_get_target,$(1))).dir $(call gb_UILocalizeTarget_get_workdir,$(1))/.dir
endef
define gb_UITarget__add_uifile_for_lang $(2) :
$(call gb_UILocalizeTarget_UILocalizeTarget,$(2)/$(3),$(2),$(3))
$(call gb_UITarget_get_target,$(1)) : $(call gb_UILocalizeTarget_get_target,$(2)/$(3))
$(call gb_UITarget_get_clean_target,$(1)) : $(call gb_UILocalizeTarget_get_clean_target,$(2)/$(3))
endef
# Adds an .ui file for translation
#
# gb_UITarget_add_uifile target uifile
define gb_UITarget_add_uifile
$(foreach lang,$(gb_UITarget_LANGS),$(call gb_UITarget__add_uifile_for_lang,$(1),$(2),$(lang)))
endef
# Adds multiple .ui files for translation
#
# gb_UITarget_add_uifiles target uifile(s)
define gb_UITarget_add_uifiles
$(foreach uifile,$(2),$(call gb_UITarget_add_uifile,$(1),$(uifile)))
endef endef
...@@ -120,7 +75,8 @@ endef ...@@ -120,7 +75,8 @@ endef
# Handles UI description files (suffix .ui) for the new layouting mechanism. # Handles UI description files (suffix .ui) for the new layouting mechanism.
gb_UI_LANGS := $(gb_UITarget_LANGS) # en-US is the default, so there is no translation for it
gb_UI_LANGS := $(filter-out en-US,$(gb_WITH_LANG))
$(dir $(call gb_UI_get_target,%)).dir : $(dir $(call gb_UI_get_target,%)).dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
...@@ -129,12 +85,14 @@ $(dir $(call gb_UI_get_target,%))%/.dir : ...@@ -129,12 +85,14 @@ $(dir $(call gb_UI_get_target,%))%/.dir :
$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@)) $(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
$(call gb_UI_get_target,%) : $(call gb_UI_get_target,%) :
$(call gb_Output_announce,$*,$(true),UI ,2)
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
touch $@ \ touch $@ \
) )
.PHONY : $(call gb_UI_get_clean_target,%) .PHONY : $(call gb_UI_get_clean_target,%)
$(call gb_UI_get_clean_target,%) : $(call gb_UI_get_clean_target,%) :
$(call gb_Output_announce,$*,$(false),UI ,2)
$(call gb_Helper_abbreviate_dirs,\ $(call gb_Helper_abbreviate_dirs,\
rm -f $(call gb_UI_get_target,$*) \ rm -f $(call gb_UI_get_target,$*) \
) )
...@@ -149,11 +107,8 @@ $(call gb_UI_get_target,$(1)) :| $(call gb_Package_get_target,$(1)_ui) ...@@ -149,11 +107,8 @@ $(call gb_UI_get_target,$(1)) :| $(call gb_Package_get_target,$(1)_ui)
$(call gb_UI_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_ui) $(call gb_UI_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_ui)
ifneq ($(gb_UI_LANGS),) ifneq ($(gb_UI_LANGS),)
$(call gb_UITarget_UITarget,$(1)) $(call gb_Package_Package_internal,$(1)_ui_localized,$(gb_UILocalizeTarget_WORKDIR))
$(call gb_Package_Package_internal,$(1)_ui_localized,$(gb_UITarget_LOCALIZED_DIR))
$(call gb_UI_get_target,$(1)) : $(call gb_UITarget_get_target,$(1))
$(call gb_UI_get_target,$(1)) :| $(call gb_Package_get_target,$(1)_ui_localized) $(call gb_UI_get_target,$(1)) :| $(call gb_Package_get_target,$(1)_ui_localized)
$(call gb_UI_get_clean_target,$(1)) : $(call gb_UITarget_get_clean_target,$(1))
$(call gb_UI_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_ui_localized) $(call gb_UI_get_clean_target,$(1)) : $(call gb_Package_get_clean_target,$(1)_ui_localized)
endif endif
...@@ -171,25 +126,15 @@ $(call gb_Package_add_file,$(2),$(call gb_UI__get_outdir_filename,$(1),$(3),$(5) ...@@ -171,25 +126,15 @@ $(call gb_Package_add_file,$(2),$(call gb_UI__get_outdir_filename,$(1),$(3),$(5)
endef endef
# gb_UI__add_uifile_direct target file # gb_UI__add_uifile target file
define gb_UI__add_uifile_direct define gb_UI__add_uifile
$(call gb_UI__package_uifile,$(1),$(1)_ui,$(2),$(2).ui) $(call gb_UI__package_uifile,$(1),$(1)_ui,$(2),$(2).ui)
endef endef
# gb_UI__add_uifile_for_lang target file lang # gb_UI__add_uifile_for_lang target file lang
define gb_UI__add_uifile_for_lang define gb_UI__add_uifile_for_lang
$(call gb_UI__package_uifile,$(1),$(1)_ui_localized,$(2),$(call gb_UITarget_get_uifile_for_lang,$(2),$(3)),$(3)) $(call gb_UI__package_uifile,$(1),$(1)_ui_localized,$(2),$(2)/$(3).ui,$(3))
endef
define gb_UI__add_uifile
$(call gb_UI__add_uifile_direct,$(1),$(2))
ifneq ($(gb_UI_LANGS),)
$(call gb_UITarget_add_uifile,$(1),$(2))
$(foreach lang,$(gb_UI_LANGS),$(call gb_UI__add_uifile_for_lang,$(1),$(2),$(lang)))
endif
endef endef
...@@ -202,7 +147,11 @@ define gb_UI_add_uifile ...@@ -202,7 +147,11 @@ define gb_UI_add_uifile
$(call gb_UI__add_uifile,$(1),$(2)) $(call gb_UI__add_uifile,$(1),$(2))
ifneq ($(gb_UI_LANGS),) ifneq ($(gb_UI_LANGS),)
$(call gb_UITarget_add_uifile,$(1),$(2)) $(call gb_UILocalizeTarget_UILocalizeTarget,$(2))
$(call gb_UI_get_target,$(1)) : $(call gb_UILocalizeTarget_get_target,$(2))
$(call gb_UI_get_clean_target,$(1)) : $(call gb_UILocalizeTarget_get_clean_target,$(2))
$(call gb_Package_get_preparation_target,$(1)_ui_localized) : $(call gb_UILocalizeTarget_get_target,$(2))
$(foreach lang,$(gb_UI_LANGS),$(call gb_UI__add_uifile_for_lang,$(1),$(2),$(lang)))
endif endif
endef endef
...@@ -211,11 +160,7 @@ endef ...@@ -211,11 +160,7 @@ endef
# #
# gb_UI_add_uifiles target uifile(s) # gb_UI_add_uifiles target uifile(s)
define gb_UI_add_uifiles define gb_UI_add_uifiles
$(foreach uifile,$(2),$(call gb_UI__add_uifile,$(1),$(uifile))) $(foreach uifile,$(2),$(call gb_UI_add_uifile,$(1),$(uifile)))
ifneq ($(gb_UI_LANGS),)
$(call gb_UITarget_add_uifiles,$(1),$(2))
endif
endef endef
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment