609 lines
17 KiB
Makefile
609 lines
17 KiB
Makefile
# -*- Makefile -*-
|
||
|
||
ROOT_DICT = ../public/dict
|
||
OBJ_DIR = obj
|
||
|
||
# 0MB < dictionary size < 10MB
|
||
SMALL = br ca cy da de en es fr ga hr hy is lv nl no pt sv
|
||
# 10MB < Dictionary size < 50MB
|
||
LARGE = bg el eo it pl ro ru sk sl uk
|
||
# 50MB < dictionary size < 500MB
|
||
VERY_LARGE = ar cs et fi
|
||
LANGS ?= $(SMALL) $(LARGE)
|
||
|
||
|
||
DICT_RULE_PRELUDE = sortuniq() { cat > "$$1"; sort -u -o "$$1" "$$1"; }; \
|
||
echo Building $@ from $<
|
||
|
||
# he and hu: can not be generated
|
||
# af eu la ms tr xk: no aspell dictionary
|
||
|
||
ASPDICT = https://ftp.gnu.org/gnu/aspell/dict/0index.html
|
||
|
||
LOWS = $(addsuffix .low,$(LANGS))
|
||
|
||
DICTS = $(addsuffix .dict,$(LANGS))
|
||
|
||
#DEPEND = Makefile
|
||
#MAKEFLAGS = -s
|
||
|
||
.PHONY: all required count clean low list
|
||
|
||
all: required
|
||
make $(addprefix check-,$(LANGS))
|
||
make list
|
||
|
||
$(ROOT_DICT):
|
||
mkdir $(ROOT_DICT)
|
||
|
||
$(OBJ_DIR):
|
||
mkdir $(OBJ_DIR)
|
||
|
||
count:
|
||
wc -l $(ROOT_DICT)/*
|
||
|
||
low: $(LOWS)
|
||
|
||
required: ${OBJ_DIR} ${OBJ_DIR}/src.mk ${ROOT_DICT}
|
||
|
||
list: $(ROOT_DICT)/list.js
|
||
|
||
$(ROOT_DICT)/list.js: $(wildcard $(ROOT_DICT)/*.dict)
|
||
ls -s ${ROOT_DICT}/*.dict| \
|
||
awk 'BEGIN { printf "window.DictionaryList = {\n" } \
|
||
{ $$0 = gensub(/(.+) .*\/(.+)\.dict/, "\\1 \\2", "g"); \
|
||
printf "\"%s\": %d,\n", $$2, $$1 } \
|
||
END { printf "\"none\": 0\n};" }' > $@
|
||
|
||
$(OBJ_DIR)/src.mk:
|
||
echo Creation language table
|
||
wget $(ASPDICT) -q -O - | \
|
||
awk 'BEGIN { base="'`dirname $(ASPDICT)`'" } \
|
||
/<tr><td><a/ { $$0 = gensub(/.*"(.+)".*"(.+)\/(.+)".*/, "\\1 \\2 \\3", "g"); \
|
||
printf "${OBJ_DIR}/%s.dir: $(OBJ_DIR)/%s\n\n", $$1, $$3; \
|
||
printf "${OBJ_DIR}/%s:\n", $$3; \
|
||
printf "\techo Downloading %s dictionary source\n", $$1; \
|
||
printf "\twget -q %s/%s/%s -O $$@\n\n", base, $$2, $$3 } \
|
||
/<\/table>/ { exit }' > $@
|
||
|
||
include $(wildcard ${OBJ_DIR}/src.mk)
|
||
|
||
%.dir:
|
||
echo Installing $@ dictionary
|
||
cd "$$(dirname "$@")" && \
|
||
tar -xjf "$$(basename "$<")" && \
|
||
cd "$$(basename "$(<:.tar.bz2=)")" && \
|
||
./configure && \
|
||
make && \
|
||
cd .. && \
|
||
mv "$$(basename "$<" .tar.bz2)" "$$(basename "$@")"
|
||
|
||
%.low: %.dir
|
||
@echo "Building list of word $@"
|
||
export DICT_NAME="$$(basename "$<" ".dir")"; \
|
||
aspell --dict-dir="$$(realpath $<)" -d "$$DICT_NAME" dump master "$$DICT_NAME" | \
|
||
aspell --dict-dir="$$(realpath $<)" -l "$$DICT_NAME" expand | \
|
||
tr -s '[:space:]' '\n' > "$@~" && \
|
||
LC_ALL=C sort -S28G -u -o "$@~" "$@~" && \
|
||
mv "$@~" "$@"
|
||
|
||
$(OBJ_DIR)/no.low:
|
||
make $(OBJ_DIR)/nb.low
|
||
mv $(OBJ_DIR)/nb.low $@
|
||
|
||
$(OBJ_DIR)/pt.low:
|
||
make $(OBJ_DIR)/pt_PT.low
|
||
mv $(OBJ_DIR)/pt_PT.low $@
|
||
|
||
$(ROOT_DICT)/ar.dict: $(OBJ_DIR)/ar.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[ﺏِ ]/ب/g' \
|
||
-e 's/[ﻍُ]/غ/g' \
|
||
-e 's/[ﻙ ]/ل/g' \
|
||
-e 's/[ﻡَ]/م/g' \
|
||
-e 's/[ﻥَ]/ن/g' \
|
||
-e 's/[ﻱَﻳّ]/ي/g' | \
|
||
sortuniq "$@"
|
||
# ا ل ن ش ا ش ي بِ ي ي ب ا ل ن ش ا ش ي بِ ي ي ب ن ش ا ش ي بِ ي ي ف ا ل ن ش ا ش ي بِ ي ي ف ب ا ل ن ش ا ش ي بِ ي ي ف ب ن ش ا ش ي بِ ي ي ف ك ا ل ن ش ا ش ي بِ ي ي ف ك ن ش ا ش ي بِ ي ي ف ل ل ن ش ا ش ي بِ ي ي ف ل ن ش ا ش ي بِ ي ي ف ن ش ا ش ي بِ ي ي ك ا ل ن ش ا ش ي بِ ي ي ك ن ش ا ش ي بِ ي ي ل ل ن ش ا ش ي بِ ي ي ل ن ش ا ش ي بِ ي ي ن ش ا ش ي بِ ي ي و ا ل ن ش ا ش ي بِ ي ي و ب ا ل ن ش ا ش ي بِ ي ي و ب ن ش ا ش ي بِ ي ي و ك ا ل ن ش ا ش ي بِ ي ي و ك ن ش ا ش ي بِ ي ي و ل ل ن ش ا ش ي بِ ي ي و ل ن ش ا ش ي بِ ي ي و ن ش ا ش ي بِ ي ي
|
||
|
||
$(ROOT_DICT)/bg.dict: $(OBJ_DIR)/bg.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
grep -v "^[a-zA-Z]" | \
|
||
tr '[абвгдежзийклмнопрстуфхцчшщъьюя]' '[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/br.dict: $(OBJ_DIR)/br.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[-]" | \
|
||
grep -v "[^c]'" | \
|
||
grep -v "'[^h]" | \
|
||
sed -e 's/[àâ]/a/g' \
|
||
-e 's/[éêè]/e/g' \
|
||
-e 's/[î]/i/g' \
|
||
-e 's/[ñ]/n/g' \
|
||
-e 's/[ô]/o/g' \
|
||
-e 's/[ûüù]/u/g' | \
|
||
tr '[abcdefghijklmnopqrstuvwxyz]' '[ABCDEFGHIJKLMNOPQRSTUVWXYZ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/ca.dict: $(OBJ_DIR)/ca.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[áàãÁÀ]/a/g' \
|
||
-e 's/[éèÉÈ]/e/g' \
|
||
-e 's/[çÇ]/c/g' \
|
||
-e 's/[íïÍ]/i/g' \
|
||
-e 's/[ñ]/n/g' \
|
||
-e 's/[óöòÓÒ]/o/g' \
|
||
-e 's/[úüùÚ]/u/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/cs.dict: $(OBJ_DIR)/cs.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[äâ]/a/g' \
|
||
-e 's/[çćĆ]/c/g' \
|
||
-e 's/[ęë]/e/g' \
|
||
-e 's/[î]/i/g' \
|
||
-e 's/[ľĽłĺ]/l/g' \
|
||
-e 's/[ń]/n/g' \
|
||
-e 's/[őöŐÖô]/o/g' \
|
||
-e 's/[śŚ]/s/g' \
|
||
-e 's/[űüŰÜ]/u/g' \
|
||
-e 's/[ź]/z/g' | \
|
||
sed -e 's/á/Á/g' -e 's/č/Č/g' -e 's/ď/Ď/g' -e 's/é/É/g' -e 's/ě/Ě/g' \
|
||
-e 's/í/Í/g' -e 's/ň/Ň/g' -e 's/ó/Ó/g' -e 's/ř/Ř/g' -e 's/š/Š/g' \
|
||
-e 's/ť/Ť/g' -e 's/ú/Ú/g' -e 's/ů/Ů/g' -e 's/ý/Ý/g' -e 's/ž/Ž/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/cy.dict: $(OBJ_DIR)/cy.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
grep -vi "ph" | \
|
||
sed -e 's/[âä]/a/g' \
|
||
-e 's/[êë]/e/g' \
|
||
-e 's/[îï]/i/g' \
|
||
-e 's/[ôöò]/o/g' \
|
||
-e 's/[ûüù]/u/g' \
|
||
-e 's/[ŵ]/w/g' \
|
||
-e 's/[ŷ]/y/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/da.dict: $(OBJ_DIR)/da.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[áä]/a/g' \
|
||
-e 's/[ð]/d/g' \
|
||
-e 's/[éëè]/e/g' \
|
||
-e 's/[íì]/i/g' \
|
||
-e 's/[óöô]/o/g' \
|
||
-e 's/[ü]/u/g' | \
|
||
tr '[a-zæøå]' '[A-ZÆØÅ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/de.dict: $(OBJ_DIR)/de.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[âà]/a/g' \
|
||
-e 's/[éê]/e/g' \
|
||
-e 's/[ñ]/n/g' \
|
||
-e 's/[œ]/oe/g' \
|
||
-e 's/[ß]/ss/g' | \
|
||
tr '[a-zäöü]' '[A-ZÄÖÜ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/el.dict: $(OBJ_DIR)/el.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[άΆ]/α/g' \
|
||
-e 's/[ϐ]/β/g' \
|
||
-e 's/[έΈ]/ε/g' \
|
||
-e 's/[ήΉ]/η/g' \
|
||
-e 's/[ίϊΐΊ]/ι/g' \
|
||
-e 's/[όΌ]/ο/g' \
|
||
-e 's/[ς]/σ/g' \
|
||
-e 's/[ΰϋύΎ]/υ/g' \
|
||
-e 's/[ϕ]/φ/g' \
|
||
-e 's/[ώΏ]/ω/g' | \
|
||
tr '[αβγδεζηθικλμνξοπρστυφχψω]' '[ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/en.dict: $(OBJ_DIR)/en.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[áâàäåÅ]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[éêèë]/e/g' \
|
||
-e 's/[íîï]/i/g' \
|
||
-e 's/[ñ]/n/g' \
|
||
-e 's/[óôöøiÖ]/o/g' \
|
||
-e 's/[úûüùiÜ]/u/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/eo.dict: $(OBJ_DIR)/eo.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'qQwWxXyY-]" | \
|
||
tr '[a-zĉĝĥĵŝŭ]' '[A-ZĈĜĤĴŜŬ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/es.dict: $(OBJ_DIR)/es.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[áÁ]/a/g' \
|
||
-e 's/[é]/e/g' \
|
||
-e 's/[í]/i/g' \
|
||
-e 's/[ó]/o/g' \
|
||
-e 's/[úü]/u/g' | \
|
||
tr '[a-zñ]' '[A-ZÑ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/et.dict: $(OBJ_DIR)/et.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'qwxQWX-]" | \
|
||
tr '[a-zäöõüšž]' '[A-ZÄÖÕÜŠŽ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/fi.dict: $(OBJ_DIR)/fi.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.':-]" | \
|
||
tr '[a-zäåöšž]' '[A-ZÄÅÖŠŽ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/fr.dict: $(OBJ_DIR)/fr.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[àâä]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[Ééèêë]/e/g' \
|
||
-e 's/[ïî]/i/g' \
|
||
-e 's/[ôö]/o/g' \
|
||
-e 's/[úùûü]/u/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/ga.dict: $(OBJ_DIR)/ga.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.':-]" | \
|
||
sed -e 's/[áâãÁ]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[éèÉ]/e/g' \
|
||
-e 's/[íÍ]/i/g' \
|
||
-e 's/[óöòÓ]/o/g' \
|
||
-e 's/[úüÚ]/u/g' | \
|
||
tr '[a-zñ]' '[A-ZÑ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/he.dict: $(OBJ_DIR)/he.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/hr.dict: $(OBJ_DIR)/hr.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
tr '[a-zćčšž]' '[A-ZĆČŠŽ]' | \
|
||
sed 's/đ/Đ/g' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/hu.dict: $(OBJ_DIR)/hu.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
tr '[a-záéóöőúüű]' '[A-ZÁÉÓÖŐÚÜŰ]' | \
|
||
sortuniq "$@"
|
||
|
||
#grep -v "['ԁԃԂԃ-]"
|
||
$(ROOT_DICT)/hy.dict: $(OBJ_DIR)/hy.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
sed -e 's/ա/Ա/g' -e 's/բ/Բ/g' -e 's/գ/Գ/g' -e 's/դ/Դ/g' -e 's/ե/Ե/g' \
|
||
-e 's/զ/Զ/g' -e 's/է/Է/g' -e 's/ը/Ը/g' -e 's/թ/Թ/g' -e 's/ժ/Ժ/g' \
|
||
-e 's/ի/Ի/g' -e 's/լ/Լ/g' -e 's/խ/Խ/g' -e 's/ծ/Ծ/g' -e 's/կ/Կ/g' \
|
||
-e 's/հ/Հ/g' -e 's/ձ/Ձ/g' -e 's/ղ/Ղ/g' -e 's/ճ/Ճ/g' -e 's/մ/Մ/g' \
|
||
-e 's/յ/Յ/g' -e 's/ն/Ն/g' -e 's/շ/Շ/g' -e 's/ո/Ո/g' -e 's/չ/Չ/g' \
|
||
-e 's/պ/Պ/g' -e 's/ջ/Ջ/g' -e 's/ռ/Ռ/g' -e 's/ս/Ս/g' -e 's/վ/Վ/g' \
|
||
-e 's/տ/Տ/g' -e 's/ր/Ր/g' -e 's/ց/Ց/g' -e 's/ւ/Ւ/g' -e 's/փ/Փ/g' \
|
||
-e 's/ք/Ք/g' -e 's/օ/Օ/g' -e 's/ֆ/Ֆ/g' -e 's/ու/ՈՒ/g' \
|
||
-e "s/'//g" | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/it.dict: $(OBJ_DIR)/it.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
sed -e 's/[àâ]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[éè]/e/g' \
|
||
-e 's/[ì]/i/g' \
|
||
-e 's/[òiô]/o/g' \
|
||
-e 's/[ù]/u/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/is.dict: $(OBJ_DIR)/is.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
tr '[a-záæðéíóöúýþ]' '[A-ZÁÆÐÉÍÓÖÚÝÞ]' | sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/lv.dict: $(OBJ_DIR)/lv.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'-]" | \
|
||
tr '[a-zāčēģīķļņšūž]' '[A-ZĀČĒĢĪĶĻŅŠŪŽ]' | sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/nl.dict: $(OBJ_DIR)/nl.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[1-9+/' .-]" | \
|
||
sed -e 's/[áäâàÅ]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[éëèê]/e/g' \
|
||
-e 's/[íïî]/i/g' \
|
||
-e 's/[ñ]/n/g' \
|
||
-e 's/[óöô]/o/g' \
|
||
-e 's/[úüûùÜ]/u/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/no.dict: $(OBJ_DIR)/no.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[.'\"-]" | \
|
||
sed -e 's/[áäÄ]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[ð]/d/g' \
|
||
-e 's/[éëèêÉ]/e/g' \
|
||
-e 's/[íì]/i/g' \
|
||
-e 's/[óöôò]/o/g' \
|
||
-e 's/[ü]/u/g' | \
|
||
tr '[a-zæøå]' '[A-ZÆØÅ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/pl.dict: $(OBJ_DIR)/pl.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[ä]/a/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[é]/e/g' \
|
||
-e 's/[i]/i/g' \
|
||
-e 's/[ö]/o/g' \
|
||
-e 's/[šŠ]/s/g' \
|
||
-e 's/[û]/u/g' | \
|
||
tr '[a-złąęóśżćńź]' '[A-ZŁĄĘÓŚŻĆŃŹ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/pt.dict: $(OBJ_DIR)/pt.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[áãâàÁÂ]/a/g' \
|
||
-e 's/[éêèÉ]/e/g' \
|
||
-e 's/[íîÍ]/i/g' \
|
||
-e 's/[óôõÓ]/o/g' \
|
||
-e 's/[úüÚ]/u/g' | \
|
||
tr '[a-zç]' '[A-ZÇ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/ro.dict: $(OBJ_DIR)/ro.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[áâăÂĂ]/a/g' \
|
||
-e 's/[éè]/e/g' \
|
||
-e 's/[íîÎ]/i/g' \
|
||
-e 's/[șȘ]/s/g' \
|
||
-e 's/[țȚ]/t/g' \
|
||
-e 's/[ü]/u/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/ru.dict: $(OBJ_DIR)/ru.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/а/А/g' -e 's/б/Б/g' -e 's/в/В/g' -e 's/г/Г/g' -e 's/д/Д/g' \
|
||
-e 's/е/Е/g' -e 's/ё/Ё/g' -e 's/ж/Ж/g' -e 's/з/З/g' -e 's/и/И/g' \
|
||
-e 's/й/Й/g' -e 's/к/К/g' -e 's/л/Л/g' -e 's/м/М/g' -e 's/н/Н/g' \
|
||
-e 's/о/О/g' -e 's/п/П/g' -e 's/р/Р/g' -e 's/с/С/g' -e 's/т/Т/g' \
|
||
-e 's/у/У/g' -e 's/ф/Ф/g' -e 's/х/Х/g' -e 's/ц/Ц/g' -e 's/ч/Ч/g' \
|
||
-e 's/ш/Ш/g' -e 's/щ/Щ/g' -e 's/ъ/Ъ/g' -e 's/ы/Ы/g' -e 's/ь/Ь/g' \
|
||
-e 's/э/Э/g' -e 's/ю/Ю/g' -e 's/я/Я/g' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/sk.dict: $(OBJ_DIR)/sk.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[ë]/e/g' | \
|
||
sed -e 's/á/Á/g' -e 's/ä/Ä/g' -e 's/č/Č/g' -e 's/ď/Ď/g' -e 's/é/É/g' \
|
||
-e 's/ě/Ě/g' -e 's/í/Í/g' -e 's/ľ/Ľ/g' -e 's/ĺ/Ĺ/g' -e 's/ň/Ň/g' \
|
||
-e 's/ô/Ô/g' -e 's/ó/Ó/g' -e 's/ö/Ö/g' -e 's/ŕ/Ŕ/g' -e 's/ř/Ř/g' \
|
||
-e 's/š/Š/g' -e 's/ť/Ť/g' -e 's/ú/Ú/g' -e 's/ü/Ü/g' -e 's/ý/Ý/g' \
|
||
-e 's/ž/Ž/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/sl.dict: $(OBJ_DIR)/sl.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[áâȁ]/a/g' \
|
||
-e 's/[ćĆ]/c/g' \
|
||
-e 's/[éȇȅ]/e/g' \
|
||
-e 's/[đĐ]/d/g' \
|
||
-e 's/[íȋȉ]/i/g' \
|
||
-e 's/[óȏȍö]/o/g' \
|
||
-e 's/[ŕȓ]/r/g' \
|
||
-e 's/[úȗȕü]/u/g' | \
|
||
sed -e 's/č/Č/g' -e 's/š/Š/g' -e 's/ž/Ž/g' | \
|
||
tr '[a-z]' '[A-Z]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/sv.dict: $(OBJ_DIR)/sv.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "['-]" | \
|
||
sed -e 's/[æ]/ae/g' \
|
||
-e 's/[ç]/c/g' \
|
||
-e 's/[é]/e/g' \
|
||
-e 's/[ü]/u/g' | \
|
||
tr '[a-zåäö]' '[A-ZÅÄÖ]' | \
|
||
sortuniq "$@"
|
||
|
||
$(ROOT_DICT)/uk.dict: $(OBJ_DIR)/uk.low $(DEPEND)
|
||
@$(DICT_RULE_PRELUDE); \
|
||
cat "$<" | \
|
||
grep -v '^.$$' | \
|
||
grep -v "[-]" | \
|
||
tr '[абвгґдеєжзиіїйклмнопрстуфхцчшщьюя]' '[АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ]' | \
|
||
sortuniq "$@"
|
||
|
||
CHECKER = cat $(1) | \
|
||
grep -v "^[$(2)]*$$" | egrep -v "$(3)" && exit 1 || echo "$< is correct"
|
||
|
||
check-ar:$(ROOT_DICT)/ar.dict
|
||
$(call CHECKER,$<,ابتثجحخدذرزسشصضطظعغفقكلمنهويءأإؤئآةى,~)
|
||
|
||
|
||
check-bg:$(ROOT_DICT)/bg.dict
|
||
$(call CHECKER,$<,АОЕИТНПРСВМБДКЛГЪЖЗУЧЯЙХЦШЮФЩЬ,~)
|
||
|
||
check-br:$(ROOT_DICT)/br.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPRSTUVWXYZ,C'H[A-Z]*(C'H)*)
|
||
|
||
check-ca:$(ROOT_DICT)/ca.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZ,L·L[A-Z]*(L·L)*)
|
||
|
||
check-cs:$(ROOT_DICT)/cs.dict
|
||
$(call CHECKER,$<,AÁBCČDĎEÉĚFGHIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽ,~)
|
||
|
||
check-da:$(ROOT_DICT)/da.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ,~)
|
||
|
||
check-de:$(ROOT_DICT)/de.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ,~)
|
||
|
||
check-el:$(ROOT_DICT)/el.dict
|
||
$(call CHECKER,$<,ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ,~)
|
||
|
||
check-eo:$(ROOT_DICT)/eo.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPRSTUVZĈĜĤĴŜŬ,~)
|
||
|
||
check-es:$(ROOT_DICT)/es.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÑ,~)
|
||
|
||
check-et:$(ROOT_DICT)/et.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPRSTUVYZÄÖÕÜŠŽ,~)
|
||
|
||
check-fi:$(ROOT_DICT)/fi.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÄÅÖŠŽ,~)
|
||
|
||
check-ga:$(ROOT_DICT)/ga.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÑ,~)
|
||
|
||
check-he:$(ROOT_DICT)/he.dict
|
||
$(call CHECKER,$<,אבגדהוזחטיכלמנסעפצקרשת,~)
|
||
|
||
check-hr:$(ROOT_DICT)/hr.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZĆČĐŠŽ,~)
|
||
|
||
check-hu:$(ROOT_DICT)/hu.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÓÖŐÚÜŰ,~)
|
||
|
||
check-hy:$(ROOT_DICT)/hy.dict
|
||
$(call CHECKER,$<,ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖՈՒև,~)
|
||
|
||
check-is:$(ROOT_DICT)/is.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÁÆÐÉÍÓÖÚÝÞ,~)
|
||
|
||
check-lv:$(ROOT_DICT)/lv.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZĀČĒĢĪĶĻŅŠŪŽ,~)
|
||
|
||
check-no:$(ROOT_DICT)/no.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ,~)
|
||
|
||
check-pl:$(ROOT_DICT)/pl.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZŁĄĘÓŚŻĆŃŹ,~)
|
||
|
||
check-pt:$(ROOT_DICT)/pt.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÇ,~)
|
||
|
||
check-ru:$(ROOT_DICT)/ru.dict
|
||
$(call CHECKER,$<,АБВГДЕЁЖЗИЙКЛлМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ,~)
|
||
|
||
check-sk:$(ROOT_DICT)/sk.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÁÄČĎÉĚÍĽĹŇÔÓÖŔŠŤÚÜÝŽ,~)
|
||
|
||
check-sl:$(ROOT_DICT)/sl.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZČŠŽ,~)
|
||
|
||
check-sv:$(ROOT_DICT)/sv.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ,~)
|
||
|
||
check-uk:$(ROOT_DICT)/uk.dict
|
||
$(call CHECKER,$<,ОАИНВЕІТКРСДЛМУПЗЯЬБГЧХЄЇЙЖЦШЮҐФЩ',~)
|
||
|
||
check-%:$(ROOT_DICT)/%.dict
|
||
$(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZ,~)
|
||
|
||
clean:
|
||
rm -rf "$(OBJ_DIR)"
|