# Makefile for px.cnx.gdn # Copyright (C) 2023 Nguyễn Gia Phong # # This program is licensed under CC BY-SA 4.0. SHELL = /bin/sh PREFIX ?= /tmp/px.cnx.gdn PICTURES := $(filter-out %.small.jpg $(PREFIX)/%.jpg, $(wildcard */*.jpg)) THUMBNAILS := $(patsubst %.jpg,%.small.jpg,$(PICTURES)) DATA := $(wildcard */index.xml) PAGES := $(patsubst %.xml,%.xhtml,$(DATA)) OUTPUTS := $(THUMBNAILS) $(PAGES) atom.xml ALL := $(OUTPUTS) $(PICTURES) index.xhtml favicon.png style.css all: $(OUTPUTS) %.small.jpg: %.jpg epeg -w 1024 -p -q 80 $< $@ %.xhtml: %.xml page.xslt xsltproc page.xslt $< > $@ atom.xml: atom.xslt $(DATA) $(wildcard *.svg) xsltproc atom.xslt > atom.xml clean: rm -f atom.xml */{index.xhtml,*.small.jpg} $(PREFIX)/%: % install -Dm644 $< $@ install: all $(addprefix $(PREFIX)/,$(ALL)) uninstall: rm -fr $(PREFIX) live: $(THUMBNAILS) ln -fs index.xhtml index.xml .PHONY: all clean install uninstall live