chiark / gitweb /
Import threads.scad v2.5 from my objects repo to diziet-utils
[reprap-play.git] / reprap-objects.make
index 9d9bf54c46bfc3bb4b41e456fc7e9ff98ed939e2..9a56e49619da23ea1d3d2349f50e8db01aebb83d 100644 (file)
@@ -1,7 +1,8 @@
 # reprap-objects Makefile, reuseable parts
 #
 # 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
@@ -40,6 +41,9 @@ stls:         $(addsuffix .auto.stl, $(AUTO_TOPLEVELS))
 %.auto.stls:
        $(MAKE) $(addsuffix .auto.stl, $(shell $(DUTILS)/toplevel-find $*))
 
+i=mv -f $@.tmp $@
+o= >$@.tmp && $i
+
 -include .*.d
 
 %.stl:         %.scad $(AUTO_INCS)
@@ -52,28 +56,28 @@ stls:               $(addsuffix .auto.stl, $(AUTO_TOPLEVELS))
 AUTOBASE=$(shell echo $(1) | perl -pe 's/,\w+\.auto$$//')
 
 %:             %.cpp
-               cpp -nostdinc -P <$< >$@.tmp && mv -f $@.tmp $@
+               cpp -nostdinc -P <$< $o
 
 funcs.scad:    diziet-utils/funcs.scad.cpp
-               cpp -nostdinc -P $< >$@.tmp && mv -f $@.tmp $@
+               cpp -nostdinc -P $< $o
 
 %.gcode:       manual-gcode-generator %.m-g
-               $(CWD)/$^ >$@.tmp && mv -f $@.tmp $@
+               $(CWD)/$^ $o
 
 %.dxf:         %.eps
                pstoedit -dt -f "dxf: -polyaslines -mm" $< $@
 
 %:             %.pl
-               ./$< >$@.tmp && mv -f $@.tmp $@
+               ./$< $o
 
 %:             %.m4
-               $(M4) -P >$@.tmp $< && mv -f $@.tmp $@
+               $(M4) -P >$@.tmp $< && $i
 
 .PRECIOUS: %.auto.scad
 %.auto.scad: $(DUTILS)/toplevel-make Makefile $(DUTILS)/toplevel-find
                @echo ' write $@'
                $< $@ >$@.tmp
-               @mv -f $@.tmp $@
+               @$i
 
 .PRECIOUS:     %.stl %.gcode %.eps %.dxf