all: hw3sol.dvi hw3sol.pdf

clean:
	rm -f hw3sol.dvi *.out *.dat prog9 prog10a prog10b prog10c \
	*.log *.pdf *.ps U1.tex U2.tex T1.tex T2.tex

hw3sol.dvi: hw3sol.tex schur.mpl schurA1.out schurA2.out prog9.c \
	p5.tex p10.tex p15.tex prog10a.out prog10b.out prog10c.out
	tex hw3sol.tex

hw3sol.pdf: hw3sol.dvi
	dvipdf hw3sol.dvi

schurA1.out: schur.mpl
	maple -DA0="[[3,8],[-2,3]]" schur.mpl >schurA1.out
	dd if=T.tex conv=lcase of=T1.tex
	dd if=U.tex conv=lcase of=U1.tex

schurA2.out: schur.mpl
	maple -DA0="[[4,7],[1,12]]" schur.mpl >schurA2.out
	dd if=T.tex conv=lcase of=T2.tex
	dd if=U.tex conv=lcase of=U2.tex

prog9: prog9.c
	gcc -std=gnu99 -o prog9 prog9.c

p5.dat: prog9
	echo 5 | ./prog9 >p5.dat

p10.dat: prog9
	echo 10 | ./prog9 >p10.dat

p15.dat: prog9
	echo 15 | ./prog9 >p15.dat

p5.tex: p5.dat plot9.plt
	gnuplot -e 'set output "p5.tex"; datafile="p5.dat"' plot9.plt

p10.tex: p10.dat plot9.plt
	gnuplot -e 'set output "p10.tex"; datafile="p10.dat"' plot9.plt

p15.tex: p15.dat plot9.plt
	gnuplot -e 'set output "p15.tex"; datafile="p15.dat"' plot9.plt

prog10a.out: prog10.c Makefile
	gcc -std=gnu99 -DF="z*z+1" -o prog10a prog10.c -lm
	./prog10a >prog10a.out

prog10b.out: prog10.c Makefile
	gcc -std=gnu99 -DF="cexp(z)+z" -o prog10b prog10.c -lm
	./prog10b >prog10b.out

prog10c.out: prog10.c Makefile
	gcc -std=gnu99 -DF="z*z*z" -o prog10c prog10.c -lm
	./prog10c >prog10c.out
