Files
scrabble-dictionary/Makefile
T
Ilia Denisov dd61ff1d51
build / dawg (pull_request) Successful in 4m22s
Tidy sources into sources/<variant>/ + tools/
Consolidate the scattered build inputs (dictionaries/english/, dictprep/russian/)
into one sources/ tree keyed by the variant labels (scrabble_en/scrabble_ru/
erudit_ru), and move the Russian prep pipeline to tools/. The dawg outputs and
their filenames are unchanged — rebuilt byte-identical (en_sowpods/ru_scrabble/
ru_erudit) — so the release artifact and the backend are unaffected.

ru_stage2.py OUT_DIR and the ruwords flag defaults are repointed to
sources/scrabble_ru/; Makefile / CI / cmd/builddict default / README updated;
pipeline intermediates git-ignored. Verified: make dawg byte-identical to the
committed baseline, py_compile + go vet of the moved tools. The full Russian
regeneration pipeline (pymorphy3/libmorph/orfo PDF) was not run here.
2026-06-09 12:25:33 +02:00

34 lines
1.3 KiB
Makefile

# scrabble-dictionary build helpers.
#
# `make dawg` (re)builds the dictionary DAWGs under dawg/ from their word lists, using the
# published scrabble-solver dictdawg/wordlist builders (pinned in go.mod), so the on-disk
# format and letter indexing match the running backend exactly (no index drift):
# en_sowpods.dawg — English SOWPODS (Latin alphabet)
# ru_scrabble.dawg — Russian Scrabble nouns (Cyrillic, 33 letters)
# ru_erudit.dawg — Эрудит (the Ё→Е folded + de-duped list, committed as russian/erudit.txt)
#
# CI builds the DAWGs as a validation gate; release artifacts are published from this output
# (see README.md). Regenerate russian/erudit.txt from scrabble.txt with tools/fold_yo.py.
export GOPRIVATE := gitea.iliadenisov.ru/*
GO ?= go
DAWG_DIR := dawg
BUILDDICT := $(GO) run ./cmd/builddict
.PHONY: dawg dawg-en dawg-ru dawg-erudit clean-dawg
dawg: dawg-en dawg-ru dawg-erudit
dawg-en:
$(BUILDDICT) -dict sources/scrabble_en/sowpods.txt -alphabet latin -name en_sowpods -out $(DAWG_DIR)
dawg-ru:
$(BUILDDICT) -dict sources/scrabble_ru/scrabble.txt -alphabet russian -name ru_scrabble -out $(DAWG_DIR)
dawg-erudit:
$(BUILDDICT) -dict sources/erudit_ru/erudit.txt -alphabet russian -name ru_erudit -out $(DAWG_DIR)
clean-dawg:
rm -f $(DAWG_DIR)/*.dawg