|
3 | 3 | OUTFILE = latest.json
|
4 | 4 | PRODUCT = ipm
|
5 | 5 | CONVERT = ./tools/convert.sh
|
6 |
| - |
7 | 6 | INPUTS = $(shell ls -1 "$(PRODUCT)"/*.md)
|
8 | 7 |
|
| 8 | +EGREP = grep -E |
| 9 | +ASPELL = aspell |
| 10 | +ASPELL_LANG_ARG = en |
| 11 | +ASPELL_LANG_ENV = en_US.UTF-8 |
| 12 | +# Must have a path component, goes to homedir otherwise |
| 13 | +ASPELL_DICT = ./relnotes.dict |
| 14 | +ASPELL_OUT_NOTERRORS = (^[ \t]*[\*\@]|^$$) |
| 15 | + |
9 | 16 | all: $(OUTFILE)
|
10 | 17 |
|
| 18 | +check: spellcheck |
| 19 | + |
| 20 | +clean: |
| 21 | + rm -f $(OUTFILE) $(addsuffix .spellchecked, $(INPUTS)) |
| 22 | + # Interactive aspell leaves older copies of checked files; with Git we do not need them: |
| 23 | + rm -f $(addsuffix .bak, $(INPUTS)) |
| 24 | + |
11 | 25 | $(OUTFILE): $(INPUTS)
|
12 | 26 | $(CONVERT) "$(PRODUCT)" "$(OUTFILE)"
|
| 27 | + |
| 28 | +spellcheck: $(addsuffix .spellchecked, $(INPUTS)) |
| 29 | + |
| 30 | +# Ported from NUT |
| 31 | +%.spellchecked: % |
| 32 | + @test -s "$<" |
| 33 | + @echo " SPELLCHECK $<" ; \ |
| 34 | + OUT="`(sed 's,^\(.*\)$$, \1,' | \ |
| 35 | + LANG=$(ASPELL_LANG_ENV) LC_ALL=$(ASPELL_LANG_ENV) \ |
| 36 | + $(ASPELL) -a -M -p "$(ASPELL_DICT)" \ |
| 37 | + -d "$(ASPELL_LANG_ARG)" --lang="$(ASPELL_LANG_ARG)" \ |
| 38 | + --ignore-accents --encoding=utf-8 \ |
| 39 | + ) < "$<"`" \ |
| 40 | + && { if test -n "$$OUT" ; then OUT="`echo "$$OUT" | $(EGREP) -b -v '$(ASPELL_OUT_NOTERRORS)' `" ; fi; \ |
| 41 | + test -z "$$OUT" ; } \ |
| 42 | + || { RES=$$? ; \ |
| 43 | + echo "FAILED : Aspell reported errors here:" >&2 \ |
| 44 | + && echo "----- vvv" >&2 \ |
| 45 | + && echo "$$OUT" >&2 \ |
| 46 | + && echo "----- ^^^" >&2 ; \ |
| 47 | + exit $$RES; } |
| 48 | + @touch "$@" |
| 49 | + |
| 50 | +# Note: here we do not touch any files |
| 51 | +spellcheck-interactive: $(INPUTS) |
| 52 | + @for F in $^ ; do \ |
| 53 | + echo " SPELLCHECK-INTERACTIVE $$F" ; \ |
| 54 | + LANG=$(ASPELL_LANG_ENV) LC_ALL=$(ASPELL_LANG_ENV) \ |
| 55 | + $(ASPELL) -c -M -p "$(ASPELL_DICT)" \ |
| 56 | + -d "$(ASPELL_LANG_ARG)" --lang="$(ASPELL_LANG_ARG)" \ |
| 57 | + --ignore-accents --encoding=utf-8 "$$F" ; \ |
| 58 | + done |
0 commit comments