Codebase list debian-timeline / a5b3f28e-026b-43ff-8ff5-c4f35ddfba3e/main Makefile
a5b3f28e-026b-43ff-8ff5-c4f35ddfba3e/main

Tree @a5b3f28e-026b-43ff-8ff5-c4f35ddfba3e/main (Download .tar.gz)

Makefile @a5b3f28e-026b-43ff-8ff5-c4f35ddfba3e/mainraw · history · blame

prefix ?= /usr/local
datadir ?= ${prefix}/share/debian-timeline
symlinks ?= 1
DIR=/srv/timeline.debian.net

all: build

INPUT    := $(wildcard data/*)
OUTPUT   := $(addsuffix .xml,$(subst data/,xml/,$(basename $(INPUT))))
INSHTML  := $(addprefix ${DESTDIR}${datadir}/,$(wildcard *.html))
INSXML   := $(addprefix ${DESTDIR}${datadir}/,$(OUTPUT))
INSMEDIA := $(addprefix ${DESTDIR}${datadir}/,$(wildcard media/debian*) media/timeline_js media/timeline_ajax media/jquery)

xml/%.xml: data/% data/%/* build.py
	@mkdir -p xml
	python3 build.py $< >$@

media/timeline_js: /usr/share/javascript/timeline_js
	ln -sf /usr/share/javascript/timeline_js $@

media/timeline_ajax: /usr/share/javascript/timeline_ajax
	ln -sf /usr/share/javascript/timeline_ajax $@

media/jquery: /usr/share/javascript/jquery
	ln -sf /usr/share/javascript/jquery $@

build: $(OUTPUT) media/timeline_js media/timeline_ajax media/jquery

${DESTDIR}${datadir}:
	install -d ${DESTDIR}${datadir}

${DESTDIR}${datadir}/%.html: %.html ${DESTDIR}${datadir}
	install -m644 -t ${DESTDIR}${datadir} $<

${DESTDIR}${datadir}/xml: ${DESTDIR}${datadir}
	install -d ${DESTDIR}${datadir}/xml

${DESTDIR}${datadir}/xml/%.xml: xml/%.xml ${DESTDIR}${datadir}/xml
	install -m644 -t ${DESTDIR}${datadir}/xml $<

${DESTDIR}${datadir}/media: ${DESTDIR}${datadir}
	install -d ${DESTDIR}${datadir}/media

${DESTDIR}${datadir}/media/%: media/% ${DESTDIR}${datadir}/media
	install -m644 -t ${DESTDIR}${datadir}/media $<

${DESTDIR}${datadir}/media/timeline_%: media/timeline_% ${DESTDIR}${datadir}/media
	rm --force --recursive ${DESTDIR}${datadir}/$<
ifeq (1,${symlinks})
	ln -sf /usr/share/javascript/$(notdir $<) ${DESTDIR}${datadir}/media
else
	cp --dereference --recursive $< ${DESTDIR}${datadir}/media
endif

${DESTDIR}${datadir}/media/jquery: media/jquery ${DESTDIR}${datadir}/media
	rm --force --recursive ${DESTDIR}${datadir}/$<
ifeq (1,${symlinks})
	ln -sf /usr/share/javascript/$(notdir $<) ${DESTDIR}${datadir}/media
else
	cp --dereference --recursive $< ${DESTDIR}${datadir}/media
endif

install: build ${DESTDIR}${datadir} ${INSHTML} ${INSXML} ${INSMEDIA}

uninstall:
	rm -rf ${DESTDIR}${datadir}

clean:
	rm -rf xml media/timeline_js media/timeline_ajax media/jquery

mpublish:
	mkdir -p $(DIR)/htdocs
	./update
	sudo -u staticsync /usr/local/bin/static-update-component timeline.debian.net
	rm -rf $(DIR)/htdocs

.PHONY: all build install clean