blob: 9e82a3249444de4c0b61ddad66f07ce64231d040 (
plain)
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
|
# See COPYING file for copyright, license and warranty details.
SITENAME=http://njw.me.uk
FOAF=http://njw.me.uk/card\#i
MD=smu
MDTEX=/home/nick/src/misc/smu/smu
RSS=index.ttl
BIB=pubs/index.ttl
BIBTXT=pubs/index.txt
PAGES=$(shell find . -name '*.txt' ! -name 'robots.txt' ! -name $(RSS)) $(BIBTXT)
PUBS=$(shell find ./pubs/ -name '*.txt' ! -name 'index.*')
ARTS=$(shell find ./articles/ -name '*.txt' ! -name 'index.*')
EXTRAS=$(shell find . -name '*.css') card.ttl
TARGETS=$(PAGES:.txt=.html) $(RSS) $(BIBTXT)
GZIP=$(PAGES:=.gz) $(TARGETS:=.gz) $(EXTRAS:=.gz) $(BIB:=.gz)
all: $(TARGETS) $(GZIP)
$(TARGETS): includes/header.xml includes/footer.xml
$(PUBS:.txt=.tex): includes/header.tex includes/footer.tex
.txt.html:
echo making $@
sed "s/TITLE/`head -n 1 < $<`/" < includes/header.xml > $@
$(MD) $< >> $@
sed "s/MODDATE/`ls -lc --time-style=+%Y-%m-%d $<|awk '{print $$6}'`/" < includes/footer.xml >> $@
# TODO: clean up sed here
.txt.tex:
echo making $@
sed -e "s/TITLE/`head -n 1 < $<`/" -e "s/AUTHOR/`head -n 4 < $< |tail -n 1|sed 's/#//g'`/" -e "s/DATE/`head -n 5 < $< |tail -n 1|sed 's/#//g'`/" < includes/header.tex > $@
$(MDTEX) $< >> $@
cat includes/footer.tex >> $@
.tex.pdf:
echo making $@
pdflatex -output-directory $(shell dirname $<) $*.tex
rm $*.aux $*.log $*.out
# not POSIX compatible
%.gz: %
echo compressing $<
gzip < $< > $@
$(RSS): $(PAGES)
echo making $@
sh makerss.sh $(SITENAME) $(FOAF) $* > $@
pubs/index.txt: $(BIB)
echo making $@
sh bibtotxt.sh $< > $@
articles/index.txt: $(ARTS)
echo making $@
sh dirindex.sh articles > $@
clean:
rm -f -- $(TARGETS) $(GZIP)
test:
sh ../../tests/spelling.sh $(PAGES)
.SUFFIXES: .txt .xml .html .rdf .pdf .tex .gz
.SILENT:
.PHONY: all clean test
|