

all: e2e-traffic.pdf e2e-traffic.ps

e2e-traffic.dvi: e2e-traffic.tex e2e-traffic.bib
	latex e2e-traffic.tex
	bibtex e2e-traffic
	latex e2e-traffic.tex
	latex e2e-traffic.tex

e2e-traffic.pdf: e2e-traffic.tex e2e-traffic.dvi
	pdflatex e2e-traffic.tex

e2e-traffic.ps: e2e-traffic.dvi
	dvips e2e-traffic.dvi -o e2e-traffic.ps

macview: e2e-traffic.pdf
	open e2e-traffic.pdf

clean:
	rm -f e2e-traffic.ps e2e-traffic.ps e2e-traffic.aux e2e-traffic.log
	rm -f e2e-traffic.bbl e2e-traffic.blg e2e-traffic.dvi
	rm -f *~ */*~
	rm -f tmp/fig*

words:
	wc -w e2e-traffic.tex

dist:
	(cd ..; tar czf e2e-traffic.tar.gz 		\
		e2e-traffic/llncs.cls			\
		e2e-traffic/Makefile   			\
		e2e-traffic/graphs/*eps			\
		e2e-traffic/graphs/*pdf			\
		e2e-traffic/e2e-traffic.ps		\
		e2e-traffic/e2e-traffic.pdf		\
		e2e-traffic/e2e-traffic.tex		\
		e2e-traffic/e2e-traffic.bib		\
	)

#----------------------------------------------------------------------
PYTHON=python2.3
ANALYZE=$(PYTHON) src/analyze.py
COMBINE=$(PYTHON) src/combine.py
POSTPROC=$(PYTHON) src/postproc.py

analysis: results
	$(ANALYZE) raw/trial1.* > tmp/trial1.analyzed
	$(ANALYZE) raw/trial1u.* > tmp/trial1u.analyzed
	$(ANALYZE) raw*/trial2r.* > tmp/trial2r.analyzed
	$(ANALYZE) raw*/trial[34]r* > results/trial34r.analyzed
	$(ANALYZE) raw*/trial5a* > results/trial5a.analyzed
	$(ANALYZE) raw*/trial5c* > results/trial5c.analyzed
	$(ANALYZE) raw*/trial5d* > results/trial5d.analyzed
	$(ANALYZE) raw*/trial6.* > results/trial6.analyzed

combine: results/trial1c.analyzed results/trial2c.analyzed 

results/trial1c.analyzed: tmp/trial1.analyzed tmp/trial1u.analyzed
	$(COMBINE) tmp/trial1.analyzed tmp/trial1u.analyzed > results/trial1c.analyzed

#results/trial2c.analyzed: tmp/trial2.analyzed tmp/trial2u.analyzed
#	$(COMBINE) tmp/trial2.analyzed tmp/trial2u.analyzed > results/trial2c.analyzed

backup:
	mkisofs -r -J -o /tmp/backup.iso .
#----------------------------------------------------------------------

tmp:
	mkdir tmp

graph: psgraphs pdfgraphs

psgraphs: graphs/fig1.eps graphs/fig2a.eps graphs/fig34.eps \
	graphs/fig5a.eps graphs/fig5c.eps graphs/fig5d.eps graphs/fig6.eps

pdfgraphs: graphs/fig1.pdf graphs/fig2a.pdf graphs/fig34.pdf \
	graphs/fig5a.pdf graphs/fig5c.pdf graphs/fig5d.pdf graphs/fig6.pdf

%.pdf: %.eps
	epstopdf $<

#========== CASE 1
tmp/fig1-5.dat: results/trial1c.analyzed Makefile tmp 
	for B in 5 25 125 1000; do \
	  CLIP=1 MINSIZE=2 $(POSTPROC) results/trial1c.analyzed b=$$B \
	  m=8,16,32,64 \
	  N p50_all m > tmp/fig1-$$B.dat; \
	done

fig1: tmp/fig1-5.dat scripts/fig1.gp
	gnuplot scripts/fig1.gp scripts/viewpost.gp

graphs/fig1.eps: tmp/fig1-5.dat scripts/fig1.gp scripts/pspre.gp
	OUT=fig1 gnuplot scripts/pspre.gp scripts/fig1.gp

#========== CASE 2
tmp/fig2-UU-60.dat: results/trial2r.analyzed Makefile tmp
	CLIP=""; \
	for S in BU BB; do \
	    CLIP=1 MINSIZE=3 $(POSTPROC) results/trial2r.analyzed \
	    m=8,16 b=125 \
	    S=$$S $$CLIP\
	    N p50_all m b > tmp/fig2-$$S.dat; \
	done
	CLIP=1 MINSIZE=3 $(POSTPROC) results/trial1c.analyzed \
	    N#1048576 \
	    m=8,16 b=125 N p50_all m > tmp/fig2-SD.dat

fig2both: tmp/fig2-UU-60.dat
	gnuplot scripts/fig2.gp scripts/viewpost.gp

fig2a: tmp/fig2-UU-60.dat scripts/fig2a.gp
	gnuplot scripts/fig2a.gp scripts/viewpost.gp

fig2b: tmp/fig2-UU-60.dat scripts/fig2b.gp
	gnuplot scripts/fig2b.gp scripts/viewpost.gp

graphs/fig2a.eps: tmp/fig2-UU-60.dat scripts/fig2a.gp
	OUT=fig2a gnuplot scripts/pspre.gp scripts/fig2a.gp

graphs/fig2b.eps: tmp/fig2-UU-60.dat scripts/fig2b.gp
	OUT=fig2b gnuplot scripts/pspre.gp scripts/fig2b.gp

#========== CASES 3,4

tmp/fig34x10.dat: results/trial34r.analyzed Makefile tmp
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 pD=10 \
          pA p50_all l bg pA > tmp/fig34x10.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 pD=30 \
          pA p50_all l bg pA > tmp/fig34x30.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 pD=60 \
          pA p50_all l bg pA > tmp/fig34x60.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 pD=90 \
          pA p50_all l bg pA > tmp/fig34x90.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 l=1 \
          pA p50_all l bg pA pD > tmp/fig34x1.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 l=2 \
          pA p50_all l bg pA pD> tmp/fig34x2.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 l=4 \
          pA p50_all l bg pA pD > tmp/fig34x4.dat
	MINSIZE=3 $(POSTPROC)  results/trial34r.analyzed \
          bg=125 l=8 \
          pA p50_all l bg pA pD > tmp/fig34x8.dat

fig34: tmp/fig34x10.dat scripts/fig34.gp
	gnuplot scripts/fig34.gp scripts/viewpost.gp

graphs/fig34.eps: tmp/fig34x10.dat scripts/fig34.gp
	OUT=fig34 gnuplot scripts/pspre.gp scripts/fig34.gp

#========== CASE 5

tmp/fig5a-4-10.dat: results/trial5a.analyzed Makefile tmp
	for L in 1 4; do \
	  for D in 10 60; do \
	   MINSIZE=3 $(POSTPROC) results/trial5a.analyzed \
	      l=$$L pD=$$D \
	      pJ p50_all > tmp/fig5a-$$L-$$D.dat; \
	  done; \
	done

tmp/fig5b-1-10.dat: results/trial5b.analyzed Makefile tmp
	for pad in 1 2 5; do \
	  for D in 10 60; do \
	   MINSIZE=2 $(POSTPROC) results/trial5b.analyzed \
	     pl=$$pad pD=$$D \
	     pOn guess pA > tmp/fig5b-$$pad-$$D.dat; \
	  done; \
	done
	$(POSTPROC) results/trial5b.analyzed \
	     pA p50_1_2 pOn pl pD l > tmp/fig5b-x.dat

tmp/fig5c-10-1-2.dat: results/trial5c.analyzed Makefile tmp
	for D in 10 60; do \
	 for L in 1 4; do \
	  for pad in 2 4; do \
           $(POSTPROC) results/trial5c.analyzed \
             sm=1 pl=$$pad pD=$$D l=$$L pOn p50_all > tmp/fig5c-$$D-$$L-$$pad.dat; \
          done \
	 done \
	done

tmp/fig5d-5d.dat: results/trial5d.analyzed Makefile tmp
	$(POSTPROC) results/trial5d.analyzed l=1 bg=125 pA=60 m=32 pl=2 pD p50_all \
	    > tmp/fig5d-5d.dat
	$(POSTPROC) results/trial34r.analyzed l=1 bg=125 pA=60 m=32 pD p50_all\
	    > tmp/fig5d-3r.dat
	$(POSTPROC) results/trial5d.analyzed l=1 bg=125 pA=60 m=32 pl=0 pD p50_all \
	    > tmp/fig5d-5dd.dat


fig5a: tmp/fig5a-4-10.dat scripts/fig5a.gp
	gnuplot scripts/fig5a.gp scripts/viewpost.gp

graphs/fig5a.eps: tmp/fig5a-4-10.dat scripts/fig5a.gp
	OUT=fig5a gnuplot scripts/pspre.gp scripts/fig5a.gp

fig5b: tmp/fig5b-1-10.dat scripts/fig5b.gp
	gnuplot scripts/fig5b.gp scripts/viewpost.gp

graphs/fig5b.eps: tmp/fig5b-1-10.dat scripts/fig5b.gp
	OUT=fig5b gnuplot scripts/pspre.gp scripts/fig5b.gp

fig5c: tmp/fig5c-10-1-2.dat scripts/fig5c.gp
	gnuplot scripts/fig5c.gp scripts/viewpost.gp

graphs/fig5c.eps: tmp/fig5c-10-1-2.dat scripts/fig5c.gp
	OUT=fig5c gnuplot scripts/pspre.gp scripts/fig5c.gp

fig5d: tmp/fig5d-5d.dat scripts/fig5d.gp
	gnuplot scripts/fig5d.gp scripts/viewpost.gp

graphs/fig5d.eps: tmp/fig5d-5d.dat scripts/fig5d.gp
	OUT=fig5d gnuplot scripts/pspre.gp scripts/fig5d.gp


#========== CASE 6

tmp/fig6-10.dat: results/trial6.analyzed Makefile tmp
	MINSIZE=3 $(POSTPROC) results/trial6.analyzed \
	  pD=10 pOb p50_all > tmp/fig6-10.dat
	MINSIZE=3 $(POSTPROC) results/trial6.analyzed \
	  pD=60 pOb p50_all > tmp/fig6-60.dat

fig6: tmp/fig6-10.dat scripts/fig6.gp
	gnuplot scripts/fig6.gp scripts/viewpost.gp

graphs/fig6.eps: tmp/fig6-10.dat scripts/fig6.gp
	OUT=fig6 gnuplot scripts/pspre.gp scripts/fig6.gp

#========== CASE 7

tmp/fig7a.dat: results/trial7a.analyzed Makefile tmp
#	for bg in 128 1024 8192 65536; do
	 $(POSTPROC) results/trial7a.analyzed \
	   bg p50_all N pA l pD > tmp/fig7a.dat
#        done

fig7a: tmp/fig7a.dat scripts/fig7a.gp
	gnuplot scripts/fig7a.gp scripts/viewpost.gp
