Pandoc builder system
only runs a target if the output hasn't changed since last run


Consider writing rules like this:

%.pdf: %.md
        pandoc -o $@ $&lt;


For that to work, the current all: ... pdf would need to mention particular *.pdf files, perhaps by globbing: $(patsubst %.md,%.pdf,*.md)