chiark / gitweb /
air-hockey-puck: wip
[reprap-play.git] / Makefile
index 70d20e09a3a71db7e2262c10a4a3e7a8511f657d..f2302b677e7a7a8417511901ba869f8ef7112d61 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 # reprap-objects Makefile
 #
 # Build scripts for various 3D designs
-# Copyright 2012-2016 Ian Jackson
+# Copyright 2012-2023 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
 # You should have received a copy of the GNU General Public License
 # along with this work.  If not, see <http://www.gnu.org/licenses/>.
 
-
-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
-
-AUTO_TOPLEVELS := $(foreach m,$(USING_AUTOS),$(shell $(PLAY)/toplevel-find $m))
-
-AUTO_INCS = funcs.scad utils.scad sealing-box.scad sewing-table.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 $@
+QUACKSES = $(addprefix quacks-ingredients-L, 1 2 3 4 5)
+QUACKS_SCADS = $(addsuffix .scad, $(QUACKSES))
 
-%.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
+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 fairphone-battery-case fairphone4-case fairphone4-case-coarse lock-inframe-bracket ksafe-base $(QUACKSES) quacks-ingredients-demos mic-table-clamp nook-case nook-case-test scaffold-clamp-common scaffold-clamp-tensioner scaffold-clamp-linear-bracket scaffold-clamp-straphook powerbank-bike-clamp topeak-mtx-tortec-expeditionrack-adapter lipo-flat-mount laptop-sound-cable-hooks digispark-with-cable chimney-cable-retainer $(foreach x,500 1000,adafruit-powerboost-$x)
 
-%:             %.cpp
-               cpp -nostdinc -P <$< >$@.tmp && mv -f $@.tmp $@
+AUTO_INCS += sealing-box.scad sewing-table.scad nutbox.scad \
+            powerbank-anker-10000.dxf \
+            poster-tube-lid-parametric.scad \
+            $(QUACKS_SCADS)
 
-funcs.scad:
+AUTO_STLS_INCS += poster-tube-lid,CatchPostDistort-fa3.stl
+AUTO_STLS_INCS += poster-tube-lid,CatchPostDistort-fa20.stl
 
-#%.gcode:      %.stl
-#              $(SKEINFORGE) $<
-
-%.gcode:       manual-gcode-generator %.m-g
-               $(PLAY)/$^ >$@.tmp && mv -f $@.tmp $@
+include diziet-utils/reprap-objects.make
 
 dovecliptest.stl: doveclip.scad $(AUTO_INCS)
 
@@ -113,12 +61,18 @@ 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 $@
+               @$i
 
 .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 $@
+               @$i
+
+maglite-holder-torch-curve.dxf: maglite-holder-torch-curve.eps
+               pstoedit -dt -flat 0.05 -f "dxf: -polyaslines -mm" $< $@
+
+powerbank-anker-10000.dxf: powerbank-anker-10000.eps
+               pstoedit -dt -f "dxf: -polyaslines -mm" $< $@
 
 PANDEMICQUARANTINES_NUMBERS=1 2
 PANDEMICQUARANTINES_DXFS=$(foreach l,$(PANDEMICQUARANTINES_NUMBERS), \
@@ -130,17 +84,17 @@ 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 $@
+               @$i
 
 FILAMENTSPOOL_NUMBERS=$(shell seq 300 100 1500)
 filamentspool-number-n%.eps:   filamentspool-number.eps.pl
-       ./$< $* >$@.tmp && mv -f $@.tmp $@
+       ./$< $* $o
 
 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)
+       $(DUTILS)/toplevel-find $(CWD)/$f))): $(FILAMENTSPOOL_DXFS)
 
 filamentspool-numbers filamentspool.stl: $(FILAMENTSPOOL_DXFS)
 
@@ -149,43 +103,48 @@ 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 $@
+       ./$< $* $o
 
 screw-recess-test-number-s%.eps: screw-recess-test-number-s%.fig
                fig2dev -L eps <$< >$@.tmp
-               @mv -f $@.tmp $@
+               @$i
 
 screw-recess-test-numbers screw-recess-test.stl: $(SCREWRECESSTEST_DXFS)
 
 question-question.eps: question-question.fig
                fig2dev -L eps <$< >$@.tmp
-               @mv -f $@.tmp $@
+               @$i
+
+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
+               @$i
 
 question-token.stl: question-question.dxf
 
 lemon-stand.stl: lemon-stand.scad
 
+electron-token.stl: electron-token.scad
+
+quacks-scads: $(addsuffix .auto.scads, $(QUACKSES))
+quacks-scads: quacks-ingredients-demos.auto.scads
+
+quacks-stls: $(addsuffix .auto.stls, $(QUACKSES))
+
 .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 $@
-
-.PRECIOUS: %.auto.scad
-%.auto.scad: $(PLAY)/toplevel-make Makefile $(PLAY)/toplevel-find
-               @echo ' write $@'
-               $< $@ >$@.tmp
-               @mv -f $@.tmp $@
+poster-tube-lid,CatchAssembly.auto.stl: poster-tube-lid,CatchPostDistort-fa3.stl
+poster-tube-lid-coarse,CatchAssembly.auto.stl: poster-tube-lid,CatchPostDistort-fa20.stl
 
-.PRECIOUS:     %.stl %.gcode %.eps %.dxf
+poster-tube-lid,CatchPostDistort-fa%.stl: \
+               distort-stl poster-tube-lid,CatchPreDistort.auto.stl
+       ./distort-stl <poster-tube-lid,CatchPreDistort.auto.stl \
+               set-fa $(notdir $*) project-cylinder 100 >$@.tmp
+       $i
 
-clean:
-               rm -f *~ *.stl *.auto.scad *.gcode .*.d $(AUTO_INCS)