vial/Makefile
2026-04-17 01:27:16 +03:00

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)