diff --git a/.gitignore b/.gitignore index ae09ee1..792515c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ *.stl *.3mf *.gcode +*.png +public/ diff --git a/Makefile b/Makefile index df207d3..e577d71 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,32 @@ +DESTDIR = public PARAMETERS := $(shell cat Lego.json | grep -v '"parameterSets": ""' | jq -r '.parameterSets | keys[]') -STL = $(PARAMETERS:%=%.stl) +STL = $(PARAMETERS:%=$(DESTDIR)/%.stl) +PNG = $(PARAMETERS:%=$(DESTDIR)/%.png) +INDEX = $(DESTDIR)/index.html SCAD = Lego.scad CONFIG = Lego.json -all: $(STL) +.PHONY: all +all: models thumbnails +.PHONY: clean clean: - rm -f $(STL) + rm -f $(STL) $(PNG) $(INDEX) -$(STL): $(SCAD) $(CONFIG) Makefile - openscad -o $@ -p $(CONFIG) -P $(@:%.stl=%) $(SCAD) +.PHONY: models +models: $(STL) +.PHONY: thumbnails +thumbnails: $(PNG) + +.PHONY: webpage +webpage: thumbnails $(INDEX) + +$(STL) $(PNG): $(SCAD) $(CONFIG) Makefile + mkdir -p $(@D) + openscad -o $@ -p $(CONFIG) -P $(basename $(@F)) $(SCAD) + +$(INDEX): header.html entry.html footer.html Makefile + cat header.html > $@ + $(foreach P,$(PARAMETERS),cat entry.html | sed 's/%/$P/g' >> $@;) + cat footer.html >> $@ diff --git a/entry.html b/entry.html new file mode 100644 index 0000000..39e3bfa --- /dev/null +++ b/entry.html @@ -0,0 +1,4 @@ + +

%

+ +
diff --git a/footer.html b/footer.html new file mode 100644 index 0000000..7fb2bd6 --- /dev/null +++ b/footer.html @@ -0,0 +1,2 @@ + + diff --git a/header.html b/header.html new file mode 100644 index 0000000..9d9df57 --- /dev/null +++ b/header.html @@ -0,0 +1,5 @@ + + + LEGO STLs + +