FONTBASES = bedstead bedstead-extended bedstead-semicondensed \
            bedstead-condensed bedstead-extracondensed bedstead-ultracondensed

SFDFILES = $(addsuffix .sfd, $(FONTBASES))
OTFFILES = $(addsuffix .otf, $(FONTBASES))
PFAFILES = $(addsuffix .pfa, $(FONTBASES))
AFMFILES = $(addsuffix .afm, $(FONTBASES))

FONTFILES = $(SFDFILES) $(OTFFILES) $(PFAFILES) $(AFMFILES)

DISTFILES = bedstead.c Makefile COPYING \
	$(FONTFILES) \
	bedstead-10.bdf bedstead-20.bdf \
	bedstead-10-df.png bedstead-20-df.png

all: $(DISTFILES) \
     sample.png title.png extended.png \
     bedstead-10-df.png bedstead-20-df.png

bedstead.sfd: bedstead
	./bedstead > bedstead.sfd

bedstead-extended.sfd: bedstead
	./bedstead --extended > bedstead-extended.sfd

bedstead-semicondensed.sfd: bedstead
	./bedstead --semi-condensed > bedstead-semicondensed.sfd

bedstead-condensed.sfd: bedstead
	./bedstead --condensed > bedstead-condensed.sfd

bedstead-extracondensed.sfd: bedstead
	./bedstead --extra-condensed > bedstead-extracondensed.sfd

bedstead-ultracondensed.sfd: bedstead
	./bedstead --ultra-condensed > bedstead-ultracondensed.sfd


%.otf %-10.bdf %-20.bdf: %.sfd
	fontforge -lang=ff \
	    -c 'Open($$1); BitmapsAvail([10, 20]); Generate($$2, "bdf")' $< $@

%.pfa %.afm: %.sfd
	fontforge -lang=ff -c 'Open($$1); Generate($$2)' $< $@

%.png: %.ps $(PFAFILES)
	gs -q -dSAFER -sDEVICE=pnggray -dTextAlphaBits=4 -o $@ \
		$(PFAFILES) $<

bedstead-%-df.png: df.ps bedstead.pfa
	gs -q -dSAFER -dsize=$* -sDEVICE=png16m -o $@ bedstead.pfa $<

.PHONY: clean
clean:
	rm -f bedstead *.sfd *.otf *.bdf *.pfa *.png

.PHONY: dist

dist: $(DISTFILES) bedstead
	rm -rf bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
	mkdir bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
	ln $(DISTFILES) \
	    bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
	zip -r bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd).zip \
	    bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
	rm -r bedstead-$$(sed -n 's/^Version: //p' < bedstead.sfd)
