add support for resource templates
That is, resource files containing localizable data that are included from other resource files. They have filenames like foo_tmpl.hrc (sometimes foo_tmpl.src) and are included as foo.hrc . They were handled by listing them in LOCALIZE_ME variable in the old build system.
This commit is contained in:
parent
5cce753ee1
commit
9c778f8527
2 changed files with 76 additions and 0 deletions
|
@ -30,8 +30,11 @@
|
|||
#
|
||||
# target task depends on
|
||||
# SrsTarget joining the parts SrsPartTarget
|
||||
# SrsTemplateTarget
|
||||
# SrsPartTarget preprocessing SrsPartMergeTarget (with l10n)
|
||||
# source file (without l10n)
|
||||
# SrsTemplateTarget handling templates SrsTemplatePartTarget
|
||||
# SrsTemplatePartTarget handling template SrsPartMergeTarget
|
||||
# SrsPartMergeTarget merging/transex source file (only needed with l10n)
|
||||
|
||||
# Overview of dependencies and tasks of AllLangResTarget
|
||||
|
@ -127,6 +130,64 @@ endif
|
|||
|
||||
endef
|
||||
|
||||
# SrsTemplatePartTarget class
|
||||
|
||||
define gb_SrsTemplatePartTarget_SrsTemplatePartTarget
|
||||
$(call gb_SrsTemplatePartTarget_get_target,$(1)) : $(call gb_SrsPartMergeTarget_get_target,$(1))
|
||||
$$(call gb_Helper_abbreviate_dirs,\
|
||||
mkdir -p $$(dir $$@) && \
|
||||
cp $$< $$@)
|
||||
ifneq ($(strip $(WITH_LANG)),)
|
||||
$(call gb_SrsPartMergeTarget_get_target,$(1)) : SDF := $(realpath $(gb_SrsPartMergeTarget_SDFLOCATION)$(dir $(1))localize.sdf)
|
||||
$(call gb_SrsPartMergeTarget_get_target,$(1)) : $$(SDF)
|
||||
endif
|
||||
endef
|
||||
|
||||
# SrsTemplateTarget class
|
||||
|
||||
gb_SrsTemplateTarget__get_merged_target = $(call gb_SrsTemplateTarget_get_target,$(1))_merged
|
||||
gb_SrsTemplateTarget__get_unmerged_target = $(call gb_SrsTemplateTarget_get_target,$(1))_unmerged
|
||||
|
||||
ifeq ($(strip $(WITH_LANG)),)
|
||||
gb_SrsTemplateTarget__get_target = $(call gb_SrsTemplateTarget__get_unmerged_target,$(1))
|
||||
gb_SrsTemplateTarget__get_update_target = $(call gb_SrsTemplateTarget__get_merged_target,$(1))
|
||||
else
|
||||
gb_SrsTemplateTarget__get_target = $(call gb_SrsTemplateTarget__get_merged_target,$(1))
|
||||
gb_SrsTemplateTarget__get_update_target = $(call gb_SrsTemplateTarget__get_unmerged_target,$(1))
|
||||
endif
|
||||
|
||||
define gb_SrsTemplateTarget_SrsTemplateTarget
|
||||
$(call gb_SrsTemplateTarget_get_target,$(1)) : PARTS :=
|
||||
$(call gb_SrsTemplateTarget_get_clean_target,$(1)) : PARTS :=
|
||||
$(call gb_SrsTemplateTarget_get_target,$(1)) : $(call gb_SrsTemplateTarget__get_target,$(1))
|
||||
$(call gb_SrsTemplateTarget__get_target,$(1)) : $(call gb_SrsTemplateTarget__get_update_target,$(1))
|
||||
endef
|
||||
|
||||
.PHONY : $(call gb_SrsTemplateTarget_get_target,%)
|
||||
$(call gb_SrsTemplateTarget_get_target,%) :
|
||||
$(call gb_Output_announce,$*,$(true),SRT,4)
|
||||
$(call gb_Helper_abbreviate_dirs,\
|
||||
mkdir -p $(dir $@) && \
|
||||
touch $@)
|
||||
|
||||
.PHONY : $(call gb_SrsTemplateTarget_get_clean_target,%)
|
||||
$(call gb_SrsTemplateTarget_get_clean_target,%) :
|
||||
$(call gb_Output_announce,$*,$(false),SRT,4)
|
||||
-$(call gb_Helper_abbreviate_dirs,\
|
||||
rm -f $(call gb_SrsTemplateTarget_get_target,$*) \
|
||||
$(call gb_SrsTemplateTarget__get_merged_target,$*) \
|
||||
$(call gb_SrsTemplateTarget__get_unmerged_target,$*) \
|
||||
$(foreach part,$(PARTS),$(call gb_SrsTemplatePartTarget_get_target,$(part))) \
|
||||
$(foreach part,$(PARTS),$(call gb_SrsPartMergeTarget_get_target,$(part))))
|
||||
|
||||
define gb_SrsTemplateTarget_add_file
|
||||
$(call gb_SrsTemplatePartTarget_SrsTemplatePartTarget,$(2))
|
||||
$(call gb_SrsTemplateTarget_get_target,$(1)) : PARTS += $(2)
|
||||
$(call gb_SrsTemplateTarget_get_clean_target,$(1)) : PARTS += $(2)
|
||||
$(call gb_SrsTemplateTarget__get_target,$(1)) : $(call gb_SrsTemplatePartTarget_get_target,$(2))
|
||||
$(call gb_SrsTemplatePartTarget_get_target,$(2)) : $(call gb_SrsTemplateTarget__get_update_target,$(1))
|
||||
$(call gb_SrsPartMergeTarget_get_target,$(2)) : $(call gb_SrsTemplateTarget__get_update_target,$(1))
|
||||
endef
|
||||
|
||||
# SrsTarget class
|
||||
|
||||
|
@ -164,10 +225,13 @@ $(call gb_SrsTarget_get_dep_target,%) :
|
|||
endif
|
||||
|
||||
define gb_SrsTarget_SrsTarget
|
||||
$(call gb_SrsTemplateTarget_SrsTemplateTarget,$(1))
|
||||
$(call gb_SrsTarget_get_target,$(1)) : DEFS := $(gb_SrsTarget_DEFAULTDEFS)
|
||||
$(call gb_SrsTarget_get_target,$(1)) : INCLUDE := $(SOLARINC)
|
||||
$(call gb_SrsTarget_get_clean_target,$(1)) : PARTS :=
|
||||
$(call gb_SrsTarget_get_target,$(1)) : PARTS :=
|
||||
$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsTemplateTarget_get_target,$(1))
|
||||
$(call gb_SrsTarget_get_clean_target,$(1)) : $(call gb_SrsTemplateTarget_get_clean_target,$(1))
|
||||
ifeq ($(gb_FULLDEPS),$(true))
|
||||
ifneq ($(wildcard $(call gb_SrsTarget_get_dep_target,$(1))),)
|
||||
include $(call gb_SrsTarget_get_dep_target,$(1))
|
||||
|
@ -200,6 +264,7 @@ $(call gb_SrsTarget_get_dep_target,$(1)) : $(call gb_SrsPartTarget_get_dep_targe
|
|||
endif
|
||||
$(call gb_SrsPartTarget_SrsPartTarget,$(2))
|
||||
$(call gb_SrsTarget_get_target,$(1)) : $(call gb_SrsPartTarget_get_target,$(2))
|
||||
$(call gb_SrsPartTarget_get_target,$(2)) :| $(call gb_SrsTemplateTarget_get_target,$(1))
|
||||
$(call gb_SrsTarget_get_clean_target,$(1)) : PARTS += $(2)
|
||||
$(call gb_SrsTarget_get_target,$(1)) : PARTS += $(2)
|
||||
|
||||
|
@ -210,6 +275,14 @@ $(foreach file,$(2),$(call gb_SrsTarget_add_file,$(1),$(file)))
|
|||
|
||||
endef
|
||||
|
||||
define gb_SrsTarget_add_template
|
||||
$(call gb_SrsTemplateTarget_add_file,$(1),$(2))
|
||||
endef
|
||||
|
||||
define gb_SrsTarget_add_templates
|
||||
$(foreach template,$(2),$(eval $(call gb_SrsTarget_add_template,$(1),$(template))))
|
||||
endef
|
||||
|
||||
|
||||
# ResTarget
|
||||
|
||||
|
|
|
@ -82,6 +82,8 @@ gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1)
|
|||
gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1)
|
||||
gb_SrsPartTarget_get_target = $(WORKDIR)/SrsPartTarget/$(1)
|
||||
gb_SrsTarget_get_target = $(WORKDIR)/SrsTarget/$(1).srs
|
||||
gb_SrsTemplatePartTarget_get_target = $(WORKDIR)/inc/$(firstword $(subst /, ,$(1)))/$(subst _tmpl,,$(notdir $(1)))
|
||||
gb_SrsTemplateTarget_get_target = $(WORKDIR)/SrsTemplateTarget/$(1)
|
||||
|
||||
define gb_Library_get_external_headers_target
|
||||
$(patsubst $(1):%,$(WORKDIR)/ExternalHeaders/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES)))
|
||||
|
@ -112,6 +114,7 @@ $(eval $(call gb_Helper_make_clean_targets,\
|
|||
ResTarget \
|
||||
SdiTarget \
|
||||
SrsTarget \
|
||||
SrsTemplateTarget \
|
||||
CppunitTest \
|
||||
CustomTarget \
|
||||
))
|
||||
|
|
Loading…
Reference in a new issue