#<: 'Makefile' v0.007 @ 2012-10-16 15:11:10 UTC (Jonas@Ubbe-III) "Jonas Eckerman" <jonas@truls.org> :>#

# What the DNS?
# make HTML documentation

SRCS=$(shell ls ../*.txt | sed -e s/^.\*\\///)
HTML=$(SRCS:.txt=.html)
CSSS=$(wildcard *.css)
HTMS=$(CSSS:.css=.html)

IFO=-p -D -m u=rw,go=r,a-s
IDO=-p -m u=rwx,go=rx,a-s -d

vpath %.txt ..

default: all

all: html

.SUFFIXES:
.SUFFIXES: .txt .css .html

.css.html: $(CSSS)
	echo \<style\ type=\"text/css\"\> > $@
	cat $< >> $@
	echo \</style\> >> $@

.txt.html: $(SRCS)
	if which pandoc > /dev/null; then \
	  sed -e s/$*.8.\,\ *// ../pages > "$*.tmp"; \
	  cat "$<" "$*.tmp" | \
	  sed -e s/\\\(wtdns\[-.a-z\]\*\\\)\\\(\(8\)\\\)/\[\\1\\2\]\(\\1.html\)/g | \
	  sed -e s/^\\\(%\ .\*\\\)\ .v\[0-9\]\[0-9\]*\.\[0-9\]\[0-9\]\[0-9\].$$/\\1\/ | \
	  pandoc -s -S --toc --email-obfuscation=none -H style.html -w html -o "$@"; \
	  rm -f "$*.tmp"; \
	fi

css: $(HTMS)

pages: css $(HTML)

index: css pages
	set -e; \
	h=; \
	if ([ ! -e index.html ] || [ index.html -ot wtdns.html ]); then \
	  for f in wtdns.html wtdns.*.html wtdns[a-z]*.html wtdns-*.html c*.html; do \
	    d=`grep -m1 \<title\>.*\</title\> $$f | sed -e s/\<\[^\>\]\*\>//g | sed -e s/^.*\ -\ // | sed -e s/^WtDNS\ // `; \
	    c=`echo $$d | sed -e s/\ //g`; \
	    n=`echo $$f | sed s/\.html\$$//`; \
	    if [ "$$n" = "$$c" ]; then \
	      h="$$h<li><a href=\"$$f\">$$d</a></li>\\n"; \
	    else \
	      h="$$h<li><a href=\"$$f\">$$n</a>: $$d</li>\\n"; \
	    fi; \
	  done; \
	  echo "<html>\\n<head>\\n<title>WtDNS documentation</title>" > index.html; \
	  cat style.html >> index.html; \
	  echo "</head>\\n<body>\\n<ul>\\n$$h</ul>\\n</body>\\n</html>" >> index.html; \
	fi

html: pages index

clean:
	if which pandoc > /dev/null; then rm -f *.html; fi

distclean:

preinstall:

postinstall:

prepackage: html

postpackage:

install: all
	set -e; \
	if [ -d /usr/share/doc ]; then \
	  install $(IDO) /usr/share/doc/wtdns; \
	  install $(IDO) /usr/share/doc/wtdns/html; \
	  install $(IFO) *.html /usr/share/doc/wtdns/html; \
	fi
