summaryrefslogtreecommitdiff
path: root/solenv/gbuild/AllLangPackage.mk
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/gbuild/AllLangPackage.mk')
-rw-r--r--solenv/gbuild/AllLangPackage.mk13
1 files changed, 10 insertions, 3 deletions
diff --git a/solenv/gbuild/AllLangPackage.mk b/solenv/gbuild/AllLangPackage.mk
index 6076a83bccb0..f0cf1c92e70c 100644
--- a/solenv/gbuild/AllLangPackage.mk
+++ b/solenv/gbuild/AllLangPackage.mk
@@ -63,15 +63,15 @@ endef
# Add a file to one of the child packages.
#
-# The language is taken from the first component of the file name. The
+# If 'lang' is empty, the language is taken from the first component of the 'source' file name. The
# file is only added if there is a package defined for the language
# (i.e., if we are building with the language).
#
-# gb_AllLangPackage_add_file target destination source
+# gb_AllLangPackage_add_file target destination source lang
gb_AllLangPackage_ALLDIRS :=
define gb_AllLangPackage_add_file
gb_AllLangPackage_ALLDIRS := $(sort $(gb_AllLangPackage_ALLDIRS) $(patsubst %$(3),%,$(2)))
-$(call gb_AllLangPackage__add_file,$(1),$(2),$(3),$(firstword $(subst /, ,$(3))))
+$(call gb_AllLangPackage__add_file,$(1),$(2),$(3),$(or $(4),$(firstword $(subst /, ,$(3)))))
endef
@@ -84,6 +84,13 @@ $(foreach file,$(3),$(call gb_AllLangPackage_add_file,$(1),$(2)/$(file),$(file))
endef
+# gb_AllLangPackage_add_files_for_lang target lang destination-dir file(s)
+define gb_AllLangPackage_add_files_for_lang
+$(if $(strip $(3)),,$(call gb_Output_error,gb_AllLangPackage_add_files: destination dir cannot be empty))
+$(foreach file,$(4),$(call gb_AllLangPackage_add_file,$(1),$(3)/$(file),$(file),$(2)))
+
+endef
+
# Add several files to the child packages at once.
#
# The files are placed into subdir under the language-dependent path.