1# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- 2# 3# This file is part of the LibreOffice project. 4# 5# This Source Code Form is subject to the terms of the Mozilla Public 6# License, v. 2.0. If a copy of the MPL was not distributed with this 7# file, You can obtain one at http://mozilla.org/MPL/2.0/. 8# 9 10$(eval $(call gb_CustomTarget_CustomTarget,extras/source/autocorr)) 11 12extras_AUTOCORR_LANGS := \ 13 af-ZA:af-ZA \ 14 bg:bg-BG \ 15 ca:ca-ES \ 16 cs:cs-CZ \ 17 da:da-DK \ 18 de:de \ 19 dsb:dsb \ 20 el:el-GR \ 21 en-AU:en-AU \ 22 en-GB:en-GB \ 23 en-US:en-US \ 24 en-ZA:en-ZA \ 25 es:es \ 26 fa:fa-IR \ 27 fi:fi-FI \ 28 fr:fr \ 29 ga-IE:ga-IE \ 30 hr:hr-HR \ 31 hsb:hsb \ 32 hu:hu-HU \ 33 is:is-IS \ 34 it:it \ 35 ja:ja-JP \ 36 ko:ko-KR \ 37 lb-LU:lb-LU \ 38 lt:lt-LT \ 39 mn:mn-MN \ 40 nl:nl-NL \ 41 nl-BE:nl-BE \ 42 pl:pl-PL \ 43 pt:pt-PT \ 44 pt-BR:pt-BR \ 45 ro:ro-RO \ 46 ru:ru-RU \ 47 sk:sk-SK \ 48 sl:sl-SI \ 49 sr-CS:sr-CS \ 50 sr-Latn-CS:sr-Latn-CS \ 51 sr-Latn-ME:sr-Latn-ME \ 52 sr-Latn-RS:sr-Latn-RS \ 53 sr-ME:sr-ME \ 54 sr-RS:sr-RS \ 55 sv:sv-SE \ 56 tr:tr-TR \ 57 vi:vi-VN \ 58 zh-CN:zh-CN \ 59 zh-TW:zh-TW \ 60 61extras_AUTOCORR_XMLFILES := \ 62 af-ZA/DocumentList.xml \ 63 af-ZA/META-INF/manifest.xml \ 64 af-ZA/SentenceExceptList.xml \ 65 af-ZA/WordExceptList.xml \ 66 bg/DocumentList.xml \ 67 bg/META-INF/manifest.xml \ 68 bg/SentenceExceptList.xml \ 69 bg/WordExceptList.xml \ 70 ca/DocumentList.xml \ 71 ca/META-INF/manifest.xml \ 72 ca/SentenceExceptList.xml \ 73 ca/WordExceptList.xml \ 74 cs/DocumentList.xml \ 75 cs/META-INF/manifest.xml \ 76 da/DocumentList.xml \ 77 da/META-INF/manifest.xml \ 78 da/SentenceExceptList.xml \ 79 da/WordExceptList.xml \ 80 de/DocumentList.xml \ 81 de/META-INF/manifest.xml \ 82 de/SentenceExceptList.xml \ 83 de/WordExceptList.xml \ 84 dsb/DocumentList.xml \ 85 dsb/META-INF/manifest.xml \ 86 el/DocumentList.xml \ 87 el/META-INF/manifest.xml \ 88 el/SentenceExceptList.xml \ 89 el/WordExceptList.xml \ 90 en-AU/DocumentList.xml \ 91 en-AU/META-INF/manifest.xml \ 92 en-AU/SentenceExceptList.xml \ 93 en-AU/WordExceptList.xml \ 94 en-GB/DocumentList.xml \ 95 en-GB/META-INF/manifest.xml \ 96 en-GB/SentenceExceptList.xml \ 97 en-GB/WordExceptList.xml \ 98 en-US/DocumentList.xml \ 99 en-US/META-INF/manifest.xml \ 100 en-US/SentenceExceptList.xml \ 101 en-US/WordExceptList.xml \ 102 en-ZA/DocumentList.xml \ 103 en-ZA/META-INF/manifest.xml \ 104 en-ZA/SentenceExceptList.xml \ 105 en-ZA/WordExceptList.xml \ 106 es/DocumentList.xml \ 107 es/META-INF/manifest.xml \ 108 es/SentenceExceptList.xml \ 109 es/WordExceptList.xml \ 110 fa/DocumentList.xml \ 111 fa/META-INF/manifest.xml \ 112 fi/DocumentList.xml \ 113 fi/META-INF/manifest.xml \ 114 fi/SentenceExceptList.xml \ 115 fi/WordExceptList.xml \ 116 fr/DocumentList.xml \ 117 fr/META-INF/manifest.xml \ 118 fr/SentenceExceptList.xml \ 119 fr/WordExceptList.xml \ 120 ga-IE/DocumentList.xml \ 121 ga-IE/META-INF/manifest.xml \ 122 ga-IE/SentenceExceptList.xml \ 123 ga-IE/WordExceptList.xml \ 124 hr/DocumentList.xml \ 125 hr/META-INF/manifest.xml \ 126 hr/SentenceExceptList.xml \ 127 hr/WordExceptList.xml \ 128 hsb/DocumentList.xml \ 129 hsb/META-INF/manifest.xml \ 130 hu/DocumentList.xml \ 131 hu/META-INF/manifest.xml \ 132 hu/SentenceExceptList.xml \ 133 hu/WordExceptList.xml \ 134 is/META-INF/manifest.xml \ 135 is/SentenceExceptList.xml \ 136 it/DocumentList.xml \ 137 it/META-INF/manifest.xml \ 138 it/SentenceExceptList.xml \ 139 it/WordExceptList.xml \ 140 ja/DocumentList.xml \ 141 ja/META-INF/manifest.xml \ 142 ja/SentenceExceptList.xml \ 143 ko/DocumentList.xml \ 144 ko/META-INF/manifest.xml \ 145 ko/SentenceExceptList.xml \ 146 lb-LU/DocumentList.xml \ 147 lb-LU/META-INF/manifest.xml \ 148 lt/DocumentList.xml \ 149 lt/META-INF/manifest.xml \ 150 lt/SentenceExceptList.xml \ 151 lt/WordExceptList.xml \ 152 mn/DocumentList.xml \ 153 mn/META-INF/manifest.xml \ 154 mn/SentenceExceptList.xml \ 155 mn/WordExceptList.xml \ 156 nl-BE/DocumentList.xml \ 157 nl-BE/META-INF/manifest.xml \ 158 nl-BE/SentenceExceptList.xml \ 159 nl-BE/WordExceptList.xml \ 160 nl/DocumentList.xml \ 161 nl/META-INF/manifest.xml \ 162 nl/SentenceExceptList.xml \ 163 nl/WordExceptList.xml \ 164 pl/DocumentList.xml \ 165 pl/META-INF/manifest.xml \ 166 pl/SentenceExceptList.xml \ 167 pl/WordExceptList.xml \ 168 pt-BR/DocumentList.xml \ 169 pt-BR/META-INF/manifest.xml \ 170 pt-BR/SentenceExceptList.xml \ 171 pt-BR/WordExceptList.xml \ 172 pt/DocumentList.xml \ 173 pt/META-INF/manifest.xml \ 174 pt/SentenceExceptList.xml \ 175 pt/WordExceptList.xml \ 176 ro/DocumentList.xml \ 177 ro/META-INF/manifest.xml \ 178 ro/SentenceExceptList.xml \ 179 ro/WordExceptList.xml \ 180 ru/DocumentList.xml \ 181 ru/META-INF/manifest.xml \ 182 ru/SentenceExceptList.xml \ 183 ru/WordExceptList.xml \ 184 sk/DocumentList.xml \ 185 sk/META-INF/manifest.xml \ 186 sk/SentenceExceptList.xml \ 187 sk/WordExceptList.xml \ 188 sl/DocumentList.xml \ 189 sl/META-INF/manifest.xml \ 190 sl/SentenceExceptList.xml \ 191 sl/WordExceptList.xml \ 192 sr-CS/DocumentList.xml \ 193 sr-CS/META-INF/manifest.xml \ 194 sr-CS/SentenceExceptList.xml \ 195 sr-CS/WordExceptList.xml \ 196 sr-Latn-CS/DocumentList.xml \ 197 sr-Latn-CS/META-INF/manifest.xml \ 198 sr-Latn-CS/SentenceExceptList.xml \ 199 sr-Latn-CS/WordExceptList.xml \ 200 sr-Latn-ME/DocumentList.xml \ 201 sr-Latn-ME/META-INF/manifest.xml \ 202 sr-Latn-ME/SentenceExceptList.xml \ 203 sr-Latn-ME/WordExceptList.xml \ 204 sr-Latn-RS/DocumentList.xml \ 205 sr-Latn-RS/META-INF/manifest.xml \ 206 sr-Latn-RS/SentenceExceptList.xml \ 207 sr-Latn-RS/WordExceptList.xml \ 208 sr-ME/DocumentList.xml \ 209 sr-ME/META-INF/manifest.xml \ 210 sr-ME/SentenceExceptList.xml \ 211 sr-ME/WordExceptList.xml \ 212 sr-RS/DocumentList.xml \ 213 sr-RS/META-INF/manifest.xml \ 214 sr-RS/SentenceExceptList.xml \ 215 sr-RS/WordExceptList.xml \ 216 sv/DocumentList.xml \ 217 sv/META-INF/manifest.xml \ 218 sv/SentenceExceptList.xml \ 219 sv/WordExceptList.xml \ 220 tr/DocumentList.xml \ 221 tr/META-INF/manifest.xml \ 222 tr/SentenceExceptList.xml \ 223 tr/WordExceptList.xml \ 224 vi/DocumentList.xml \ 225 vi/META-INF/manifest.xml \ 226 vi/WordExceptList.xml \ 227 zh-CN/DocumentList.xml \ 228 zh-CN/META-INF/manifest.xml \ 229 zh-CN/SentenceExceptList.xml \ 230 zh-TW/DocumentList.xml \ 231 zh-TW/META-INF/manifest.xml \ 232 zh-TW/SentenceExceptList.xml \ 233 234 235extras_AUTOCORR_MIMETYPEFILES := $(foreach lang,$(extras_AUTOCORR_LANGS),$(firstword $(subst :, ,$(lang)))/mimetype) 236 237 238$(call gb_CustomTarget_get_target,extras/source/autocorr) : \ 239 $(foreach lang,$(extras_AUTOCORR_LANGS),$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/acor_$(lastword $(subst :, ,$(lang))).dat) 240 241$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/%/mimetype : $(SRCDIR)/extras/source/autocorr/lang/%/mimetype 242 $(call gb_Output_announce,autocorr/$*/mimetype,$(true),CPY,1) 243 cp $< $@ 244 245$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/%.xml : $(SRCDIR)/extras/source/autocorr/lang/%.xml \ 246 | $(call gb_ExternalExecutable_get_dependencies,xsltproc) 247 $(call gb_Output_announce,autocorr/$*.xml,$(true),XSL,1) 248 $(call gb_ExternalExecutable_get_command,xsltproc) --nonet -o $@ $(SRCDIR)/extras/util/compact.xsl $< 249 250$(call gb_CustomTarget_get_workdir,extras/source/autocorr)/%.dat : 251 $(call gb_Output_announce,autocorr/$*.dat,$(true),ZIP,2) 252 $(call gb_Helper_abbreviate_dirs,\ 253 cd $(EXTRAS_AUTOCORR_DIR) && \ 254 zip -q0X --filesync --must-match $@ $(EXTRAS_AUTOCORR_MIMEFILES_FILTER) && \ 255 zip -qrX --must-match $@ $(EXTRAS_AUTOCORR_XMLFILES_FILTER) \ 256 ) 257 258define extras_Autocorr_make_file_deps 259$(call gb_CustomTarget_get_workdir,$(1))/$(2) : $(SRCDIR)/$(1)/lang/$(2) \ 260 | $(dir $(call gb_CustomTarget_get_workdir,$(1))/$(2)).dir 261 262endef 263 264define extras_Autocorr_make_zip_deps 265$(call gb_CustomTarget_get_workdir,$(1))/$(2) : \ 266 $(addprefix $(call gb_CustomTarget_get_workdir,$(1))/,$(filter $(3)/%,$(extras_AUTOCORR_MIMETYPEFILES) $(extras_AUTOCORR_XMLFILES))) \ 267 | $(dir $(call gb_CustomTarget_get_workdir,$(1))/$(2)).dir 268 269$(call gb_CustomTarget_get_workdir,$(1))/$(2) : \ 270 EXTRAS_AUTOCORR_MIMEFILES_FILTER := $(foreach file,$(filter $(3)/%,$(extras_AUTOCORR_MIMETYPEFILES)),$(subst $(3)/,,$(file))) 271$(call gb_CustomTarget_get_workdir,$(1))/$(2) : \ 272 EXTRAS_AUTOCORR_XMLFILES_FILTER := $(foreach file,$(filter $(3)/%,$(extras_AUTOCORR_XMLFILES)),$(subst $(3)/,,$(file))) 273$(call gb_CustomTarget_get_workdir,$(1))/$(2) : \ 274 EXTRAS_AUTOCORR_DIR := $(call gb_CustomTarget_get_workdir,$(1))/$(3) 275 276endef 277 278$(eval $(foreach file,$(extras_AUTOCORR_MIMETYPEFILES) $(extras_AUTOCORR_XMLFILES),\ 279 $(call extras_Autocorr_make_file_deps,extras/source/autocorr,$(file)) \ 280)) 281 282$(eval $(foreach lang,$(extras_AUTOCORR_LANGS),\ 283 $(call extras_Autocorr_make_zip_deps,extras/source/autocorr,acor_$(lastword $(subst :, ,$(lang))).dat,$(firstword $(subst :, ,$(lang)))) \ 284)) 285 286# vim: set noet sw=4 ts=4: 287