Tmp=$(shell mktemp -d) Here=$(shell pwd) Lib=$(Here)/lib Etc=$(Here)/etc Ready=$(Here)/ready ConfigToAwk= (echo "BEGIN { "; cat $< ; echo "}" ) > $@ Expand= m4 -P $< > $@ all : setup setup : dirs files files : $(Ready)/defaults.awk $(Ready)/config.awk $(Ready)/model.awk dirs : $(Lib) @ if [ ! -d "$(Tmp)" ]; then echo making $(Tmp); mkdir $(Tmp); fi @ if [ ! -d "$(Ready)" ]; then echo making $(Ready); mkdir $(Ready); fi $(Ready)/defaults.awk : $(Etc)/defaults ; $(ConfigToAwk) $(Ready)/config.awk : $(Etc)/config ; $(ConfigToAwk) $(Ready)/model.awk : $(Lib)/model.awk ; $(Expand) test : @ make -f demo $(What)