The $(PWD) was probably for MSys or something, which has probably broken
due to not being tested, and might even not need that workaround from
2007 anymore.
This removes the dependency loop from build_contents to the .po files to
contents.xml to build_contents. The .hhp file generation is a simple step
which gets split off to work around Make limitations with multiple output
files.
The .html file extension is needed for offline docs, and configuring a webserver
to execute PHP in .html is as easy as changing the build system to support both.
But for a simple common header there's no need to reach for PHP. XSLT can do the
job. For ease of maintenance the header is read from an extra file.