From df965e1289cbf64caf20ace61dc84aa8693f5332 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 22 Aug 2019 18:41:05 +0100 Subject: [PATCH] Makefile, reprap-objects.make: move reuseable parts into own file No functional change for in-tree use. Out-of-tree users have to include reprap-objects.make instead. Signed-off-by: Ian Jackson --- Makefile | 84 +----------------------------------- reprap-objects.make | 103 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+), 82 deletions(-) create mode 100644 reprap-objects.make diff --git a/Makefile b/Makefile index 14769bc..c654224 100644 --- a/Makefile +++ b/Makefile @@ -16,76 +16,15 @@ # You should have received a copy of the GNU General Public License # along with this work. If not, see . - -HRR=/home/reprap -SLIC3R=$(HRR)/Slic3r/bin/slic3r -M4=m4 -SKEINFORGE=python $(HRR)/reprappro-software.git/skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py - -CWD := $(shell pwd) -PLAY ?= $(CWD) - -CONFIG=$(PLAY)/slic3r-config.ini - FILAMENTSPOOL_AUTOS = filamentspool filamentspool-lt filamentspool-sm FILAMENTSPOOL_AUTOS += filamentspool-storarm3 USING_AUTOS ?= $(FILAMENTSPOOL_AUTOS) xeno-drivebay-bracket dungeonquest-cone anke-gps-bracket cable-hole-trunking-cover anglepoise-neck crossbar-computer-led-mount wardrobe-hook knifeblock pandemic-counter pattress-boxes-3-cover bike-lipo-box earring-stand bike-stalk-led-mount sewing-table sewing-table-test sewing-table-jig maglite-holder poster-tube-lid poster-tube-lid-coarse fairphone-case lock-inframe-bracket ksafe-base -AUTO_TOPLEVELS := $(foreach m,$(USING_AUTOS),$(shell $(PLAY)/toplevel-find $m)) - -AUTO_INCS += funcs.scad sealing-box.scad sewing-table.scad \ +AUTO_INCS += sealing-box.scad sewing-table.scad \ poster-tube-lid-parametric.scad -default: autoincs scads - -$(shell set -xe; $(PLAY)/commitid.scad.pl >commitid.scad.tmp; cmp commitid.scad.tmp commitid.scad || mv -f commitid.scad.tmp commitid.scad ) - -autoincs: $(AUTO_INCS) -scads: $(addsuffix .auto.scad, $(AUTO_TOPLEVELS)) -stls: $(addsuffix .auto.stl, $(AUTO_TOPLEVELS)) - -%.auto.scads: %.scad - $(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 - rm -f /media/sd/JOB.* /media/sd/job.* - 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 $@ +include reprap-objects.make dovecliptest.stl: doveclip.scad $(AUTO_INCS) @@ -191,22 +130,3 @@ poster-tube-lid,CatchPostDistort-fa%.stl: \ set-fa $(notdir $*) project-cylinder 100 >$@.tmp mv -f $@.tmp $@ -%.dxf: %.eps - pstoedit -dt -f "dxf: -polyaslines -mm" $< $@ - -%: %.pl - ./$< >$@.tmp && mv -f $@.tmp $@ - -%: %.m4 - $(M4) -P >$@.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) diff --git a/reprap-objects.make b/reprap-objects.make new file mode 100644 index 0000000..8d4fe9f --- /dev/null +++ b/reprap-objects.make @@ -0,0 +1,103 @@ +# reprap-objects Makefile, reuseable parts +# +# Build scripts for various 3D designs +# Copyright 2012-2016 Ian Jackson +# +# This work is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This work is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this work. If not, see . + + +HRR=/home/reprap +SLIC3R=$(HRR)/Slic3r/bin/slic3r +M4=m4 +SKEINFORGE=python $(HRR)/reprappro-software.git/skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py + +CWD := $(shell pwd) +PLAY ?= $(CWD) + +CONFIG=$(PLAY)/slic3r-config.ini + +AUTO_TOPLEVELS := $(foreach m,$(USING_AUTOS),$(shell $(PLAY)/toplevel-find $m)) + +AUTO_INCS += funcs.scad + +default: autoincs scads + +$(shell set -xe; $(PLAY)/commitid.scad.pl >commitid.scad.tmp; cmp commitid.scad.tmp commitid.scad || mv -f commitid.scad.tmp commitid.scad ) + +autoincs: $(AUTO_INCS) +scads: $(addsuffix .auto.scad, $(AUTO_TOPLEVELS)) +stls: $(addsuffix .auto.stl, $(AUTO_TOPLEVELS)) + +%.auto.scads: %.scad + $(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 + rm -f /media/sd/JOB.* /media/sd/job.* + 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 $@ + +%.dxf: %.eps + pstoedit -dt -f "dxf: -polyaslines -mm" $< $@ + +%: %.pl + ./$< >$@.tmp && mv -f $@.tmp $@ + +%: %.m4 + $(M4) -P >$@.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) + -- 2.30.2