26 lines
499 B
Makefile
26 lines
499 B
Makefile
|
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
|