+dovecliptest.stl: doveclip.scad $(AUTO_INCS)
+
+KNIFEBLOCK_KNIVES= 0 1 2
+KNIFEBLOCK_TEMPLATES= bl hl
+KNIFEBLOCK_TEMPLATE_FILES=\
+ $(foreach k,$(KNIFEBLOCK_KNIVES), \
+ $(foreach t,$(KNIFEBLOCK_TEMPLATES), \
+ knifeblock-knives-t$k$t.dxf))
+
+knifeblock-knives-templates knifeblock.stl: $(KNIFEBLOCK_TEMPLATE_FILES)
+
+.PRECIOUS: knifeblock-knives-t%.dxf
+knifeblock-knives-t%.dxf: knifeblock-knives-filter knifeblock-knives-trace.fig
+ ./$< $(notdir $*) <$(filter %.fig, $^) >$@.tmp.fig
+ fig2dev -D -30 -L eps <$@.tmp.fig >$@.tmp.eps
+ pstoedit -dt -f "dxf: -polyaslines -mm" $@.tmp.eps $@
+
+PANDEMICCOUNTER_LETTERS=30 31 32 33 34 35
+PANDEMICCOUNTER_DXFS=$(foreach l,$(PANDEMICCOUNTER_LETTERS), \
+ pandemic-counter-l$l.dxf)
+
+pandemic-counter-letters: $(PANDEMICCOUNTER_DXFS)
+pandemic-counter%.stl: $(PANDEMICCOUNTER_DXFS)
+
+.PRECIOUS: pandemic-counter-l%.eps
+pandemic-counter-l%.eps: pandemic-counter-letters.fig
+ fig2dev -D +$(notdir $*) -L eps <$< >$@.tmp
+ @mv -f $@.tmp $@
+
+.PRECIOUS: maglite-holder-torch-curve.eps
+maglite-holder-torch-curve.eps: maglite-holder-torch.fig
+ fig2dev -D +1:70 -L eps <$< >$@.tmp
+ @mv -f $@.tmp $@
+
+maglite-holder-torch-curve.dxf: maglite-holder-torch-curve.eps
+ pstoedit -dt -flat 0.05 -f "dxf: -polyaslines -mm" $< $@
+
+
+PANDEMICQUARANTINES_NUMBERS=1 2
+PANDEMICQUARANTINES_DXFS=$(foreach l,$(PANDEMICQUARANTINES_NUMBERS), \
+ pandemic-quarantine-l$l.dxf)
+
+pandemic-quarantine-numbers: $(PANDEMICQUARANTINES_DXFS)
+pandemic-quarantine%.stl: $(PANDEMICQUARANTINES_DXFS)
+
+.PRECIOUS: pandemic-quarantine-l%.eps
+pandemic-quarantine-l%.eps: pandemic-quarantine-numbers.fig
+ fig2dev -D +$(notdir $*) -L eps <$< >$@.tmp
+ @mv -f $@.tmp $@
+
+FILAMENTSPOOL_NUMBERS=$(shell seq 300 100 1500)
+filamentspool-number-n%.eps: filamentspool-number.eps.pl
+ ./$< $* >$@.tmp && mv -f $@.tmp $@
+
+FILAMENTSPOOL_DXFS=$(foreach n,$(FILAMENTSPOOL_NUMBERS), \
+ filamentspool-number-n$n.dxf)
+
+$(addsuffix .auto.stl, $(foreach f,$(FILAMENTSPOOL_AUTOS),$(shell \
+ $(PLAY)/toplevel-find $(PLAY)/$f))): $(FILAMENTSPOOL_DXFS)
+
+filamentspool-numbers filamentspool.stl: $(FILAMENTSPOOL_DXFS)
+
+SCREWRECESSTEST_SIZES= 2 3 4 5 6
+SCREWRECESSTEST_DXFS=$(foreach s,$(SCREWRECESSTEST_SIZES), \
+ screw-recess-test-number-s$s.dxf)
+
+screw-recess-test-number-s%.fig: screw-recess-test-number.fig.pl
+ ./$< $* >$@.tmp && mv -f $@.tmp $@
+
+screw-recess-test-number-s%.eps: screw-recess-test-number-s%.fig
+ fig2dev -L eps <$< >$@.tmp
+ @mv -f $@.tmp $@
+
+screw-recess-test-numbers screw-recess-test.stl: $(SCREWRECESSTEST_DXFS)
+
+question-question.eps: question-question.fig
+ fig2dev -L eps <$< >$@.tmp
+ @mv -f $@.tmp $@
+
+sewing-table%.stl: sewing-table-rear-profile.dxf
+sewing-table%.stl: sewing-table-front-profile.dxf
+sewing-table%.stl: sewing-table-end-profile.dxf
+
+sewing-table-%-profile.eps: sewing-table-%-profile.fig
+ fig2dev -L eps -D +40 <$< >$@.tmp
+ @mv -f $@.tmp $@
+
+question-token.stl: question-question.dxf
+
+lemon-stand.stl: lemon-stand.scad
+
+electron-token.stl: electron-token.scad
+
+.PRECIOUS: $(SCREWRECESSTEST_DXFS) $(SCREWRECESSTEST_DXFS) \
+ $(foreach s,$(SCREWRECESSTEST_SIZES), \
+ screw-recess-test-number-s$s.fig \
+ screw-recess-test-number-s$s.eps)
+
+%.dxf: %.eps
+ pstoedit -dt -f "dxf: -polyaslines -mm" $< $@
+
+%: %.pl
+ ./$< >$@.tmp && mv -f $@.tmp $@
+
+%: %.m4
+ $(M4) -P >$@.tmp $< && mv -f $@.tmp $@