#==============================================================================
#                               demos/Makefile
#------------------------------------------------------------------------------
# Makefile to generate the demo pictures.
#------------------------------------------------------------------------------

include ../Config.mk
SHELL=/bin/sh

#-----------------------------------------------------------------------------

MBINDIR  = ../master/bin${ARCH}
MDEMODIR = ../master/demos
TSIPP    = ${MBINDIR}/tsipp
TKSIPP   = ${MBINDIR}/tksipp
HEADER   = "\#!${BINDIR}/tsipp"

#-----------------------------------------------------------------------------

DONE=chain.done     cone.done      ellipsoid.done    isy90.done     \
     planet.done    prism.done     strauss.done      structure.done \
     torus.done     vw.done        wood.done

INSTDEMOS= ${MDEMODIR}/chain          ${MDEMODIR}/cone       \
           ${MDEMODIR}/ellipsoid      ${MDEMODIR}/isy90      \
           ${MDEMODIR}/planet         ${MDEMODIR}/prism      \
           ${MDEMODIR}/strauss        ${MDEMODIR}/structure  \
           ${MDEMODIR}/torus          ${MDEMODIR}/vw         \
           ${MDEMODIR}/wood           ${MDEMODIR}/tksippdemo \
   	   ${MDEMODIR}/demoutil.tlib  ${MDEMODIR}/demoutil.tndx

#-----------------------------------------------------------------------------

all: demoutil.tndx ${INSTDEMOS}

demoutil.tndx: demoutil.tlib
	${TSIPP} -c "buildpackageindex demoutil.tlib"

${MDEMODIR}/chain: chain.tcl
	echo ${HEADER} >$@
	cat chain.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/cone: cone.tcl
	echo ${HEADER} >$@
	cat cone.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/ellipsoid: ellipsoid.tcl
	echo ${HEADER} >$@
	cat ellipsoid.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/isy90: isy90.tcl
	echo ${HEADER} >$@
	cat isy90.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/planet: planet.tcl
	echo ${HEADER} >$@
	cat planet.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/prism: prism.tcl
	echo ${HEADER} >$@
	cat prism.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/strauss: strauss.tcl
	echo ${HEADER} >$@
	cat strauss.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/structure: structure.tcl
	echo ${HEADER} >$@
	cat structure.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/torus: torus.tcl
	echo ${HEADER} >$@
	cat torus.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/vw: vw.tcl
	echo ${HEADER} >$@
	cat vw.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/wood: wood.tcl
	echo ${HEADER} >$@
	cat wood.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/tksippdemo: tksippdemo.tcl
	echo "#!${BINDIR}/tksipp -f" >$@
	cat tksippdemo.tcl >> $@
	chmod a+rx $@

${MDEMODIR}/demoutil.tlib: demoutil.tlib
	cp demoutil.tlib $@

${MDEMODIR}/demoutil.tndx: demoutil.tndx
	cp demoutil.tndx $@

#-----------------------------------------------------------------------------

demo: ${DONE} TKMSG demoutil.tndx

chain.done:
	${TSIPP} chain.tcl       $(DEMOARGS)
	touch chain.done

cone.done:
	${TSIPP} cone.tcl    $(DEMOARGS)
	touch cone.done

ellipsoid.done:
	${TSIPP} ellipsoid.tcl   $(DEMOARGS)
	touch ellipsoid.done

isy90.done:
	${TSIPP} isy90.tcl       $(DEMOARGS)
	touch isy90.done

planet.done:
	${TSIPP} planet.tcl  $(DEMOARGS)
	touch planet.done

prism.done:
	${TSIPP} prism.tcl   $(DEMOARGS)
	touch prism.done

strauss.done:
	${TSIPP} strauss.tcl $(DEMOARGS)
	touch strauss.done

structure.done:
	${TSIPP} structure.tcl   $(DEMOARGS)
	touch structure.done

torus.done:
	${TSIPP} torus.tcl   $(DEMOARGS)
	touch torus.done

vw.done:
	${TSIPP} vw.tcl    $(DEMOARGS)
	touch vw.done

wood.done:
	${TSIPP} wood.tcl    $(DEMOARGS)
	touch wood.done

TKMSG:
	@if [ -x ${TKSIPP} ] ;\
	then \
	    echo "" ;\
	    echo "*** Use make tkdemo to run interactive tksipp demo ***" ;\
	    echo "" ;\
	fi

tkdemo:
	${TKSIPP} -file tksippdemo.tcl

#-----------------------------------------------------------------------------

clean: 
	rm -f *.rle *.ppm *.pbm *.done core
	rm -rf tkdemo.dir *.tndx
