mirror of
https://github.com/dunyakirkali/letterpress.git
synced 2026-08-25 04:51:44 +00:00
Improve word count target (#8)
Recurse into source subdirectories and print a total, backported from em_book. The previous 'wc -w source/*' only counted top-level files and errored on subdirectories. - Use find to recurse and sort output for stable ordering - Print a running total - Reference SOURCE_FOLDER instead of hardcoded 'source' - Set SHELL := /bin/bash (needed for process substitution) - Add .PHONY declarations Co-authored-by: Dunya Kirkali <exedev@writting.exe.xyz> Co-authored-by: Shelley <shelley@exe.dev>
This commit is contained in:
13
Makefile
13
Makefile
@@ -1,5 +1,9 @@
|
||||
SOURCE_FOLDER := source
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
.PHONY: all count clean lint
|
||||
|
||||
ASCIIDOC_FILES := $(wildcard $(SOURCE_FOLDER)/*.adoc)
|
||||
|
||||
FIGURES = $(shell find . -name '*.svg')
|
||||
@@ -30,7 +34,14 @@ $(EPUB_PATH): $(ASCIIDOC_FILES) $(FIGURES) Makefile metadata.yaml | output
|
||||
-r asciidoctor-mathematical
|
||||
|
||||
count:
|
||||
wc -w source/*
|
||||
@dir="$(SOURCE_FOLDER)"; \
|
||||
total=0; \
|
||||
while read -r file; do \
|
||||
words=$$(wc -w < "$$file"); \
|
||||
total=$$((total + words)); \
|
||||
printf "%6d %s\n" "$$words" "$$file"; \
|
||||
done < <(find "$$dir" -type f -name "*.adoc" | sort); \
|
||||
printf "%6d total\n" "$$total"
|
||||
|
||||
epubcheck: $(EPUB_PATH)
|
||||
epubcheck $(EPUB_PATH)
|
||||
|
||||
Reference in New Issue
Block a user