4c91770dde
As part of tdf#158454 Change-Id: Ia81eeb76e8d1fc09d7d19c3c979e30737e5c69d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160159 Tested-by: Jenkins Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
288 lines
8.5 KiB
Makefile
288 lines
8.5 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
$(eval $(call gb_CustomTarget_CustomTarget,extras/source/autocorr))
|
|
|
|
autocorr_PYTHONCOMMAND := $(call gb_ExternalExecutable_get_command,python)
|
|
|
|
extras_AUTOCORR_LANGS := \
|
|
af-ZA:af-ZA \
|
|
bg:bg-BG \
|
|
ca:ca-ES \
|
|
cs:cs-CZ \
|
|
da:da-DK \
|
|
de:de \
|
|
dsb:dsb \
|
|
el:el-GR \
|
|
en-AU:en-AU \
|
|
en-GB:en-GB \
|
|
en-US:en-US \
|
|
en-ZA:en-ZA \
|
|
es:es \
|
|
fa:fa-IR \
|
|
fi:fi-FI \
|
|
fr:fr \
|
|
ga-IE:ga-IE \
|
|
hr:hr-HR \
|
|
hsb:hsb \
|
|
hu:hu-HU \
|
|
is:is-IS \
|
|
it:it \
|
|
ja:ja-JP \
|
|
ko:ko-KR \
|
|
lb-LU:lb-LU \
|
|
lt:lt-LT \
|
|
mn:mn-MN \
|
|
nl:nl-NL \
|
|
nl-BE:nl-BE \
|
|
pl:pl-PL \
|
|
pt:pt-PT \
|
|
pt-BR:pt-BR \
|
|
ro:ro-RO \
|
|
ru:ru-RU \
|
|
sk:sk-SK \
|
|
sl:sl-SI \
|
|
sr-CS:sr-CS \
|
|
sr-Latn-CS:sr-Latn-CS \
|
|
sr-Latn-ME:sr-Latn-ME \
|
|
sr-Latn-RS:sr-Latn-RS \
|
|
sr-ME:sr-ME \
|
|
sr-RS:sr-RS \
|
|
sv:sv-SE \
|
|
th:th-TH \
|
|
tr:tr-TR \
|
|
vi:vi-VN \
|
|
vro:vro-EE \
|
|
zh-CN:zh-CN \
|
|
zh-TW:zh-TW \
|
|
|
|
extras_AUTOCORR_SHORTLANG = $(firstword $(subst :, ,$(filter %:$(1),$(extras_AUTOCORR_LANGS))))
|
|
|
|
extras_AUTOCORR_XMLFILES := \
|
|
af-ZA/DocumentList.xml \
|
|
af-ZA/META-INF/manifest.xml \
|
|
af-ZA/SentenceExceptList.xml \
|
|
af-ZA/WordExceptList.xml \
|
|
bg/DocumentList.xml \
|
|
bg/META-INF/manifest.xml \
|
|
bg/SentenceExceptList.xml \
|
|
bg/WordExceptList.xml \
|
|
ca/DocumentList.xml \
|
|
ca/META-INF/manifest.xml \
|
|
ca/SentenceExceptList.xml \
|
|
ca/WordExceptList.xml \
|
|
cs/DocumentList.xml \
|
|
cs/META-INF/manifest.xml \
|
|
da/DocumentList.xml \
|
|
da/META-INF/manifest.xml \
|
|
da/SentenceExceptList.xml \
|
|
da/WordExceptList.xml \
|
|
de/DocumentList.xml \
|
|
de/META-INF/manifest.xml \
|
|
de/SentenceExceptList.xml \
|
|
de/WordExceptList.xml \
|
|
dsb/DocumentList.xml \
|
|
dsb/META-INF/manifest.xml \
|
|
el/DocumentList.xml \
|
|
el/META-INF/manifest.xml \
|
|
el/SentenceExceptList.xml \
|
|
el/WordExceptList.xml \
|
|
en-AU/DocumentList.xml \
|
|
en-AU/META-INF/manifest.xml \
|
|
en-AU/SentenceExceptList.xml \
|
|
en-AU/WordExceptList.xml \
|
|
en-GB/DocumentList.xml \
|
|
en-GB/META-INF/manifest.xml \
|
|
en-GB/SentenceExceptList.xml \
|
|
en-GB/WordExceptList.xml \
|
|
en-US/DocumentList.xml \
|
|
en-US/META-INF/manifest.xml \
|
|
en-US/SentenceExceptList.xml \
|
|
en-US/WordExceptList.xml \
|
|
en-ZA/DocumentList.xml \
|
|
en-ZA/META-INF/manifest.xml \
|
|
en-ZA/SentenceExceptList.xml \
|
|
en-ZA/WordExceptList.xml \
|
|
es/DocumentList.xml \
|
|
es/META-INF/manifest.xml \
|
|
es/SentenceExceptList.xml \
|
|
es/WordExceptList.xml \
|
|
fa/DocumentList.xml \
|
|
fa/META-INF/manifest.xml \
|
|
fi/DocumentList.xml \
|
|
fi/META-INF/manifest.xml \
|
|
fi/SentenceExceptList.xml \
|
|
fi/WordExceptList.xml \
|
|
fr/DocumentList.xml \
|
|
fr/META-INF/manifest.xml \
|
|
fr/SentenceExceptList.xml \
|
|
fr/WordExceptList.xml \
|
|
ga-IE/DocumentList.xml \
|
|
ga-IE/META-INF/manifest.xml \
|
|
ga-IE/SentenceExceptList.xml \
|
|
ga-IE/WordExceptList.xml \
|
|
hr/DocumentList.xml \
|
|
hr/META-INF/manifest.xml \
|
|
hr/SentenceExceptList.xml \
|
|
hr/WordExceptList.xml \
|
|
hsb/DocumentList.xml \
|
|
hsb/META-INF/manifest.xml \
|
|
hu/DocumentList.xml \
|
|
hu/META-INF/manifest.xml \
|
|
hu/SentenceExceptList.xml \
|
|
hu/WordExceptList.xml \
|
|
is/DocumentList.xml \
|
|
is/META-INF/manifest.xml \
|
|
is/SentenceExceptList.xml \
|
|
it/DocumentList.xml \
|
|
it/META-INF/manifest.xml \
|
|
it/SentenceExceptList.xml \
|
|
it/WordExceptList.xml \
|
|
ja/DocumentList.xml \
|
|
ja/META-INF/manifest.xml \
|
|
ja/SentenceExceptList.xml \
|
|
ko/DocumentList.xml \
|
|
ko/META-INF/manifest.xml \
|
|
ko/SentenceExceptList.xml \
|
|
lb-LU/DocumentList.xml \
|
|
lb-LU/META-INF/manifest.xml \
|
|
lt/DocumentList.xml \
|
|
lt/META-INF/manifest.xml \
|
|
lt/SentenceExceptList.xml \
|
|
lt/WordExceptList.xml \
|
|
mn/DocumentList.xml \
|
|
mn/META-INF/manifest.xml \
|
|
mn/SentenceExceptList.xml \
|
|
mn/WordExceptList.xml \
|
|
nl-BE/DocumentList.xml \
|
|
nl-BE/META-INF/manifest.xml \
|
|
nl-BE/SentenceExceptList.xml \
|
|
nl-BE/WordExceptList.xml \
|
|
nl/DocumentList.xml \
|
|
nl/META-INF/manifest.xml \
|
|
nl/SentenceExceptList.xml \
|
|
nl/WordExceptList.xml \
|
|
pl/DocumentList.xml \
|
|
pl/META-INF/manifest.xml \
|
|
pl/SentenceExceptList.xml \
|
|
pl/WordExceptList.xml \
|
|
pt-BR/DocumentList.xml \
|
|
pt-BR/META-INF/manifest.xml \
|
|
pt-BR/SentenceExceptList.xml \
|
|
pt-BR/WordExceptList.xml \
|
|
pt/DocumentList.xml \
|
|
pt/META-INF/manifest.xml \
|
|
pt/SentenceExceptList.xml \
|
|
pt/WordExceptList.xml \
|
|
ro/DocumentList.xml \
|
|
ro/META-INF/manifest.xml \
|
|
ro/SentenceExceptList.xml \
|
|
ro/WordExceptList.xml \
|
|
ru/DocumentList.xml \
|
|
ru/META-INF/manifest.xml \
|
|
ru/SentenceExceptList.xml \
|
|
ru/WordExceptList.xml \
|
|
sk/DocumentList.xml \
|
|
sk/META-INF/manifest.xml \
|
|
sk/SentenceExceptList.xml \
|
|
sk/WordExceptList.xml \
|
|
sl/DocumentList.xml \
|
|
sl/META-INF/manifest.xml \
|
|
sl/SentenceExceptList.xml \
|
|
sl/WordExceptList.xml \
|
|
sr-CS/DocumentList.xml \
|
|
sr-CS/META-INF/manifest.xml \
|
|
sr-CS/SentenceExceptList.xml \
|
|
sr-CS/WordExceptList.xml \
|
|
sr-Latn-CS/DocumentList.xml \
|
|
sr-Latn-CS/META-INF/manifest.xml \
|
|
sr-Latn-CS/SentenceExceptList.xml \
|
|
sr-Latn-CS/WordExceptList.xml \
|
|
sr-Latn-ME/DocumentList.xml \
|
|
sr-Latn-ME/META-INF/manifest.xml \
|
|
sr-Latn-ME/SentenceExceptList.xml \
|
|
sr-Latn-ME/WordExceptList.xml \
|
|
sr-Latn-RS/DocumentList.xml \
|
|
sr-Latn-RS/META-INF/manifest.xml \
|
|
sr-Latn-RS/SentenceExceptList.xml \
|
|
sr-Latn-RS/WordExceptList.xml \
|
|
sr-ME/DocumentList.xml \
|
|
sr-ME/META-INF/manifest.xml \
|
|
sr-ME/SentenceExceptList.xml \
|
|
sr-ME/WordExceptList.xml \
|
|
sr-RS/DocumentList.xml \
|
|
sr-RS/META-INF/manifest.xml \
|
|
sr-RS/SentenceExceptList.xml \
|
|
sr-RS/WordExceptList.xml \
|
|
sv/DocumentList.xml \
|
|
sv/META-INF/manifest.xml \
|
|
sv/SentenceExceptList.xml \
|
|
sv/WordExceptList.xml \
|
|
th/DocumentList.xml \
|
|
th/META-INF/manifest.xml \
|
|
tr/DocumentList.xml \
|
|
tr/META-INF/manifest.xml \
|
|
tr/SentenceExceptList.xml \
|
|
tr/WordExceptList.xml \
|
|
vi/DocumentList.xml \
|
|
vi/META-INF/manifest.xml \
|
|
vi/WordExceptList.xml \
|
|
vro/DocumentList.xml \
|
|
vro/META-INF/manifest.xml \
|
|
zh-CN/DocumentList.xml \
|
|
zh-CN/META-INF/manifest.xml \
|
|
zh-CN/SentenceExceptList.xml \
|
|
zh-TW/DocumentList.xml \
|
|
zh-TW/META-INF/manifest.xml \
|
|
zh-TW/SentenceExceptList.xml \
|
|
|
|
# param: shortlang
|
|
extras_AUTOCORR_XMLFILES_LANG = $(subst $(1)/,,$(filter $(1)/%,$(extras_AUTOCORR_XMLFILES)))
|
|
|
|
$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/%/mimetype : \
|
|
| $(dir $(call gb_CustomTarget_get_workdir,extras/source/autocorr)/%/mimetype).dir
|
|
$(call gb_Output_announce,autocorr/$*/mimetype,$(true),TCH,1)
|
|
$(call gb_Trace_StartRange,autocorr/$*/mimetype,TCH)
|
|
touch $@
|
|
$(call gb_Trace_EndRange,autocorr/$*/mimetype,TCH)
|
|
|
|
.SECONDEXPANSION:
|
|
# secondexpansion since the pattern not just covers a file, but also a directory portion with
|
|
# different number of elements (just the lang or lang/META-INF) and thus the directory dependency
|
|
# needs the stem of the actual target to work as intended
|
|
$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/%.xml : $(SRCDIR)/extras/source/autocorr/lang/%.xml \
|
|
| $(call gb_ExternalExecutable_get_dependencies,xsltproc) \
|
|
$$(dir $(call gb_CustomTarget_get_workdir,extras/source/autocorr)/$$*.xml).dir
|
|
$(call gb_Output_announce,autocorr/$*.xml,$(true),XSL,1)
|
|
$(call gb_Trace_StartRange,autocorr/$*.xml,XSL)
|
|
$(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $@ $(SRCDIR)/extras/util/compact.xsl $<
|
|
$(call gb_Trace_EndRange,autocorr/$*.xml,XSL)
|
|
|
|
# secondexpansion necessary since the .dat are created with longlang form, while the other files
|
|
# are created in the shortlang directory, and thus % cannot be used verbatim, the second expansion
|
|
# allows the actual stem from the target to be used in the macro calls
|
|
# there's no reason for the different directories though, so a janitorial cleanup would be
|
|
# TODO: get rid of the shortform:longform language names when assembling the autocorr files
|
|
$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/acor_%.dat : \
|
|
$$(addprefix \
|
|
$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/$$(call extras_AUTOCORR_SHORTLANG,$$*)/,\
|
|
mimetype \
|
|
$$(call extras_AUTOCORR_XMLFILES_LANG,$$(call extras_AUTOCORR_SHORTLANG,$$*))) \
|
|
| $(call gb_ExternalExecutable_get_dependencies,python)
|
|
$(call gb_Output_announce,autocorr/acor_$*.dat,$(true),ZIP,2)
|
|
$(call gb_Trace_StartRange,autocorr/acor_$*.dat,ZIP)
|
|
$(call gb_Helper_abbreviate_dirs,\
|
|
cd $(dir $<) && \
|
|
$(autocorr_PYTHONCOMMAND) $(SRCDIR)/bin/check-autocorr.py DocumentList.xml && \
|
|
zip -q0X --filesync --must-match $@ mimetype && \
|
|
zip -qrX --must-match $@ $(call extras_AUTOCORR_XMLFILES_LANG,$(call extras_AUTOCORR_SHORTLANG,$*)) \
|
|
)
|
|
$(call gb_Trace_EndRange,autocorr/acor_$*.dat,ZIP)
|
|
|
|
# vim: set noet sw=4 ts=4:
|