cache_dir := .cache orgs := $(wildcard dotfiles/*.org) tangle_el := elisp/tangle.el ^el = $(filter %.el,$^) EMACS.funcall = emacs --batch --no-init-file $(addprefix --load ,$(^el)) --funcall all: tangle clean: rm -rf $(cache_dir) tangle: $(basename $(orgs)) $(cache_dir)/%.out: %.org $(tangle_el) $(cache_dir)/ $(EMACS.funcall) literate-dotfiles-tangle $< > $@ %/: mkdir -p $@ %: %.org $(cache_dir)/%.out @$(NOOP) .PHONY: all clean test .PRECIOUS: $(cache_dir)/ $(cache_dir)/%.out