Add makefile to tangle all the dotfiles

This commit is contained in:
Thomas Dehaeze 2019-07-20 16:16:12 +02:00
parent c212a0672c
commit b789d8b516

View File

@ -1,25 +1,4 @@
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
test: *.org
for f in *.org; do emacsclient -e "(progn (find-file \"$$f\") (org-babel-tangle))"; done
tangle: *.org
for f in ./dotfiles/*.org; do emacsclient -e "(progn (find-file \"$$f\") (org-babel-tangle))"; done