SRC=dragonrider.pov
IMG=$(subst .pov,.ppm,$(SRC))

#SHOW=-geometry -0+40 +D +AM2 +A +Q9 +W800 +H600 +Ot.ppm +Q9 +SC300 +SR250
#SHOW=-geometry -0+40 +SP8 +D +Q9 +W800 +H600
#SHOW=-geometry +0+0 +D +Q3 +W800 +H600 +SC271 +EC350 +SR186
#SHOW=-geometry +0+0 +D +AM2 +A +Q9 +W800 +H600 +SC183 +EC220 +SR25 # Gem
#SHOW=-geometry +0+0 +D +AM2 +A +Q9 +W1152 +H864
#SHOW=+V +AM2 +A +Q9 +W2400 +H1800
SHOW=-geometry +0+0 +D +AM2 +A +Q9 +W800 +H600
CAVE_DETAIL=64
CAVE_DETAIL=512
POV=x-povray

default: dragonrider.ppm

all: $(IMG)

all.ppm: $(IMG)
	pnmcat -lr $(IMG) >all.ppm

mountain.ppm: mountain.pgm
	fractal -Imountain.pgm -s1 -$(CAVE_DETAIL) -h >mountain.ppm

%.ppm: %.pov %.inc
	$(POV) $(SHOW) +fp -i$*.pov

%.ppm: %.pov
	$(POV) $(SHOW) +fp -i$*.pov

DRAGONDEP=horn.inc tail.inc neck.inc scales.ppm scales2.ppm scales2c.gif wing.inc dragon.inc

dragonrider.ppm: $(DRAGONDEP)

scales.gif: scale4s.gif
	giftopnm <scale4s.gif | pnmtile 2560 128 | pnmscale 0.5 | ppmtogif >scales.gif

scales.ppm: scale4s.ppm
	pnmtile 2560 128 scale4s.ppm | pnmscale 0.5 >scales.ppm

scales2.gif: scale4s.gif belly.gif
	giftopnm <belly.gif >y$$$$.ppm ;\
	giftopnm <scale4s.gif | pnmtile 960 128 >x$$$$.ppm; \
	pnmflip -lr x$$$$.ppm >z$$$$.ppm ;\
	pnmcat -lr x$$$$.ppm y$$$$.ppm z$$$$.ppm | pnmscale 0.5 | ppmtogif >scales2.gif

scales2.ppm: scale4s.ppm belly.ppm
	pnmtile 960 128 scale4s.ppm >x$$$$.ppm; \
	pnmflip -lr x$$$$.ppm >z$$$$.ppm ;\
	pnmcat -lr x$$$$.ppm belly.ppm z$$$$.ppm | pnmscale 0.5 >scales2.ppm

scales2c.gif: scalecol.gif bellycol.gif
	giftopnm <bellycol.gif >y$$$$.ppm ;\
	giftopnm <scalecol.gif | pnmtile 960 128 >x$$$$.ppm; \
	pnmflip -lr x$$$$.ppm >z$$$$.ppm ;\
	pnmcat -lr x$$$$.ppm y$$$$.ppm z$$$$.ppm | pnmscale 0.5 | ppmtogif >scales2c.gif

horn.inc: horn.ctd
	ctdws -i -n 5 -p 3 <horn.ctd >horn.inc

tail.inc: tail.ctd
	ctdws -i -n 5 -p 3 <tail.ctd >tail.inc

neck.inc: neck.ctd
	ctdws -s -i -n 5 -p 3 <neck.ctd >neck.inc

wing.inc: wing1.ctd wing2.ctd wing3.ctd wing4.ctd
	ctdws -i -n 5 -p 3 <wing1.ctd >wing.inc
	ctdws -i -n 5 -p 3 <wing2.ctd >>wing.inc
	ctdws -i -n 5 -p 3 <wing3.ctd >>wing.inc
	ctdws -i -n 5 -p 3 <wing4.ctd >>wing.inc
