######################################################################
### Documentation and examples
.PHONY: website doc

examples_hs=ListT LogicT PoorMansConcurrency TicTacToe State
examples_lhs=WebSessionState
examples=$(examples_hs:%=%.hs) $(examples_lhs:%=%.lhs)

documentation=Documentation.html $(examples:%=examples/%.html) examples/operational-examples.tar.gz

static=index.html examples.html fptools.css

doc: $(documentation:%=web/%)

HOST=apfelmus@code.haskell.org:/srv/projects/operational
website: $(documentation:%=web/%) $(static:%=web/%)
	rsync $(static:%=web/%) web/Documentation.html $(HOST)
	rsync $(examples:%=web/examples/%.html) web/examples/hscolour.css \
		$(HOST)/examples

######################################################################
### Generating documentation

web/Documentation.html : Documentation.md 
	pandoc --standalone --toc --css=fptools.css \
		--number-sections "$<" > "$@"

clean:
	rm Documentation.html

web/%.hs.html: %.hs
	HsColour "$<" -css -o"$@"
web/%.lhs.html: %.lhs
	HsColour "$<" -css -o"$@"

web/examples/operational-examples.tar.gz: $(examples:%=examples/%)
	tar czvf "$@" $^

