File: Makefile

package info (click to toggle)
debian-timeline 42
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 256 kB
  • sloc: python: 115; makefile: 59; sh: 6
file content (73 lines) | stat: -rw-r--r-- 2,222 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
prefix ?= /usr/local
datadir ?= ${prefix}/share/debian-timeline
symlinks ?= 1

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
	python 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_*

mpublish:
	./git-post-update

.PHONY: all build install clean