.PHONY: all build json fast clean norm tests help # Default target: full build with search index all: clean json build build: @echo "Building project (full rebuild with search index)..." emacs -Q --script lisp/build.el json: @echo "Generating the JSON output..." python search-index.py # Fast build without search index fast: @echo "Building project (fast rebuild without search index)..." emacs -Q --script lisp/build.el --fast # Clean output directory clean: @echo "Cleaning output directory..." rm -rf output/ norm: @echo "sorting out the backups..." find . -path ./backups -prune -o -type f -name '*~' -exec mv {} backups/ \; tests: @echo "Running all the tests..." emacs -batch -l ert -l tests/macros-tests.el -f ert-run-tests-batch-and-exit # Show help message help: @echo "Available targets:" @echo " make - Clean, build, and generate search index (default)" @echo " make build - Full rebuild (with search index)" @echo " make json - Generate JSON output for search index" @echo " make fast - Fast rebuild (without search index)" @echo " make clean - Remove output directory" @echo " make tests - Run all of the tests associated with the project" @echo " make norm - Move all files that end with ~ to the backup folder" @echo " make help - Show this help message"