80 lines
2.5 KiB
Makefile
80 lines
2.5 KiB
Makefile
# =================================================================
|
|
# Futterturm -- STL- und Bildexport
|
|
#
|
|
# make alle Druckteile nach build/
|
|
# make halbe zusaetzlich die beiden Deckelhaelften
|
|
# make img Vorschaubilder nach img/
|
|
# make build/rohr.stl einzelnes Teil
|
|
# make clean build/ loeschen
|
|
# =================================================================
|
|
|
|
OPENSCAD ?= openscad
|
|
SRC := futterturm.scad
|
|
|
|
# Binaeres STL: rund ein Sechstel der Dateigroesse von ASCII-STL
|
|
STLOPT := --export-format binstl
|
|
BUILD := build
|
|
IMG := img
|
|
|
|
# Teile, die man in der Vorgabekonfiguration druckt
|
|
PARTS := deckel rohr stopfen spange2 stift
|
|
STLS := $(PARTS:%=$(BUILD)/%.stl)
|
|
|
|
RENDER = $(OPENSCAD) --render --colorscheme=Tomorrow --autocenter
|
|
VIEWALL = --viewall
|
|
|
|
.PHONY: all halbe img clean
|
|
.DELETE_ON_ERROR:
|
|
|
|
all: $(STLS)
|
|
|
|
# Die Zielverzeichnisse entstehen im Rezept ($(@D)), nicht als eigenes
|
|
# Target -- sonst kollidiert das Verzeichnis img mit dem Phony-Ziel img.
|
|
$(BUILD)/%.stl: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(OPENSCAD) $(STLOPT) -D 'part="$*"' -o $@ $<
|
|
|
|
# Deckel in zwei Haelften -- fuer Druckbetten unter 344 mm
|
|
halbe: $(BUILD)/deckel_a.stl $(BUILD)/deckel_b.stl
|
|
|
|
$(BUILD)/deckel_a.stl: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(OPENSCAD) $(STLOPT) -D geteilt=true -D 'part="deckel_a"' -o $@ $<
|
|
|
|
$(BUILD)/deckel_b.stl: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(OPENSCAD) $(STLOPT) -D geteilt=true -D 'part="deckel_b"' -o $@ $<
|
|
|
|
# -----------------------------------------------------------------
|
|
# Vorschaubilder fuers README
|
|
# -----------------------------------------------------------------
|
|
img: $(IMG)/alle.png $(IMG)/deckel.png $(IMG)/rohr.png \
|
|
$(IMG)/rohr-schnitt.png $(IMG)/spange2.png $(IMG)/stopfen.png
|
|
|
|
$(IMG)/alle.png: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(RENDER) $(VIEWALL) --imgsize=1200,850 --camera=0,0,0,55,0,25,0 -D 'part="alle"' -o $@ $<
|
|
|
|
$(IMG)/deckel.png: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(RENDER) --imgsize=1400,420 --camera=0,0,0,55,0,12,380 -D 'part="deckel"' -o $@ $<
|
|
|
|
$(IMG)/rohr.png: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(RENDER) $(VIEWALL) --imgsize=520,900 --camera=0,0,0,78,0,22,0 -D 'part="rohr"' -o $@ $<
|
|
|
|
$(IMG)/spange2.png: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(RENDER) $(VIEWALL) --imgsize=900,620 --camera=0,0,0,110,0,25,0 -D 'part="spange2"' -o $@ $<
|
|
|
|
$(IMG)/stopfen.png: $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(RENDER) $(VIEWALL) --imgsize=800,600 --camera=0,0,0,62,0,25,0 -D 'part="stopfen"' -o $@ $<
|
|
|
|
$(IMG)/rohr-schnitt.png: doc/rohr-schnitt.scad $(SRC)
|
|
@mkdir -p $(@D)
|
|
$(RENDER) $(VIEWALL) --imgsize=800,760 --camera=0,0,0,72,0,28,0 -o $@ $<
|
|
|
|
clean:
|
|
rm -rf $(BUILD)
|