22 lines
810 B
Makefile
22 lines
810 B
Makefile
basedir := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
OPENSCAD = openscad
|
|
OPENSCAD_FLATPAK = flatpak run --filesystem=$(basedir) org.openscad.OpenSCAD
|
|
|
|
ifdef USE_FLATPAK
|
|
OPENSCAD = $(OPENSCAD_FLATPAK)
|
|
endif
|
|
|
|
BASENAME = mini-tube
|
|
SOURCE_FILE = $(BASENAME).scad
|
|
PRESET_FILE = $(BASENAME).json
|
|
PRESETS = 1ml-50mm2 1ml-100mm2 2ml-50mm2 2ml-100mm2 2ml-200mm2 5ml-100mm2 5ml-200mm2 5ml-333mm2 5ml-500mm2 10ml-333mm2 10ml-500mm2
|
|
|
|
default: $(foreach preset,$(PRESETS),$(BASENAME)-$(preset).3mf)
|
|
.PHONY: default
|
|
|
|
$(BASENAME)-%.3mf: params = $(subst -, ,$*)
|
|
$(BASENAME)-%.3mf: volume_ml = $(patsubst %ml,%,$(word 1,$(params)))
|
|
$(BASENAME)-%.3mf: preset = $(word 2,$(params))
|
|
$(BASENAME)-%.3mf: $(SOURCE_FILE) $(PRESET_FILE)
|
|
$(OPENSCAD) -o $@ -p $(PRESET_FILE) -P $(preset) -D volume_ml=$(volume_ml) $(SOURCE_FILE)
|