# Last edited on 2019-04-17 14:40:46 by stolfilocal # ACTIONS := first middle last fastmovie # ACTIONS := first middle last ACTIONS := middle all: ${MAKE} ${ACTIONS} print_help: @-echo "You must execute 'make '" @-echo "" @-echo "To render a movie (or some frames of a movie) use any of these:" @-echo "" @-echo " make first" @-echo " make middle" @-echo " make last" @-echo " make strip" @-echo " make fastmovie" @-echo " make fullmovie" @-echo " make clean" @-echo " make CLOCK=N.NNNN still" NAME := main # Aspect ratio of image: HASPECT := 4 VASPECT := 3 # Large image size (e.g. still frames): FULLWIDTH := ${shell echo '200*${HASPECT}' | bc -lq } FULLHEIGHT := ${shell echo '200*${VASPECT}' | bc -lq } # Medium image size (e.g. the final movie): MEDWIDTH := ${shell echo '100*${HASPECT}' | bc -lq } MEDHEIGHT := ${shell echo '100*${VASPECT}' | bc -lq } # Small image size (e.g. the film strips): SMALLWIDTH := ${shell echo '20*${HASPECT}' | bc -lq } SMALLHEIGHT := ${shell echo '20*${VASPECT}' | bc -lq } .PHONY:: \ first \ middle \ last \ still \ fastmovie \ fullmovie \ clean # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # Still frames first: ${MAKE} CLOCK=0.0000 still middle: ${MAKE} CLOCK=0.5000 still; last: ${MAKE} CLOCK=1.0000 still; STILLTAG := x STILLWIDTH := ${FULLWIDTH} STILLHEIGHT := ${FULLHEIGHT} STILLRAYS := 2 ###################################################################### # Commands for a specific still frame: # Caller must define ${CLOCK}. CLOCK := CLOCK.IS.UNDEFINED ifneq "${CLOCK}" "CLOCK.IS.UNDEFINED" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # "make still CLOCK=N.NNNN" creates a frame with specified clock value: # still: ${MAKE} -f FRAME.make \ NAME=${NAME} TAG=${STILLTAG} \ WIDTH=${STILLWIDTH} HEIGHT=${STILLHEIGHT} NRAYS=${STILLRAYS} \ CLOCK=${CLOCK} SHOW=YES \ all endif # ${CLOCK} # ####################################################################### # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # "make strip" creates a strip with several frames: STRIPTAG := s STRIPWIDTH := ${SMALLWIDTH} STRIPHEIGHT := ${SMALLHEIGHT} strip: ${MAKE} -f STRIP.make \ NAME=${NAME} TAG=${STRIPTAG} \ WIDTH=${STRIPWIDTH} HEIGHT=${STRIPHEIGHT} \ all # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # "make fastmovie" creates a movie with 24 medium-size frames at speed × 4. FASTTAG := f FASTWIDTH := ${MEDWIDTH} FASTHEIGHT := ${MEDHEIGHT} fastmovie: ${MAKE} -f MOVIE.make \ NAME=${NAME} TAG=${FASTTAG} \ WIDTH=${FASTWIDTH} HEIGHT=${FASTHEIGHT} \ all FULLTAG := m FULLWIDTH := ${MEDWIDTH} FULLHEIGHT := ${MEDHEIGHT} fullmovie: ${MAKE} -f MOVIE.make \ NAME=${NAME} TAG=${FULLTAG} \ WIDTH=${FULLWIDTH} HEIGHT=${FULLHEIGHT} \ all clean: -rm -fv ${NAME}-[a-z]{,-[0-9][.][0-9]*}.{png,gif}