Makefile (Source)

default: all
# $^ -> finished $@ at $(shell date)
SOURCE_FILES := $(shell find . -type f | egrep -v '(cache|output|.doit.db|#)' )
NEWEST       := $(shell ls -t $(SOURCE_FILES) | head -1 )
LATEX_MAKEFILES := $(shell find latex -name Makefile)
LATEX_FOLDERS   := $(dir $(LATEX_MAKEFILES))
LATEX_TEX       := $(shell find $(LATEX_FOLDERS) -maxdepth 1 -name [^.]\*.tex)
LATEX_PDFS      := $(patsubst %.tex,%.pdf,$(LATEX_TEX))
newest:
@echo ================ updated file: $(NEWEST)
all: latex output
# $^ -> finished $@ at $(shell date)
clean: latex-clean
rm -rfv output
# $^ -> finished $@ at $(shell date)
serve: all
cd output && python -m http.server
# $^ -> finished $@ at $(shell date)
output: $(NEWEST)
nikola build
date > $@/sentinel
touch $@
# $^ -> finished $@ at $(shell date)
continuous: all
while true ; do \
$(MAKE) -q -s latex output || $(MAKE) newest all; \
/bin/echo -n -e \\r $$(date +"%F %T.%N :") "" ; \
sleep 1; \
done
# $^ -> finished $@ at $(shell date)
latex: $(LATEX_PDFS)
touch $@
# $^ -> finished $@ at $(shell date)
%.pdf : %.tex
$(MAKE) -C $(dir $@)
# $^ -> finished $@ at $(shell date)
latex-clean:
$(foreach folder, $(LATEX_FOLDERS), $(MAKE) -C $(folder) clean;)
# $^ -> finished $@ at $(shell date)