MAINCLASS := RetirementCalculator CLASSES := $(patsubst %.java,%.class,$(wildcard *.java)) all: $(CLASSES) %.class: %.java javac $^ .PHONY: jar jar: $(CLASSES) jar cvf $(MAINCLASS).jar *.class .PHONY: run run: $(CLASSES) java $(MAINCLASS) clean: -rm -f *.class *.jar