all:	f77_diagram

C_FLAGS = -O2 -Wall
L_FLAGS =

f77_diagram:	block.o do_loop.o f77_diagram.o if.o label.o links.o parse_fortran.o
		gcc $(L_FLAGS) -o f77_diagram block.o do_loop.o f77_diagram.o if.o label.o \
		    	          links.o parse_fortran.o
		
block.o:	     block.c block.h
		     gcc $(C_FLAGS) -c block.c

do_loop.o:	     do_loop.c do_loop.h
		     gcc $(C_FLAGS) -c do_loop.c

f77_diagram.o:	f77_diagram.c
		gcc $(C_FLAGS) -c f77_diagram.c

if.o:		if.c if.h
		gcc $(C_FLAGS) -c if.c

label.o:	label.c label.h
		gcc $(C_FLAGS) -c label.c

links.o:	links.c links.h
		gcc $(C_FLAGS) -c links.c

parse_fortran.o:    parse_fortran.c parse_fortran.h
		    gcc $(C_FLAGS) -c parse_fortran.c

out.dot:	./f77_diagram
		./f77_diagram -o out.dot plot.for

out.gif:	out.dot
		dot -Tgif out.dot -o out.gif

out.png:	out.dot
		dot -Tpng out.dot -o out.png

out.ps:		out.dot
		dot -Tps out.dot -o out.ps

out.pdf:	out.ps
		gs -sPAPERSIZE=b0 -sDEVICE=pdfwrite -sOutputFile=reddr.pdf out.ps

quads:		out.png
		convert out.png -crop 50% out_ne.png
		convert out.png -rotate 90 -crop 50% -rotate -90 out_nw.png
		convert out.png -rotate 180 -crop 50% -rotate -180 out_se.png
		convert out.png -rotate 270 -crop 50% -rotate -270 out_sw.png


clean:		
		rm -f f77_diagram *.o *.ps *.png *.dot *.gif *~ core *.pdf
