aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2012-02-22 18:50:19 +0100
committerMatúš Kukan <matus.kukan@gmail.com>2012-03-02 11:14:06 +0100
commit5f9b493ab7264773f72fc7b8c42624fbfc41037f (patch)
tree73074adf84af84db3265c06de80aa04608e24315
parent83570d023b5185485d6c6566fd6aa52eb939cceb (diff)
translations: convert to gbuild
-rw-r--r--translations/Makefile7
-rw-r--r--translations/Module_translations.mk38
-rw-r--r--translations/Package_translate.mk36
-rw-r--r--translations/makefile.mk100
-rw-r--r--translations/prj/build.lst2
-rw-r--r--translations/prj/makefile.mk1
-rw-r--r--translations/translate/Makefile75
7 files changed, 158 insertions, 101 deletions
diff --git a/translations/Makefile b/translations/Makefile
new file mode 100644
index 00000000000..cda6586a739
--- /dev/null
+++ b/translations/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)../../../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/translations/Module_translations.mk b/translations/Module_translations.mk
new file mode 100644
index 00000000000..1436c9fab2b
--- /dev/null
+++ b/translations/Module_translations.mk
@@ -0,0 +1,38 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Matúš Kukan <matus.kukan@gmail.com> (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Module_Module,translations))
+
+ifneq (,$(filter-out en-US,$(WITH_LANG)))
+
+$(eval $(call gb_Module_add_targets,translations,\
+ Package_translate \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/translations/Package_translate.mk b/translations/Package_translate.mk
new file mode 100644
index 00000000000..0804f52be50
--- /dev/null
+++ b/translations/Package_translate.mk
@@ -0,0 +1,36 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Matúš Kukan <matus.kukan@gmail.com> (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+$(eval $(call gb_Package_Package,translations_translations,$(WORKDIR)/CustomTarget/translations))
+
+$(eval $(call gb_Package_add_customtarget,translations_translations,translations/translate))
+
+$(eval $(call gb_CustomTarget_add_outdir_dependencies,translations/translate,\
+ $(gb_Helper_PHONY) \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/translations/makefile.mk b/translations/makefile.mk
deleted file mode 100644
index 07784cf4b3b..00000000000
--- a/translations/makefile.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-#*************************************************************************
-#
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Initial Developer of the Original Code is
-# Andras Timar <timar@fsf.hu>
-# Portions created by the Initial Developer are Copyright (C) 2010 the
-# Initial Developer. All Rights Reserved.
-#
-# Major Contributor(s):
-# Ted <ted@bear.com>
-# Portions created by the Ted are Copyright (C) 2010 Ted. All Rights Reserved.
-#
-# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-#
-#*************************************************************************
-
-PRJ=.
-PRJNAME=translations
-TARGET=translations_merge
-
-# --- Targets ------------------------------------------------------
-.INCLUDE : settings.mk
-
-.INCLUDE .IGNORE : $(MISC)/sdf/lock.mk
-
-.IF "$(WITH_LANG)" == ""
-
-@all:
- @echo "Nothing to do - en-US only build."
-.ELSE
-
-.INCLUDE : target.mk
-
-.IF "$(OS_FOR_BUILD)"=="WNT" || ("$(SYSTEM_PYTHON)"!="YES" && "$(OS)" != "MACOSX")
-# watch for the path delimiter
-.IF "$(OS_FOR_BUILD)"=="WNT"
-PYTHONPATH:=$(PWD)$/$(BIN);$(SOLARLIBDIR);$(SOLARLIBDIR)$/python;$(SOLARLIBDIR)$/python$/lib-dynload
-.ELSE
-PYTHONPATH:=$(PWD)$/$(BIN):$(SOLARLIBDIR):$(SOLARLIBDIR)$/python:$(SOLARLIBDIR)$/python$/lib-dynload
-.ENDIF
-.EXPORT: PYTHONHOME
-.EXPORT: PYTHONPATH
-PYTHONCMD=$(AUGMENT_LIBRARY_PATH) $(WRAPCMD) $(SOLARBINDIR)/python
-.ELSE
-PYTHONCMD=$(WRAPCMD) $(PYTHON)
-.ENDIF
-
-.IF "$(WITH_LANG)" == "ALL"
- all_languages:=$(shell cd $(PRJ)/source && ls -1)
-.ELSE
- all_languages:=$(WITH_LANG:s/en-US//)
-.ENDIF # "$(WITH_LANG)" == "ALL"
-
-$(MISC)/sdf-template/en-US.sdf .ERRREMOVE : $(SOLARBINDIR)/cfgex \
- $(SOLARBINDIR)/helpex $(SOLARBINDIR)/localize $(SOLARBINDIR)/propex \
- $(SOLARBINDIR)/transex3 $(SOLARBINDIR)/ulfex $(SOLARBINDIR)/xrmex
- $(MKDIRHIER) $(@:d)
- $(LOCALIZE) $(SRC_ROOT) $@
-
-pot : $(MISC)/sdf-template/en-US.sdf
- $(OO2PO) -P -i $< -o $(MISC)/pot
- $(PERL) $(SOLARBINDIR)/addkeyid2pot.pl $(MISC)/pot
-
-$(MISC)/sdf-l10n/%.sdf : $(MISC)/sdf-template/en-US.sdf
- $(MKDIRHIER) $(@:d)
- $(PYTHONCMD) $(SOLARBINDIR)/po2lo --skipsource -i $(PRJ)/source/$(@:b) -t $(MISC)/sdf-template/en-US.sdf -o $@ -l $(@:b)
-
-$(MISC)/sdf-l10n/qtz.sdf : $(MISC)/sdf-template/en-US.sdf
- $(MKDIRHIER) $(@:d)
- $(PERL) $(SOLARBINDIR)/keyidGen.pl $< $@
-
-$(MISC)/merge.done : $(foreach,i,$(all_languages) $(MISC)/sdf-l10n/$i.sdf) $(MISC)/sdf-l10n/qtz.sdf
-.IF "$(L10N_LOCK)" != "YES"
- $(IFEXIST) $(MISC)/sdf $(THEN) $(RENAME) $(MISC)/sdf $(MISC)/sdf$(INPATH)_begone $(FI)
- -rm -rf $(MISC)/sdf$(INPATH)_begone
- -$(MKDIRHIER) $(MISC)/sdf
-.ENDIF # "$(L10n_LOCK)" != "YES"
- $(PERL) $(SOLARBINDIR)/fast_merge.pl -sdf_files $(mktmp $<) -merge_dir $(MISC)/sdf && $(TOUCH) $@
- $(COPY) $(PRJ)/localization_present.mk $(PRJ)/$(COMMON_OUTDIR)$(PROEXT)/inc
-
-ALLTAR : $(MISC)/merge.done
-
-.ENDIF
diff --git a/translations/prj/build.lst b/translations/prj/build.lst
index 41d519f3e0a..3937bc2aad7 100644
--- a/translations/prj/build.lst
+++ b/translations/prj/build.lst
@@ -1,2 +1,2 @@
translations translations : l10ntools PYTHON:python GLIB:glib NULL
-translations translations nmake - all translations_source NULL
+translations translations\prj nmake - all translations_prj NULL
diff --git a/translations/prj/makefile.mk b/translations/prj/makefile.mk
new file mode 100644
index 00000000000..0997622e00f
--- /dev/null
+++ b/translations/prj/makefile.mk
@@ -0,0 +1 @@
+.INCLUDE : gbuildbridge.mk
diff --git a/translations/translate/Makefile b/translations/translate/Makefile
new file mode 100644
index 00000000000..e97299aadb2
--- /dev/null
+++ b/translations/translate/Makefile
@@ -0,0 +1,75 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License or as specified alternatively below. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# Major Contributor(s):
+# Copyright (C) 2012 Matúš Kukan <matus.kukan@gmail.com> (initial developer)
+#
+# All Rights Reserved.
+#
+# For minor contributions see the git repository.
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+# instead of those above.
+
+gb_PARTIALBUILD:=T
+include $(GBUILDDIR)/gbuild_simple.mk
+
+all: merge.done
+
+all_languages := $(shell cd $(SRCDIR)/translations/source && ls -1)
+ifeq ($(WITH_LANG),ALL)
+my_languages := $(all_languages)
+else
+my_languages := $(filter-out en-US,$(WITH_LANG))
+endif
+
+#TODO: remove localization_present.mk when translations are in tail_build
+merge.done: $(foreach lang,$(my_languages),sdf-l10n/$(lang).sdf) sdf-l10n/qtz.sdf
+ $(call gb_Helper_abbreviate_dirs_native, \
+ rm -rf sdf && mkdir sdf && \
+ perl $(OUTDIR_FOR_BUILD)/bin/fast_merge.pl -sdf_files \
+ $(call var2file,$(shell $(gb_MKTEMP)),100,$^) -merge_dir sdf && \
+ cp -f $(SRCDIR)/translations/localization_present.mk \
+ $(WORKDIR)/CustomTarget/translations/localization_present.mk && \
+ touch $@)
+
+define lang_rule
+sdf-l10n/$(1).sdf: sdf-template/en-US.sdf $(OUTDIR_FOR_BUILD)/bin/po2lo \
+ $(shell find $(SRCDIR)/translations/source/$(1) -name "*\.po") | sdf-l10n
+ $(call gb_Helper_abbreviate_dirs_native, \
+ $(gb_PYTHON) $(OUTDIR_FOR_BUILD)/bin/po2lo --skipsource -i \
+ $(SRCDIR)/translations/source/$(1) -t $$< -o $$@ -l $(1))
+
+endef
+
+$(foreach lang,$(my_languages),$(eval $(call lang_rule,$(lang))))
+
+sdf-l10n/qtz.sdf: sdf-template/en-US.sdf $(OUTDIR_FOR_BUILD)/bin/keyidGen.pl | sdf-l10n
+ $(call gb_Helper_abbreviate_dirs_native, \
+ perl $(OUTDIR_FOR_BUILD)/bin/keyidGen.pl $< $@)
+
+sdf-l10n:
+ mkdir $@
+
+sdf-template/en-US.sdf: \
+ $(foreach file,cfgex helpex localize propex transex3 ulfex xrmex, \
+ $(OUTDIR_FOR_BUILD)/bin/$(file))
+ $(call gb_Helper_abbreviate_dirs_native, \
+ mkdir -p $(dir $@) && $(call gb_Helper_execute,localize) $(SRCDIR) $@)
+
+.DEFAULT_GOAL := all
+# vim: set noet sw=4 ts=4: