CC = g++
CFLAGS = -g -Wall
LDFLAGS =

all: main

main: main.o Simulation.o City.o Ring.o Treatment.o ScoreBased.o ThreeParameter.o TwoParameter.o IterationOneInfection.o NoVaccination.o HighRiskVaccination.o

ring: Ring.o
scorebased: ScoreBased.o
threeparameter: ThreeParameter.o
twoparameter: TwoParameter.o

main.o: main.cpp main.h Ring.o Simulation.o ScoreBased.o ThreeParameter.o TwoParameter.o
City.o: City.cpp City.h
Simulation.o: Simulation.cpp Simulation.h City.o Ring.o ScoreBased.o ThreeParameter.o TwoParameter.o
Ring.o: Ring.h Ring.cpp City.h Treatment.o
ScoreBased.o: ScoreBased.h ScoreBased.cpp City.h Treatment.o
ThreeParameter.o: ThreeParameter.h ThreeParameter.cpp City.h Treatment.o
TwoParameter.o: TwoParameter.h TwoParameter.cpp City.h Treatment.o
Treatment.o: Treatment.h Treatment.cpp
IterationOneInfection.o: IterationOneInfection.h IterationOneInfection.cpp City.h
NoVaccination.o: NoVaccination.h NoVaccination.cpp City.h
HighRiskVaccination.o: HighRiskVaccination.h HighRiskVaccination.cpp City.h

clean:
	rm *.o main
