Modified the "sgml" and "xml" targets to stop if the sub-makes fail in
any subdirectory; don't continue with remaining subdirs.

Added "api", "ext", "lib", "mac", "ref", and "tut" targets to only do
submakes in those directories.  This is just a lot easier to use than
to cd into the subdir and use make.rules directly.
diff --git a/Doc/tools/sgmlconv/Makefile b/Doc/tools/sgmlconv/Makefile
index 23d4be0..7437933 100644
--- a/Doc/tools/sgmlconv/Makefile
+++ b/Doc/tools/sgmlconv/Makefile
@@ -15,22 +15,41 @@
 all:	sgml
 
 .PHONY: sgml xml
+.PHONY: $(SUBDIRS)
 
 sgml:
 	for DIR in $(SUBDIRS) ; do \
 	    (cd $$DIR; \
-	     $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR) sgml) \
+	     $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR) sgml) || exit $$?; \
 	done
 
 xml:
 	for DIR in $(SUBDIRS) ; do \
 	    (cd $$DIR; \
-	     $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR) xml) \
+	     $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR) xml) || exit $$?; \
 	done
 
-tarball:
+tarball:  sgml
 	tar cf - tools/sgmlconv */*.sgml | gzip -9 >sgml-1.5.2b1.tgz
 
+api:
+	cd api; $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR)
+
+ext:
+	cd ext; $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR)
+
+lib:
+	cd lib; $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR)
+
+mac:
+	cd mac; $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR)
+
+ref:
+	cd ref; $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR)
+
+tut:
+	cd tut; $(MAKE) -f $(SGMLRULES) TOOLSDIR=../$(TOOLSDIR)
+
 clean:
 	for DIR in $(SUBDIRS) ; do \
 	    (cd $$DIR; \