# Last edited on 2023-02-04 09:07:37 by stolfi PROG := make_focus_chart PROGDIR := .. include ${STOLFIHOME}/programs/c/GENERIC-PROGS-TEST.make # Test arguments: # # DPI:LWD:RAD:SPACING:NGX:NGY # # The paramters {LWD},{RAD},{SPACING} are expressed in dots. # They had better be even since they are otherwise rounded to even. # The mark grid sizes {NGX}, {NGY} had better be odd. # Note '=' rather than ':=' since def comes later. TESTS = ${TESTS_BEST} TESTS_BEST := \ 0600:02:04:016:013:005 \ 0600:02:04:016:007:003 TESTS_SPACING := \ 0600:02:04:010:013:005 \ 0600:02:04:012:013:005 \ 0600:02:04:014:013:005 \ 0600:02:04:016:013:005 \ TESTS_RADIUS := \ 0600:02:02:024:013:005 \ 0600:02:04:024:013:005 \ 0600:02:06:024:013:005 \ 0600:02:08:024:013:005 TESTS_LWD := \ 0600:02:08:024:013:005 \ 0600:04:08:024:013:005 \ 0600:06:08:024:013:005 .PHONY:: do-all do-single all: do-all do-all: ${PROGDIR}/${PROG} for tt in ${TESTS}; do \ ${MAKE} TEST=$${tt} do-single ; \ done ###################################################################### # For recursive "make": called must define ${TEST} ifneq "/${TEST}" "/" TARGS := ${subst :, ,${TEST}} DPI := ${word 1, ${TARGS}} LWD_D := ${word 2, ${TARGS}} RADIUS_D := ${word 3, ${TARGS}} SPACING_D := ${word 4, ${TARGS}} NGX := ${word 5, ${TARGS}} NGY := ${word 6, ${TARGS}} LWD := ${shell echo '${LWD_D}*25.4/${DPI}' | bc -lq} RADIUS := ${shell echo '${RADIUS_D}*25.4/${DPI}' | bc -lq} SPACING := ${shell echo '${SPACING_D}*25.4/${DPI}' | bc -lq} OUTNAME := out/focus_${DPI}_${LWD_D}_${RADIUS_D}_${SPACING_D}_${NGX}_${NGY} PDFVIEW := evince do-single: ${OUTNAME}.pdf ${OUTNAME}.pdf: ${PROGDIR}/${PROG} ${PROGDIR}/${PROG} \ -size ${NGX} ${NGY} \ -spacing ${SPACING} \ -radius ${RADIUS} \ -lineWidth ${LWD} \ -nCopies 3 20 \ -dpi ${DPI} \ -geomFile ${OUTNAME}.txt ps2pdf out/chart.eps ${OUTNAME}.pdf ${PDFVIEW} ${OUTNAME}.pdf endif ###################################################################### # Dots to millimeters # N 600 DPI 1200 DPI # --- ----------------- ----------------- # 1 0.042333333333333 0.021166666666667 # 2 0.084666666666667 0.042333333333333 # 3 0.127000000000000 0.063500000000000 # 4 0.169333333333333 0.084666666666667 # 5 0.211666666666667 0.105833333333333 # 6 0.254000000000000 0.127000000000000 # 7 0.296333333333333 0.148166666666667 # 8 0.338666666666667 0.169333333333333 # 9 0.381000000000000 0.190500000000000 # 10 0.423333333333333 0.211666666666667 # 11 0.465666666666667 0.232833333333333 # 12 0.508000000000000 0.254000000000000 # 13 0.550333333333333 0.275166666666667 # 14 0.592666666666667 0.296333333333333 # 15 0.635000000000000 0.317500000000000 # 16 0.677333333333333 0.338666666666667 # 17 0.719666666666667 0.359833333333333 # 18 0.762000000000000 0.381000000000000 # 19 0.804333333333333 0.402166666666667 # 20 0.846666666666667 0.423333333333333 # 21 0.889000000000000 0.444500000000000 # 22 0.931333333333333 0.465666666666667 # 23 0.973666666666667 0.486833333333333 # 24 1.016000000000000 0.508000000000000 # 25 1.058333333333333 0.529166666666667 # 26 1.100666666666667 0.550333333333333 # 27 1.143000000000000 0.571500000000000 # 28 1.185333333333333 0.592666666666667 # 29 1.227666666666666 0.613833333333333 # 30 1.270000000000000 0.635000000000000 # 31 1.312333333333333 0.656166666666667 # 32 1.354666666666667 0.677333333333333 # 33 1.397000000000000 0.698500000000000 # 34 1.439333333333333 0.719666666666667 # 35 1.481666666666667 0.740833333333333 # 36 1.524000000000000 0.762000000000000 # 37 1.566333333333333 0.783166666666667 # 38 1.608666666666666 0.804333333333333 # 39 1.651000000000000 0.825500000000000 # 40 1.693333333333333 0.846666666666667 # 41 1.735666666666666 0.867833333333333 # 42 1.778000000000000 0.889000000000000 # 43 1.820333333333333 0.910166666666667 # 44 1.862666666666666 0.931333333333333 # 45 1.905000000000000 0.952500000000000 # 46 1.947333333333333 0.973666666666667 # 47 1.989666666666667 0.994833333333333 # 48 2.032000000000000 1.016000000000000 # 49 2.074333333333333 1.037166666666667 # 50 2.116666666666667 1.058333333333333