summaryrefslogtreecommitdiff
path: root/Makefile
blob: 2b19a3319c89933a9ed1a75872d4e08498070bd3 (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
# 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)

.SUFFIXES: .txt .xml .html .rdf .pdf .tex .gz
.SILENT: