hs=$(wildcard *.hs) chart=$(wildcard chart/*/*.hledger) all: $(hs:.hs=) $(chart:.hledger=.csv) c clean: \ $(hs:.hs=.o/clean) \ $(hs:.hs=.hi/clean) \ $(hs:.hs=/clean) \ $(chart:.hledger=.csv/clean) %/clean: $(if $(wildcard $*),rm -f "$*") %: %.hs ghc $< chart/%.csv: chart/%.hledger ./hledger-print-csv.hs ./hledger-print-csv \ -f $< \ >$@