# Version info, edit here, will automatically be passed to module
# Makefile structure is an ugly hack so far, clean up if you find time ...
VERSION = 0.0.5r1
HGNODE=$(shell hg parent --template '{rev}-{node|short}-{date|shortdate}')
LONGVERSION = $(VERSION) $(HGNODE)

.PHONY: all
all: pnw.py pnw-doc.pdf	README.rst clean

.PHONY: doc
doc: pnw-doc.pdf

.PHONY: python
python: pnw.py __version__.py

pnw.py: pnw.pnw __version__.py
	python ./pnw.pnw  -F pnw.pnw > pnw.py
	chmod +w ./pnw/pnw.py
	echo "# Autogenerated by pnw, better do not edit ..." > ./pnw/pnw.py
	echo "# Edit pnw.pnw in root directory instead." >> ./pnw/pnw.py
	echo "# You have been warned ..." >> ./pnw/pnw.py
	cat pnw.py >> ./pnw/pnw.py
	rm pnw.py
	# just to avoid catastrophes:
	chmod -w ./pnw/pnw.py
	cp __version__.py ./pnw

__version__.py: pnw.pnw makefile
	echo '# autogenerated by makefile, do not edit ...' > __version__.py
	echo version = \'$(VERSION)\' >> __version__.py
	echo hginfo = \'$(HGNODE)\' >> __version__.py

./doc/build/hginfo.blg: pnw.pnw makefile
	echo '\\mlSetRCSInfo{$(LONGVERSION)}' > ./doc/build/hginfo.blg

pnw-doc.pdf: pnw.pnw ./doc/pnw-doc.pnw ./doc/build/hginfo.blg
	cd ./doc && $(MAKE) pdf
	cp ./doc/pnw-doc.pdf .

README.rst: README.pnw
	python ./pnw.pnw -RREADME README.pnw > README.rst

.PHONY: clean
clean: 
	rm *~ *.log	 
