# Makefile for PNG specification

MASTER=png-master.html

default: png-all.html png.html png-rfc.txt

png-all.html: png-master-xrefs.html png-contents makesingle
	./makesingle <png-master-xrefs.html >png-all.html

png.html: $(MASTER) png-contents makemulti
	./makemulti <$(MASTER)

png-rfc.nr: png-master-xrefs.html png-contents makerfc
	./makerfc <png-master-xrefs.html > png-rfc.nr

png-contents: $(MASTER) makecontents
	./makecontents <$(MASTER) >png-contents

showxrefs: $(MASTER) makeshowxrefs
	./makeshowxrefs <$(MASTER) >showxrefs
	chmod +x showxrefs

png-master-xrefs.html: $(MASTER) showxrefs
	./showxrefs <$(MASTER) >png-master-xrefs.html

numbers: png-master-xrefs.html makerfc makenumbers fix.sh
	./makerfc -PN < png-master-xrefs.html > png-rfc-names.nr
	nroff -ms png-rfc-names.nr | fix.sh > png-rfc-names.txt
	./makenumbers < png-rfc-names.txt > numbers
	chmod +x numbers

png-rfc-contents: png-master-xrefs.html numbers makedotleaders \
	makecontents makerfc
	./makecontents -PN < png-master-xrefs.html >png-contents-names
	./numbers < png-contents-names >png-contents-numbers.html
	./makerfc < png-contents-numbers.html > png-contents-numbers.nr
	nroff -ms png-contents-numbers.nr > png-contents-numbers.txt
	./makedotleaders < png-contents-numbers.txt >png-rfc-contents

png-rfc.txt: png-master-xrefs.html png-rfc-contents fix.sh makerfc
	mv png-contents hold-png-contents
	cp png-rfc-contents png-contents
	./makerfc <png-master-xrefs.html > png-rfc-numbers.nr
	nroff -ms png-rfc-numbers.nr | fix.sh > png-rfc.txt
	mv hold-png-contents png-contents

clean:
	rm -f png-all.html png.html png-contents PNG-*.html \
	png-master-xrefs.html showxrefs numbers png-rfc-contents \
	png-rfc.nr

distribute:
	rm -f pngspec-html.tar*
	tar cvf pngspec-html.tar png.html PNG-*.html
	gzip -9 pngspec-html.tar

dist-master:
	rm -f pngspec-master.tar*
	tar cvf pngspec-master.tar png-master.html pngextensions.html \
		Makefile makesingle makemulti makecontents README
	gzip -9 pngspec-master.tar
