el-files = $(shell sh -c "ls -1 *.el") elc-files = $(el-files:.el=.elc) opts = -Q -D -L "." opts-cmpl = $(opts) -batch opts-run = $(opts) -l bad sed-filter = sed '/^\(Loading\|Wrote\|older\)/d' filter = 2>&1 | $(sed-filter) filter-quiet = > /dev/null $(filter) all: $(elc-files) %.elc: %.el echo "[ELC ELN] $<" emacs $(opts-cmpl) -f batch-byte-compile $< $(filter-quiet) emacs $(opts-cmpl) -f batch-byte-compile $< $(filter) emacs $(opts-cmpl) -f batch-native-compile $< $(filter) meta: $(shell sh -c "grep -i todo *.el") space: $(elc-files) emacs $(opts-run) -f bad-space $(filter-quiet) studio: $(elc-files) emacs $(opts-run) -f bad-studio $(filter-quiet) snake: $(elc-files) emacs $(opts-run) -f bad-snake $(filter-quiet) clean: $(shell sh -c "rm -rf *.elc") again: ${MAKE} clean ${MAKE} all