TARGETS = final.pdf final-solns.pdf ip-examples.pdf midterm.pdf \
	midterm-rules.pdf midterm-solns.pdf pset01.pdf pset01-solns.pdf \
	pset02.pdf pset02-solns.pdf pset03.pdf pset03-solns.pdf pset04.pdf \
	pset04-solns.pdf pset05.pdf pset05-solns.pdf pset06.pdf pset06-solns.pdf \
	pset07.pdf pset07-solns.pdf pset08.pdf pset08-solns.pdf syllabus.pdf \
	tableau.pdf transportation-example.pdf

TEX = pdftex -interaction nonstopmode
MPOST = mpost

FINAL_MPS = final-flow-1.mps final-flow-2.mps

FINAL_SOLNS_MPS = final-solns-ff.mps final-solns-newflow.mps

MIDTERM_SOLNS_MPS = midterm-solns-cpm.mps midterm-solns-graph.mps \
	midterm-solns-dijkstra-1.mps midterm-solns-dijkstra-2.mps \
	midterm-solns-dijkstra-3.mps midterm-solns-dijkstra-4.mps \
	midterm-solns-dijkstra-5.mps midterm-solns-dijkstra-6.mps \
	midterm-solns-dijkstra-7.mps midterm-solns-dijkstra-8.mps \
	midterm-solns-dijkstra-9.mps midterm-solns-dijkstra-10.mps

PSET04_SOLNS_MPS = pset04-solns-1.mps pset04-solns-2.mps

PSET05_MPS = pset05-4.mps

PSET05_SOLNS_MPS = pset05-solns-cpm-1.mps pset05-solns-cpm-2.mps \
	pset05-solns-cpm-3.mps pset05-4.mps pset05-solns-dijkstra-1.mps \
	pset05-solns-dijkstra-2.mps pset05-solns-dijkstra-3.mps \
	pset05-solns-dijkstra-4.mps pset05-solns-dijkstra-5.mps \
	pset05-solns-dijkstra-6.mps pset05-solns-dijkstra-7.mps \
	pset05-solns-dijkstra-8.mps pset05-solns-dijkstra-9.mps \
	pset05-solns-dijkstra-10.mps pset05-solns-primaldual-1.mps \
	pset05-solns-primaldual-2.mps pset05-solns-primaldual-3.mps \
	pset05-solns-primaldual-4.mps pset05-solns-primaldual-5.mps \
	pset05-solns-primaldual-6.mps pset05-solns-primaldual-7.mps \
	pset05-solns-primaldual-8.mps pset05-solns-primaldual-9.mps \
	pset05-solns-tree.mps

PSET06_MPS = pset06-3.mps pset06-5.mps

PSET06_SOLNS_MPS = pset06-solns-sptree-1.mps pset06-solns-sptree-2.mps \
	pset06-solns-sptree-3.mps pset06-solns-ff-1.mps pset06-solns-ff-2.mps \
	pset06-solns-ff-3.mps pset06-solns-ff-4.mps pset06-solns-ff-5.mps \
	pset06-solns-ff-6.mps pset06-solns-ff-7.mps pset06-solns-ff-8.mps \
	pset06-solns-ff-9.mps pset06-solns-bipartite-1.mps \
	pset06-solns-bipartite-2.mps pset06-solns-bipartite-3.mps \
	pset06-solns-bipartite-4.mps pset06-solns-bipartite-5.mps \
	pset06-solns-bipartite-6.mps pset06-solns-bipartite-7.mps \
	pset06-solns-nonbipartite-1.mps pset06-solns-nonbipartite-2.mps \
	pset06-solns-nonbipartite-3.mps pset06-solns-nonbipartite-4.mps \
	pset06-solns-nonbipartite-5.mps pset06-solns-matching-1.mps \
	pset06-solns-matching-2.mps

PSET07_SOLNS_MPS = pset07-solns-iplp.mps pset07-solns-bnb-1.mps \
	pset07-solns-bnb-2.mps pset07-solns-bnb-3.mps pset07-solns-bnb-4.mps \
	pset07-solns-bnb-5.mps pset07-solns-bnb-6.mps pset07-solns-bnbtree-1.mps \
	pset07-solns-bnbtree-2.mps

TRANSPORTATION_MPS = transportation-example-1.mps \
	transportation-example-2.mps transportation-example-3.mps \
	transportation-example-4.mps

.PHONY : all clean

all : $(TARGETS)

%.pdf : %.tex
	$(TEX) $<

final-solns.pdf : final-solns.tex $(FINAL_MPS) $(FINAL_SOLNS_MPS)

final-solns-%.mps : final-solns.mp
	$(MPOST) $<

final.pdf : final.tex $(FINAL_MPS)
	$(TEX) $<

final-%.mps : final.mp
	$(MPOST) $<

midterm.pdf : midterm.tex midterm-rules-include.tex
	$(TEX) $<

midterm-rules.pdf : midterm-rules.tex midterm-rules-include.tex
	$(TEX) $<

midterm-solns.pdf : midterm-solns.tex $(MIDTERM_SOLNS_MPS)
	$(TEX) $<

midterm-solns-%.mps : midterm-solns.mp
	$(MPOST) $<

pset01-solns.pdf : pset01-solns.tex pset01-2.pdf
	$(TEX) $<

pset04-solns.pdf : pset04-solns.tex $(PSET04_SOLNS_MPS)
	$(TEX) $<

pset04-solns-%.mps : pset04-solns.mp
	$(MPOST) $<

pset05.pdf : pset05.tex $(PSET05_MPS)
	$(TEX) $<

pset05-4.mps : pset05.mp
	$(MPOST) $<

pset05-solns.pdf : pset05-solns.tex $(PSET05_MPS) $(PSET05_SOLNS_MPS)
	$(TEX) $<

pset05-solns-%.mps : pset05-solns.mp
	$(MPOST) $<

pset06-solns.pdf : pset06-solns.tex $(PSET06_MPS) $(PSET06_SOLNS_MPS)
	$(TEX) $<

pset06-solns-%.mps : pset06-solns.mp
	$(MPOST) $<

pset06.pdf : pset06.tex $(PSET06_MPS)
	$(TEX) $<

pset06-%.mps : pset06.mp
	$(MPOST) $<

pset07-solns.pdf : pset07-solns.tex $(PSET07_SOLNS_MPS)
	$(TEX) $<

pset07-solns-%.mps : pset07-solns.mp
	$(MPOST) $<

transportation-example.pdf : transportation-example.tex weirdtable.tex \
		$(TRANSPORTATION_MPS)
	$(TEX) $<

transportation-example-%.mps : transportation-example.mp
	$(MPOST) $<

clean :
	$(RM) $(TARGETS) $(TARGETS:pdf=log) $(FINAL_MPS) $(FINAL_SOLNS_MPS) \
		$(MIDTERM_SOLNS_MPS) $(PSET04_SOLNS_MPS) $(PSET05_MPS) \
		$(PSET05_SOLNS_MPS) $(PSET06_MPS) $(PSET06_SOLNS_MPS) \
		$(PSET07_SOLNS_MPS) $(TRANSPORTATION_MPS) *.mpx mptextmp.mp
