# Last edited on 2009-05-23 21:54:35 by stolfi

PROG := pnmtopsx
PROGDIR  := ..

include ${STOLFIHOME}/programs/c/GENERIC-PROGS-TEST.make

PICNAME := lady3

SHOWPS := gv

TESTS := \
  pgm:00019: \
  pgm:00019:-scale@0.25
  
TESTS_OK := \
  pbm:00001: \
  pbm:00001:-scale@0.25 \
  pgm:00019: \
  pgm:00255: \
  ppm:00019: \
  ppm:00255: \
  ppm:00255:-turn \
  ppm:00255:-noturn \
  ppm:00255:-scale@0.50 \
  ppm:00255:-rle
  
TESTS_DONT := \
  pgm:65535:@ \
  ppm:65535:@

ACTIONS := build-eps show-eps

all:
	for t in ${TESTS} ; do \
          ${MAKE} TESTARGS=$$t ${addprefix single-,${ACTIONS}} ; \
        done

clean::
	${MAKE} ACTIONS=clean  all

######################################################################
# Recursive make - caller must define ${TESTARGS}.

TESTARGS := TESTARGS.IS.UNDEFINED

ifneq "/${TESTARGS}" "/TESTARGS.IS.UNDEFINED"

TESTFIELDS := ${subst :, ,${TESTARGS}}
EXT :=    ${word 1,${TESTFIELDS}}
DEPTH :=  ${word 2,${TESTFIELDS}}
OPTS :=   ${word 3,${TESTFIELDS}}

OPTSTAG := o${subst .,,${subst @,-,${OPTS}}}

PNGFILE := ${PICNAME}.png
PNMNAME := /tmp/${PICNAME}-${DEPTH}
PNMFILE := ${PNMNAME}.${EXT}
EPSFILE := ${PICNAME}-${DEPTH}-${EXT}-${OPTSTAG}.eps

single-build-eps: ${EPSFILE}

${EPSFILE}: ${PNMFILE} ${PROGDIR}/${PROG}
	${PROGDIR}/${PROG} \
            ${subst @, ,${OPTS}} \
            ${PNMFILE} \
          > ${EPSFILE}
        
single-show-eps: ${EPSFILE}
	${SHOWPS} ${EPSFILE}

${PNMNAME}.pbm: ${PNGFILE}
	convert ${PNGFILE} PGM:- \
          | pgmnorm -bpercent 5 -wpercent 10 \
          | pgmtopbm -floyd \
          > $@
	pnmfile $@
	display $@ ${PNGFILE}

${PNMNAME}.pgm: ${PNGFILE}
	convert ${PNGFILE} PGM:- \
          | pamdepth ${DEPTH} \
          > $@
	pnmfile $@
	display $@

${PNMNAME}.ppm: ${PNGFILE}
	convert ${PNGFILE} PPM:- \
          | pamdepth ${DEPTH} \
          > $@
	pnmfile $@
	display $@

single-clean: 
	rm -f ${PNMFILE} ${EPSFILE}

endif
# end ${TESTARGS} section
######################################################################
       
