# Last edited on 2018-10-04 16:05:38 by stolfilocal

PROG := make_tesla_valve
PROGDIR := ..

TESTS := \
  test1:NS18:CB1:CT1
  
OTHER_TESTS := \
  test2:NS01:CB1:CT1 \
   \
  test1:NS01:CB1:CT1 \
  test1:NS02:CB1:CT1 \
  test1:NS18:CB1:CT1 \
   \
  test3:NS01:CB1:CT1 \
  test3:NS18:CB1:CT1 \
   \
  test4:NS01:CB1:CT1 \
  test4:NS18:CB1:CT1
  
SHOW := YES

.PHONY:: run-all-tests run-single debug-single show-single clean-single

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

all: run-all-tests

run-all-tests:
	for test in ${TESTS} ; do \
          ${MAKE} TEST_ARGS="$${test}" debug-single run-single ; \
        done
        
######################################################################
# For recursive makes - caller must define ${TEST_ARGS}
ifneq "/${TEST_ARGS}" "/"

TEST_ARGS_WDS := ${subst :, ,${TEST_ARGS}}

SHAPE_NAME :=     ${word  1, ${TEST_ARGS_WDS}}
NUM_STAGES :=     ${word  2, ${TEST_ARGS_WDS}}
CUPS_BOT :=       ${word  3, ${TEST_ARGS_WDS}}
CUPS_TOP :=       ${word  4, ${TEST_ARGS_WDS}}

TEST_NAME := ${SHAPE_NAME}_${NUM_STAGES}_${OMIT_LOOPS}_${CUPS_BOT}_${CUPS_TOP}

SHAPE_FILE := in/${SHAPE_NAME}.txt

OUT_PREFIX := out/${TEST_NAME}

TOM_FILE := ${OUT_PREFIX}.tom
STL_FILE := ${OUT_PREFIX}.stl


debug-single: 
	@echo "TEST_NAME = ${TEST_NAME}"

run-single: clean-single ${STL_FILE} show-single

VOXEL_SIZE := 0.65

${TOM_FILE}: ${PROGDIR}/${PROG} 
	${PROGDIR}/${PROG} \
          -voxelSize ${VOXEL_SIZE} \
          `cat ${SHAPE_FILE} | sed -e '/^[%]/d' -e '/^ *$$/d'` \
          -numStages ${subst NS,,${NUM_STAGES}} \
          -cups ${subst CB,,${CUPS_BOT}} ${subst CT,,${CUPS_TOP}} \
          > ${TOM_FILE}

${STL_FILE}: ${TOM_FILE}
	tomo_to_stl -step ${VOXEL_SIZE} -eps 0.005 < ${TOM_FILE} > ${STL_FILE}

show-single:
ifeq "/${SHOW}" "/YES"
	stmesh_view -format ascii -nfGuess 3000000 -eps 0.005 ${STL_FILE} 
endif

clean-single: 
	rm -fv ${TOM_FILE} ${STL_FILE}
        
endif
# end ${TEST_ARGS} section
######################################################################

clean::

