DESTDIR=build
CONFDIR=conf

SLIC3R=~/opt/Slic3r/bin/slic3r

SUITES=suns moons crowns arms
SUITES=clubs diamonds hearts spades
VALUES=null ace 2 3 4 5

tiles:
	mkdir -p ${DESTDIR}
	for SUITE in ${SUITES}; do \
	    for VALUE in ${VALUES}; do \
	        openscad -o ${DESTDIR}/tile-$$SUITE-$$VALUE.stl \
		-D suite=\"$$SUITE\" -D value=\"$$VALUE\" src/tile.scad; \
	    done \
	done

coins:
	mkdir -p ${DESTDIR}
	for SUITE in ${SUITES}; do \
	    for VALUE in ${VALUES}; do \
	        openscad -o ${DESTDIR}/coin-$$SUITE-$$VALUE.stl \
		-D suite=\"$$SUITE\" -D value=\"$$VALUE\" src/coin.scad; \
	    done \
	done

dice:
	mkdir -p ${DESTDIR}
	for SUITE in ${SUITES}; do \
	    openscad -o ${DESTDIR}/die-$$SUITE.stl \
	    -D suite=\"$$SUITE\" src/die.scad; \
	done
	openscad -o ${DESTDIR}/suite_die.stl \
	    -D suite='["suns","moons","crowns","arms"]' src/suite_die.scad

pawns:
	mkdir -p ${DESTDIR}
	for SUITE in ${SUITES}; do \
	    openscad -o ${DESTDIR}/pawn-$$SUITE.stl \
	    -D suite=\"$$SUITE\" src/pawn.scad; \
	done

saucers:
	mkdir -p ${DESTDIR}
	for SUITE in ${SUITES}; do \
	    openscad -o ${DESTDIR}/saucer-$$SUITE.stl \
	    -D suite=\"$$SUITE\" src/saucer.scad; \
	done

gcode: tiles coins dice saucers
	for T in ${DESTDIR}/tile*.stl; do \
	    ${SLIC3R} --load ${CONFDIR}/tiles.ini $$T; \
	done 
	for T in ${DESTDIR}/coin*.stl ${DESTDIR}/saucer*.stl; do \
	    ${SLIC3R} --load ${CONFDIR}/coins.ini $$T; \
	done 
	for T in ${DESTDIR}/die*.stl ${DESTDIR}/suite_die*.stl; do \
	    ${SLIC3R} --load ${CONFDIR}/dice.ini $$T; \
	done 

all: tiles coins dice pawns saucers