.PHONY: all clean buildall depend SOURCES=A.java B.java E.java F.java all: rm -f .targets $(MAKE) .targets [ -f .targets ] && javac -classpath classes -d classes @.targets || true clean: rm -rf classes .depend ifneq ($(MAKECMDGOALS),buildall) ifneq ($(MAKECMDGOALS),clean) include .depend endif endif .depend: $(MAKE) buildall find classes -type f -print | java -classpath ../classes:$(CLASSPATH) com.macmillan.nmeyers.JMakeDepend >.depend depend: rm -f .depend $(MAKE) .depend buildall: rm -rf classes mkdir classes javac -d classes $(SOURCES)