Make a ghc/ghci manpage
[ghc-hetmet.git] / docs / man / Makefile
diff --git a/docs/man/Makefile b/docs/man/Makefile
new file mode 100644 (file)
index 0000000..63875da
--- /dev/null
@@ -0,0 +1,51 @@
+TOP = ../..
+include $(TOP)/mk/boilerplate.mk
+
+GHC_COMMANDS=ghc ghci
+
+UNCENSORED_MANPAGES=ghc.1
+
+ifeq '$(GhcManpages)' 'YES'
+MANPAGES=$(UNCENSORED_MANPAGES)
+else
+MANPAGES=
+endif
+
+boot:
+       @:
+
+all: $(MANPAGES)
+       @:
+
+install: $(addprefix install-,$(MANPAGES))
+       @:
+
+clean:
+       rm -f flags.xml flags.xsl $(UNCENSORED_MANPAGES)
+
+# The work for building
+
+ghc.1: flags.xsl flags.xml
+       $(XSLTPROC) $(XSLTPROC_OPTS) flags.xsl flags.xml > $@
+
+flags.xsl: gen_flags.xsl.pl
+       perl gen_flags.xsl.pl "$(GHC_COMMANDS)" "$(libdir)" > $@
+
+flags.xml: ../users_guide/flags.xml
+       rm -f $@
+       head -1 $< >> $@
+       echo "<!DOCTYPE sect1 [<!ENTITY ndash  \"-\"> \
+                              <!ENTITY ldquo  \"\`\"> \
+                              <!ENTITY rdquo  \"'\">]>" >> $@
+       tail -n +2 $< >> $@
+
+# The work for installing
+
+.PHONY: install-%
+
+install-mandir:
+       $(INSTALL_DIR) $(mandir)
+
+install-%: install-mandir $*
+       $(INSTALL_MAN) $* $(mandir)
+