# website generation, taviso@sdf.lonestar.org
# $Revision: 1.10 $

BASEURL="http://taviso.decsystem.org/"
T2TFLAGS=--no-rc --target=xhtml --css-sugar --mask-email --quiet
ISPFLAGS=-C -p words.txt
CNVFLAGS=-resize 300
PNGFLAGS=-q -k -o7
TIDYFLAGS=-q -c -i -b -asxhtml -omit -ascii -w 0

# may use this in future
ANNOTATE=-fill white -gravity southwest -font arial -pointsize 15 -draw "text 2, 20 'taviso@sdf.lonestar.org' text 2, 40 'http://taviso.decsystem.org/'"

SPAMMBOX=/home/taviso/Mail/caughtspam
VIRUSBOX=/home/taviso/Mail/virii

STATICPAGES=index.html research.html software.html gallery.html website.html \
			misc.html books.html linuxhw.html underrated.html \
			proprietary.html scanmem.html rarefiles.html todo.html \
			cpml.html terse.html fuzz.html smdemo.html
ASCIIPAGES=
PNGIMAGES=img/photo.png img/screenshot.png img/iomegacd.png img/trpwr.png \
		img/probe.png img/mutt.png img/terse.png img/scanmem.png \
		img/xvsshot.png img/csurfsshot.png
JPGIMAGES=gallery/cliffhouse.jpg gallery/seacrane.jpg gallery/x11-bus.jpg \
		gallery/bernview.jpg gallery/bernrandom.jpg gallery/bernskyline.jpg \
		gallery/bernbears.jpg img/sv_mp720.jpg img/vmouse2.jpg img/ex-s2.jpg \
		img/p880.jpg img/icybox.jpg img/73P2655.jpg img/belswi2.jpg

all: $(STATICPAGES) $(PNGIMAGES:.png=.thumb.jpg) $(JPGIMAGES:.jpg=.thumb.jpg) sitemap favicon.ico
	@md5 files/rare/* > files/rare/MD5SUMS
	@test -f spamstats.txt -a -f virusstats.txt || \
		echo NOTE: spamstats not generated, run make spamstats.

# build and spellcheck static page using txt2tags, htmltidy and ispell
# (note: htmltidy returns 2 on error, 1 means correctable warnings)
%.html: %.t2t statistics.js
	txt2tags $(T2TFLAGS) -o $@ $<
	tidy $(TIDYFLAGS) -modify $@ || test $$? -eq 1
	@ispell $(ISPFLAGS) -l -H < $@ | sed 's/^/typo: /g'
	@chmod 644 $@ $<

%.html: %.txt statistics.js
	asctohtm $<
	tidy $(TIDYFLAGS) -modify $@ || test $$? -eq 1
	@ispell $(ISPFLAGS) -l -H < $@ | sed 's/^/typo: /g'
	@chmod 644 $@ $<

# generate thumbnails
%.thumb.jpg: %.jpg
	convert $(CNVFLAGS) jpg:$< jpg:$@
	@chmod 644 $@ $<
%.thumb.jpg: %.png
	convert $(CNVFLAGS) png:$< jpg:$@
	@chmod 644 $@ $<

# generate favicon
%.ico: %.png
	pngtoico $< > $@
	@chmod 644 $@ $<

spamstats:
	mboxstats -k -y -s 2 -i $(SPAMMBOX) -o spamstats.txt
	mboxstats -k -y -s 2 -i $(VIRUSBOX) -o virusstats.txt
	@printf "\n--------------------\n\n" >> virusstats.txt
	formail -s formail -cX X-Anti-Virus < $(VIRUSBOX) \
		| sed 's/.*\(Found.*!!!\).*/\1/' \
		| sort | uniq -c | sort -rg >> virusstats.txt

optimise:
	for i in $(PNGIMAGES); do optipng $(PNGFLAGS) $$i; done

sitemap:
	@rm -f sitemap.txt
	@for i in $(STATICPAGES); do echo $(BASEURL)$${i} >> sitemap.txt; done
	@chmod 644 sitemap.txt

clean:
	-rm -f $(STATICPAGES) $(PNGIMAGES:.png=.png.bak) favicon.ico
	-rm -f $(PNGIMAGES:.png=.thumb.jpg) $(JPGIMAGES:.jpg=.thumb.jpg)
	-rm -f *.core spamstats.txt virusstats.txt sitemap.txt

full: clean all optimise spamstats

