website/Makefile

58 lines
2.0 KiB
Makefile

SHELL = /bin/sh
SOURCES = $(shell find src/ -type f)
SITEMAP_INDEX_FILES = $(wildcard src/*/index.gmi)
all: subdirs \
$(SOURCES:src/%.gmi=html/%.html) \
$(SOURCES:src/%.gmi=gmi/%.gmi) \
$(SOURCES:src/%.png=html/%.png) \
$(SOURCES:src/%.png=gmi/%.png) \
$(SOURCES:src/%.webp=html/%.webp) \
$(SOURCES:src/%.webp=gmi/%.webp) \
gmi/sitemap.gmi \
html/sitemap.html \
gmi/feed.atom \
html/feed.atom \
upload:
scp -r gmi/* techn0path@vern.cc:public_gemini
scp -r html/* techn0path@vern.cc:public_html
test: testing/input.gmi testing/input.ass
mawk -f scripts/navbar.awk -f ~/projects/awk_functions/lib.awk -f scripts/html.awk -- testing/input.gmi > testing/output.html
mawk -f scripts/navbar.awk -f ~/projects/awk_functions/lib.awk -f scripts/gemini.awk -- testing/input.gmi > testing/output.gmi
mawk -f ~/projects/awk_functions/lib.awk -f scripts/feed.awk -- testing/input.ass > testing/output.atom
subdirs:
find src -mindepth 1 -type d -printf '%P\0' | xargs -0 -I{} mkdir -p gmi/{} html/{}
html/%.png: src/%.png
cp $< $@
gmi/%.png: src/%.png
cp $< $@
html/%.webp: src/%.webp
cp $< $@
gmi/%.webp: src/%.webp
cp $< $@
html/%.html: src/%.gmi scripts/html.awk
mawk -f scripts/navbar.awk -f ~/projects/awk_functions/lib.awk -f scripts/html.awk -- $< > $@
gmi/%.gmi: src/%.gmi scripts/gemini.awk
mawk -f scripts/navbar.awk -f ~/projects/awk_functions/lib.awk -f scripts/gemini.awk -- $< > $@
gmi/sitemap.gmi: $(SITEMAP_INDEX_FILES) scripts/sitemap_gmi.awk
mawk -f ~/projects/awk_functions/lib.awk -f scripts/sitemap_gmi.awk -- $(SITEMAP_INDEX_FILES) > $@
html/sitemap.html: $(SITEMAP_INDEX_FILES) scripts/sitemap_html.awk
mawk -f ~/projects/awk_functions/lib.awk -f scripts/sitemap_html.awk -- $(SITEMAP_INDEX_FILES) > $@
gmi/feed.atom: src/feed.ass scripts/feed.awk
mawk -f ~/projects/awk_functions/lib.awk -f scripts/feed.awk -- $< > $@
html/feed.atom: src/feed.ass scripts/feed.awk
mawk -v 'willConvertLinks=1' -f ~/projects/awk_functions/lib.awk -f scripts/feed.awk -- $< > $@