## Include this file in top-level srcdir to compile FSTs ## Copyright: Sámediggi/Divvun/UiT ## Licence: GPL v3+ # Include file for building fst's for alternative orthographies ####### Automake targets: ######## # IFF alternative orthographies are defined: if HAVE_ALT_ORTHS # Define temporary variables to build final target filenames from: BASENAME_ANALYSERS_ORTH=$(sort $(basename $(GT_ANALYSERS))) ALT_ORTH_ANALYSERS_TMP=$(shell for ll in $(BASENAME_ANALYSERS_ORTH); do\ for ld in $(ALT_ORTHS); do\ echo "$$ll.$$ld" ;\ done ;\ done) BASENAME_GENERATORS_ORTH=$(sort $(basename $(GT_GENERATORS))) ALT_ORTH_GENERATORS_TMP=$(shell for ll in $(BASENAME_GENERATORS_ORTH); do\ for ld in $(ALT_ORTHS); do\ echo "$$ll.$$ld" ;\ done ;\ done) # Define variables before adding value: ALT_ORTH_ANALYSERS= ALT_ORTH_GENERATORS= ##### BEGIN Hfst target list ##### if CAN_HFST if WANT_MORPHOLOGY ALT_ORTH_ANALYSERS+=$(addsuffix .hfstol,$(ALT_ORTH_ANALYSERS_TMP)) endif # WANT_MORPHOLOGY if WANT_GENERATION ALT_ORTH_GENERATORS+=$(addsuffix .hfstol,$(ALT_ORTH_GENERATORS_TMP)) endif # WANT_GENERATION endif # CAN_HFST ##### END Hfst target list ##### ##### BEGIN Xerox target list ##### if CAN_XFST if WANT_MORPHOLOGY ALT_ORTH_ANALYSERS+=$(addsuffix .xfst,$(ALT_ORTH_ANALYSERS_TMP)) endif # WANT_MORPHOLOGY if WANT_GENERATION ALT_ORTH_GENERATORS+=$(addsuffix .xfst,$(ALT_ORTH_GENERATORS_TMP)) endif # WANT_GENERATION endif # CAN_XFST ##### END Xerox target list ##### ##### BEGIN Foma target list ##### if CAN_FOMA if WANT_MORPHOLOGY ALT_ORTH_ANALYSERS+=$(addsuffix .foma,$(ALT_ORTH_ANALYSERS_TMP)) endif # WANT_MORPHOLOGY if WANT_GENERATION ALT_ORTH_GENERATORS+=$(addsuffix .foma,$(ALT_ORTH_GENERATORS_TMP)) endif # WANT_GENERATION endif # CAN_FOMA ##### END Foma target list ##### endif # HAVE_ALT_ORTHS ####### Build rules for the default set of fst's for ######## ####### alternate writing systems: ######## define alt_orth_desc_analysers analyser-gt-desc.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-number-string-tags.% \ filters/remove-usage-tags.% \ filters/remove-semantic-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ orthography/spellrelax.$(1).compose.% \ orthography/$(DEFAULT_ORTH)-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-semantic-tags.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$(1).compose.$$*\" \ .o. @\"orthography/spellrelax.$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) analyser-gt-desc.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-number-string-tags.% \ filters/remove-usage-tags.% \ filters/remove-semantic-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ orthography/spellrelax.$(1).compose.% \ orthography/raw-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-semantic-tags.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/raw-to-$(1).compose.$$*\" \ .o. @\"orthography/spellrelax.$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) endef $(foreach alt_orth,$(ALT_ORTHS),$(eval $(call alt_orth_desc_analysers,$(alt_orth)))) define alt_orth_norm_analysers analyser-gt-norm.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-variant-tags.% \ filters/remove-number-string-tags.% \ filters/remove-usage-tags.% \ filters/remove-error-strings.% \ filters/remove-semantic-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ orthography/$(DEFAULT_ORTH)-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-variant-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-semantic-tags.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"filters/remove-error-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) analyser-gt-norm.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-variant-tags.% \ filters/remove-number-string-tags.% \ filters/remove-usage-tags.% \ filters/remove-error-strings.% \ filters/remove-semantic-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ orthography/raw-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-variant-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-semantic-tags.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"filters/remove-error-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/raw-to-$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) endef $(foreach alt_orth,$(ALT_ORTHS),$(eval $(call alt_orth_norm_analysers,$(alt_orth)))) define alt_orth_desc_generators generator-gt-desc.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/make-optional-transitivity-tags.% \ filters/make-optional-homonymy-tags.% \ filters/make-optional-hyph-tags.% \ filters/make-optional-variant-tags.% \ filters/make-optional-semantic-tags.% \ filters/make-optional-error-tags.% \ filters/make-optional-adv_comp-tags.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-number-string-tags.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ filters/remove-usage-tags.% \ orthography/$(DEFAULT_ORTH)-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.$$*\" \ .o. @\"filters/make-optional-homonymy-tags.$$*\" \ .o. @\"filters/make-optional-hyph-tags.$$*\" \ .o. @\"filters/make-optional-variant-tags.$$*\" \ .o. @\"filters/make-optional-semantic-tags.$$*\" \ .o. @\"filters/make-optional-error-tags.$$*\" \ .o. @\"filters/make-optional-adv_comp-tags.$$*\" \ .o. @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) generator-gt-desc.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/make-optional-transitivity-tags.% \ filters/make-optional-homonymy-tags.% \ filters/make-optional-hyph-tags.% \ filters/make-optional-variant-tags.% \ filters/make-optional-semantic-tags.% \ filters/make-optional-error-tags.% \ filters/make-optional-adv_comp-tags.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-number-string-tags.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ filters/remove-usage-tags.% \ orthography/raw-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.$$*\" \ .o. @\"filters/make-optional-homonymy-tags.$$*\" \ .o. @\"filters/make-optional-hyph-tags.$$*\" \ .o. @\"filters/make-optional-variant-tags.$$*\" \ .o. @\"filters/make-optional-semantic-tags.$$*\" \ .o. @\"filters/make-optional-error-tags.$$*\" \ .o. @\"filters/make-optional-adv_comp-tags.$$*\" \ .o. @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/raw-to-$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) endef $(foreach alt_orth,$(ALT_ORTHS),$(eval $(call alt_orth_desc_generators,$(alt_orth)))) define alt_orth_norm_generators generator-gt-norm.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/make-optional-transitivity-tags.% \ filters/make-optional-homonymy-tags.% \ filters/make-optional-hyph-tags.% \ filters/make-optional-variant-tags.% \ filters/make-optional-semantic-tags.% \ filters/make-optional-adv_comp-tags.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-number-string-tags.% \ filters/remove-usage-tags.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ filters/remove-error-strings.% \ orthography/$(DEFAULT_ORTH)-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.$$*\" \ .o. @\"filters/make-optional-homonymy-tags.$$*\" \ .o. @\"filters/make-optional-hyph-tags.$$*\" \ .o. @\"filters/make-optional-variant-tags.$$*\" \ .o. @\"filters/make-optional-semantic-tags.$$*\" \ .o. @\"filters/make-optional-adv_comp-tags.$$*\" \ .o. @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-error-strings.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/$(DEFAULT_ORTH)-to-$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) generator-gt-norm.$(1).tmp.%: analyser-raw-gt-desc.% \ filters/make-optional-transitivity-tags.% \ filters/make-optional-homonymy-tags.% \ filters/make-optional-hyph-tags.% \ filters/make-optional-variant-tags.% \ filters/make-optional-semantic-tags.% \ filters/make-optional-adv_comp-tags.% \ filters/remove-area-tags.% \ filters/remove-dialect-tags.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ filters/remove-number-string-tags.% \ filters/remove-usage-tags.% \ filters/remove-orthography-tags.% \ filters/remove-Orth_IPA-strings.% \ filters/remove-orig_lang-tags.% \ filters/remove-error-strings.% \ orthography/raw-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ @\"filters/make-optional-transitivity-tags.$$*\" \ .o. @\"filters/make-optional-homonymy-tags.$$*\" \ .o. @\"filters/make-optional-hyph-tags.$$*\" \ .o. @\"filters/make-optional-variant-tags.$$*\" \ .o. @\"filters/make-optional-semantic-tags.$$*\" \ .o. @\"filters/make-optional-adv_comp-tags.$$*\" \ .o. @\"filters/remove-area-tags.$$*\" \ .o. @\"filters/remove-dialect-tags.$$*\" \ .o. @\"filters/remove-number-string-tags.$$*\" \ .o. @\"filters/remove-usage-tags.$$*\" \ .o. @\"filters/remove-error-strings.$$*\" \ .o. @\"filters/remove-orig_lang-tags.$$*\" \ .o. @\"filters/remove-orthography-tags.$$*\" \ .o. @\"filters/remove-Orth_IPA-strings.$$*\" \ .o. @\"$$<\" \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" \ .o. @\"orthography/raw-to-$(1).compose.$$*\" \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) endef $(foreach alt_orth,$(ALT_ORTHS),$(eval $(call alt_orth_norm_generators,$(alt_orth)))) # morpher is a morph segmenting variant: taloautoissani -> talo#auto>i>ssa>ni define alt_orth_morphers morpher-gt-desc.$(1).tmp.%: analyser-raw-gt-desc.% \ orthography/inituppercase.compose.% \ orthography/spellrelax.compose.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ orthography/$$(DEFAULT_ORTH)-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ [ [@\"$$<\" \ .o. @\"orthography/$$(DEFAULT_ORTH)-to-$(1).compose.$$*\" \ .o. @\"orthography/inituppercase.compose.$$*\" \ .o. @\"orthography/spellrelax.compose.$$*\" ].l \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" ] \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) morpher-gt-desc.$(1).tmp.%: analyser-raw-gt-desc.% \ orthography/inituppercase.compose.% \ orthography/spellrelax.compose.% \ filters/remove-hyphenation-marks.% \ filters/remove-infl_deriv-borders.% \ filters/remove-word-boundary.% \ orthography/raw-to-$(1).compose.% $$(AM_V_XFST_TOOL)$$(PRINTF) "read regex \ [ [@\"$$<\" \ .o. @\"orthography/raw-to-$(1).compose.$$*\" \ .o. @\"orthography/inituppercase.compose.$$*\" \ .o. @\"orthography/spellrelax.compose.$$*\" ].l \ .o. @\"filters/remove-hyphenation-marks.$$*\" \ .o. @\"filters/remove-infl_deriv-borders.$$*\" \ .o. @\"filters/remove-word-boundary.$$*\" ] \ ;\n\ save stack $$@\n\ quit\n" | $$(XFST_TOOL) endef $(foreach alt_orth,$(ALT_ORTHS),$(eval $(call alt_orth_morphers,$(alt_orth))))