Updated rules for API doc generation.
Add sgmlpages target for making a docbook 'Wine API Guide'.

diff --git a/Make.rules.in b/Make.rules.in
index 68dd595..9e6488d 100644
--- a/Make.rules.in
+++ b/Make.rules.in
@@ -55,11 +55,6 @@
 RM        = rm -f
 MV        = mv
 C2MAN     = @C2MAN@
-MANSPECS  = -w $(TOPSRCDIR)/dlls/gdi/gdi32.spec \
-	    -w $(TOPSRCDIR)/dlls/user/user32.spec \
-	    -w $(TOPSRCDIR)/dlls/comctl32/comctl32.spec \
-	    -w $(TOPSRCDIR)/dlls/commdlg/comdlg32.spec \
-	    -w $(TOPSRCDIR)/dlls/kernel/kernel32.spec
 LINT      = @LINT@
 LINTFLAGS = @LINTFLAGS@
 ALLLINTFLAGS = $(LINTFLAGS) $(DEFS) $(OPTIONS) $(DIVINCL)
@@ -98,6 +93,7 @@
 includedir      = @includedir@/wine
 dlldir          = @libdir@/wine
 prog_manext     = 1
+api_manext      = 3w
 conf_manext     = 5
 CLEAN_FILES     = *.o *.a *.so *.ln *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej \
                   *.flc *.spec.c *.spec.def *.glue.c *.dbg.c y.tab.c y.tab.h @LEX_OUTPUT_ROOT@.c core
@@ -172,15 +168,21 @@
 	cd `dirname $@` && $(MAKE) man
 
 man: $(C_SRCS) $(SUBDIRS:%=%/__man__)
-	if [ -n "$(C_SRCS)" ]; then $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/man3w; for i in $(C_SRCS); do $(C2MAN) -L -o $(TOPOBJDIR)/documentation/man3w -S3w $(DIVINCL) $(MANSPECS) $$i; done; fi
+	$(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/man$(api_manext) && $(C2MAN) -o $(TOPOBJDIR)/documentation/man$(api_manext) -R$(TOPOBJDIR) -S$(api_manext) $(DIVINCL) $(MAINSPEC:%=-w %) $(SPEC_SRCS:%=-w %) $(C_SRCS) $(C_SRCS16)
 
 $(SUBDIRS:%=%/__doc_html__): dummy
 	cd `dirname $@` && $(MAKE) doc-html
 
 doc-html: $(C_SRCS) $(SUBDIRS:%=%/__doc_html__)
-	if [ -n "$(C_SRCS)" ]; then $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html; for i in $(C_SRCS); do $(C2MAN) -L -o $(TOPOBJDIR)/documentation/html -Th -iwindows.h  $(DIVINCL) $(MANSPECS) $$i; done; fi
+	$(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html && $(C2MAN) -o $(TOPOBJDIR)/documentation/html -R$(TOPOBJDIR) $(DIVINCL) -Th $(MAINSPEC:%=-w %) $(SPEC_SRCS:%=-w %) $(C_SRCS) $(C_SRCS16)
 
-.PHONY: man doc-html $(SUBDIRS:%=%/__man__) $(SUBDIRS:%=%/__doc_html__)
+$(SUBDIRS:%=%/__doc_sgml__): dummy
+	cd `dirname $@` && $(MAKE) doc-sgml
+
+doc-sgml: $(C_SRCS) $(SUBDIRS:%=%/__doc_sgml__)
+	$(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/api-guide && $(C2MAN) -o $(TOPOBJDIR)/documentation/api-guide -R$(TOPOBJDIR) $(DIVINCL) -Ts $(MAINSPEC:%=-w %) $(SPEC_SRCS:%=-w %) $(C_SRCS) $(C_SRCS16)
+
+.PHONY: man doc-html doc-sgml $(SUBDIRS:%=%/__man__) $(SUBDIRS:%=%/__doc_html__) $(SUBDIRS:%=%/__doc_sgml__)
 
 # Rule for linting
 
diff --git a/Makefile.in b/Makefile.in
index 8a5fc90..2eed954 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -12,7 +12,8 @@
 # depend:          create the dependencies
 # etags:           create a TAGS file for Emacs.
 # manpages:        compile manpages for Wine API
-#
+# htmlpages:       compile html pages for Wine API
+# sgmlpages:       compile sqml source for the Wine API Guide
 
 # Directories
 
@@ -155,7 +156,11 @@
 
 htmlpages:
 	$(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html
-	for i in $(SUBDIRS); do (cd $$i && $(MAKE) html); done
+	cd dlls && $(MAKE) doc-html
+
+sgmlpages:
+	$(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/api-guide
+	cd dlls && $(MAKE) doc-sgml
 
 clean::
 	$(RM) wine
diff --git a/documentation/Makefile.in b/documentation/Makefile.in
index 1bba670..0ddfe71 100644
--- a/documentation/Makefile.in
+++ b/documentation/Makefile.in
@@ -130,7 +130,7 @@
 	tar cf - $(ALLBOOKS:%=%/*.txt) | gzip -9 > $@ || $(RM) $@
 
 install:: $(MAN_TARGETS)
-	$(MKINSTALLDIRS) $(mandir)/man$(prog_manext) $(mandir)/man$(conf_manext)
+	$(MKINSTALLDIRS) $(mandir)/man$(prog_manext) $(mandir)/man$(conf_manext) $(mandir)/man$(api_manext)
 	$(INSTALL_DATA) wine.man $(mandir)/man$(prog_manext)/wine.$(prog_manext)
 	$(INSTALL_DATA) $(SRCDIR)/wine.conf.man $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext)
 
@@ -138,8 +138,11 @@
 	$(RM) $(mandir)/man$(prog_manext)/wine.$(prog_manext)
 	$(RM) $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext)
 
+install-api-man::
+	for i in $(SRCDIR)/man$(api_manext)/*; do $(INSTALL_DATA) $$i $(mandir)/man$(api_manext); done
+
 clean::
 	$(RM) *.aux *.dvi *.out *.pdf *.ps *.tex *.log wine-doc-*.tar.gz $(MAN_TARGETS)
-	$(RM) -r wine-doc $(ALLBOOKS) html man3w *.junk DBTOHTML_OUTPUT_DIR*
+	$(RM) -r wine-doc $(ALLBOOKS) html api-guide man$(api_manext) *.junk DBTOHTML_OUTPUT_DIR*
 
 ### Dependencies: