HRR=/home/reprap SLIC3R=$(HRR)/Slic3r/bin/slic3r SKEINFORGE=python $(HRR)/reprappro-software.git/skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py CWD := $(shell pwd) PLAY ?= $(CWD) CONFIG=$(PLAY)/slic3r-config.ini USING_AUTOS ?= filamentspool xeno-drivebay-bracket dungeonquest-cone anke-gps-bracket cable-hole-trunking-cover anglepoise-neck crossbar-computer-led-mount wardrobe-hook knifeblock pandemic-counter AUTO_TOPLEVELS := $(foreach m,$(USING_AUTOS),$(shell $(PLAY)/toplevel-find $m)) AUTO_INCS = funcs.scad default: autoincs scads autoincs: $(AUTO_INCS) scads: $(addsuffix .auto.scad, $(AUTO_TOPLEVELS)) stls: $(addsuffix .auto.stl, $(AUTO_TOPLEVELS)) %.auto.scads: $(MAKE) $(addsuffix .auto.scad, $(shell $(PLAY)/toplevel-find $*)) %.auto.stls: $(MAKE) $(addsuffix .auto.stl, $(shell $(PLAY)/toplevel-find $*)) -include .*.d %.stl: %.scad $(AUTO_INCS) openscad -d .$@.d.tmp -o $*.tmp.stl $< @rm -f $@ @sed -e 's/\.tmp\.stl:/.stl:/' <.$@.d.tmp >.$@.d @rm .$@.d.tmp mv -f $*.tmp.stl $@ AUTOBASE=$(shell echo $(1) | perl -pe 's/,\w+\.auto$$//') %.gcode: %.stl $(CONFIG) $(SLIC3R) --load $(CONFIG) \ --ignore-nonexistent-config \ --load $(call AUTOBASE,$*).slic3r \ --load $*.slic3r \ --output $@.tmp $< @mv -f $@.tmp $@ %.gcode-sd: %.gcode mount /media/sd cp $^ /media/sd/JOB.G sleep 0.5 umount /media/sd %: %.cpp cpp -nostdinc -P <$< >$@.tmp && mv -f $@.tmp $@ funcs.scad: #%.gcode: %.stl # $(SKEINFORGE) $< %.gcode: manual-gcode-generator %.m-g $(PLAY)/$^ >$@.tmp && mv -f $@.tmp $@ 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 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 $@ 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) .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 $@ .PRECIOUS: %.auto.scad %.auto.scad: $(PLAY)/toplevel-make Makefile $(PLAY)/toplevel-find @echo ' write $@' $< $@ >$@.tmp @mv -f $@.tmp $@ .PRECIOUS: %.stl %.gcode %.eps %.dxf clean: rm -f *~ *.stl *.auto.scad *.gcode .*.d $(AUTO_INCS)