# Makefile for the Epidemic model # Author: Douglas Jones # Version: 2020-12-1 -- solution to MP11 # Usage # make -- builds Epidemic.class and everything else needed # make html -- builds the javadoc files # make clean -- cleans up all automatically generated files # make test -- runs java Epidemic testepi to demonstrate it ########## # all source files supportJava = Error.java MyScanner.java MyRandom.java Simulator.java peopleJava = Person.java Employee.java placesJava = Place.java HomePlace.java WorkPlace.java modelJava = $(peopleJava) $(placesJava) mainJava = Epidemic.java allJava = $(supportJava) $(modelJava) $(mainJava) ########## # all classes from the above supportJava = Error.class MyScanner.class MyRandom.class Simulator.class peopleClasses = Person.class Employee.class placesClasses = Place.java HomePlace.java WorkPlace.java modelClasses = $(peopleClasses) $(placesClasses) ########## # primary make target Epidemic.class: Epidemic.java $(modelClasses) $(supportClasses) javac Epidemic.java ########## # secondary make targets: Simulation model Employee.class: Employee.java Person.class WorkPlace.class $(supportClasses) javac Employee.java Person.class: Person.java Place.class HomePlace.class $(supportClasses) javac Person.java HomePlace.class: HomePlace.java Place.class Person.class $(supportClasses) javac HomePlace.java WorkPlace.class: WorkPlace.java Place.class Employee.class $(supportClasses) javac WorkPlace.java Place.class: Place.java $(supportClasses) Person.class javac Place.java ########## # secondary make targets: Support Simulator.class: Simulator.java javac Simulator.java MyRandom.class: MyRandom.java javac MyRandom.java MyScanner.class: MyRandom.java Error.class javac MyScanner.java Error.class: Error.java javac Error.java ########## # utility make targets: html: $(allJava) javadoc $(allJava) test: Epidemic.class java Epidemic testepi clean: rm -f *.class *.html package-list script.js stylesheet.css