ChangeLog, Makefile.in:
  Remove libext2fs.info*, not just libext2fs.info*.gz.  Add an
  uninstall-doc-libs target.
ChangeLog, Makefile.in, compile_et.1, compile_et.sh.in:
  Makefile.in: Fix bug where my_dir was set incorrectly.  Install the
  	et_c.awk and et_h.awk files in $(datadir)/et (i.e., /usr/share/et)
  	directory.  Change to use new installation directory variables
  	convention.  Fix uninstall rules to take $(DESTDIR) into account.
  compile_et.1: Change man page to reflect the fact that compile_et is
  	now a awk/sed script, not a yacc script.
  compile_et.sh.in: Look in $(datadir)/et for et_c.awk and et_h.awk; if
  	not found, look in the build directory.  Add error checking for
  	non-existent input file.
ChangeLog, Makefile.in, mk_cmds.sh.in:
  Makefile.in: Install the ct_c.awk and ct_c.sed files in $(datadir)/ss
  	(i.e., /usr/share/ss) directory.  Change to use new installation
  	directory variables convention.  Fix uninstall rules to take
  	$(DESTDIR) into account.
  mk_cmds.sh.in: Look in $(datadir)/ss for ct_c.awk and ct_c.sed; if not
  	found, look in the build directory.  Add error checking for
  	non-existent input file.
ChangeLog, Makefile.in:
  Makefile.in: Change to use new installation directory variables
  	convention.  Fix uninstall rules to take $(DESTDIR) into account.

diff --git a/doc/ChangeLog b/doc/ChangeLog
new file mode 100644
index 0000000..b8f4094
--- /dev/null
+++ b/doc/ChangeLog
@@ -0,0 +1,4 @@
+1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* Makefile.in (install-doc-libs): Remove libext2fs.info*, not just
+		libext2fs.info*.gz.  Add an uninstall-doc-libs target.
diff --git a/doc/Makefile.in b/doc/Makefile.in
index b3588e3..5747e28 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -20,13 +20,16 @@
 all:: libext2fs.info libext2fs.dvi
 
 install-doc-libs:
-	$(RM) $(DESTDIR)$(infodir)/libext2fs.info*.gz
+	$(RM) $(DESTDIR)$(infodir)/libext2fs.info*
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(infodir)
 	for i in libext2fs.info* ; do \
 		$(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i ; \
 	done
 	gzip -9 $(DESTDIR)$(infodir)/libext2fs.info*
 
+uninstall-doc-libs:
+	$(RM) $(DESTDIR)$(infodir)/libext2fs.info*
+
 libext2fs.info: $(srcdir)/libext2fs.texinfo
 	$(INFO) $(srcdir)/libext2fs.texinfo
 
diff --git a/lib/e2p/ChangeLog b/lib/e2p/ChangeLog
index 013ad9f..f896223 100644
--- a/lib/e2p/ChangeLog
+++ b/lib/e2p/ChangeLog
@@ -1,3 +1,9 @@
+1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* Makefile.in: Change to use new installation directory variables
+		convention.  Fix uninstall rules to take $(DESTDIR) into
+		account.
+
 1998-03-29  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
 	* getversion.c (getversion): Return 0 if there's no error.
diff --git a/lib/e2p/Makefile.in b/lib/e2p/Makefile.in
index b51fb88..b936684 100644
--- a/lib/e2p/Makefile.in
+++ b/lib/e2p/Makefile.in
@@ -38,19 +38,19 @@
 DLL_IMAGE = libe2p
 DLL_STUB = libe2p
 DLL_MYDIR = e2p
-DLL_INSTALL_DIR = $(libdir)
+DLL_INSTALL_DIR = $(root_libdir)
 
 ELF_VERSION = 2.3
 ELF_SO_VERSION = 2
 ELF_IMAGE = libe2p
 ELF_MYDIR = e2p
-ELF_INSTALL_DIR = $(libdir)
+ELF_INSTALL_DIR = $(root_libdir)
 ELF_OTHER_LIBS = -lc
 
 BSDLIB_VERSION = 2.1
 BSDLIB_IMAGE = libe2p
 BSDLIB_MYDIR = e2p
-BSDLIB_INSTALL_DIR = $(libdir)
+BSDLIB_INSTALL_DIR = $(root_libdir)
 
 @MAKEFILE_LIBRARY@
 @MAKEFILE_DLL@
@@ -69,16 +69,16 @@
 @BSDLIB_CMT@	$(CC) $(ALL_CFLAGS) -fpic -o pic/$*.o -c $<
 
 installdirs::
-	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(ulibdir)
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)
 
 install:: all installdirs 
-	$(INSTALL_DATA) libe2p.a $(DESTDIR)$(ulibdir)/libe2p.a
-	$(CHMOD) 644 $(DESTDIR)$(ulibdir)/libe2p.a
-	-$(RANLIB) $(DESTDIR)$(ulibdir)/libe2p.a
-	$(CHMOD) $(LIBMODE) $(DESTDIR)$(ulibdir)/libe2p.a
+	$(INSTALL_DATA) libe2p.a $(DESTDIR)$(libdir)/libe2p.a
+	$(CHMOD) 644 $(DESTDIR)$(libdir)/libe2p.a
+	-$(RANLIB) $(DESTDIR)$(libdir)/libe2p.a
+	$(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libe2p.a
 
 uninstall::
-	$(RM) -f $(ulibdir)/libe2p.a
+	$(RM) -f $(DESTDIR)$(libdir)/libe2p.a
 
 clean::
 	$(RM) -f \#* *.s *.o *.a *~ *.bak core profiled/* checker/*
diff --git a/lib/et/ChangeLog b/lib/et/ChangeLog
index 6b80c9a..49ae51f 100644
--- a/lib/et/ChangeLog
+++ b/lib/et/ChangeLog
@@ -1,3 +1,18 @@
+1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* Makefile.in: Fix bug where my_dir was set incorrectly.  Install
+		the et_c.awk and et_h.awk files in $(datadir)/et (i.e.,
+		/usr/share/et) directory.  Change to use new
+		installation directory variables convention.  Fix
+		uninstall rules to take $(DESTDIR) into account.
+
+	* compile_et.1: Change man page to reflect the fact that
+		compile_et is now a awk/sed script, not a yacc script.
+
+	* compile_et.sh.in: Look in $(datadir)/et for et_c.awk and
+		et_h.awk; if not found, look in the build directory.  Add
+		error checking for non-existent input file.
+
 Fri Oct 31 01:14:41 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
 	* et_c.awk, et_h.awk: Remove support for non STDC compilers, since
diff --git a/lib/et/Makefile.in b/lib/et/Makefile.in
index ab9bb23..64dfd8c 100644
--- a/lib/et/Makefile.in
+++ b/lib/et/Makefile.in
@@ -6,9 +6,11 @@
 top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 top_builddir = ../..
-my_dir = lib/ss
+my_dir = lib/et
 INSTALL = @INSTALL@
 
+DEP_MAKEFILE = $(DEP_LIB_MAKEFILES)
+
 @MCONFIG@
 
 all:: compile_et
@@ -18,6 +20,7 @@
 	$(srcdir)/com_err.c
 
 HFILES= com_err.h
+SHARE_FILES= et_c.awk et_h.awk
 
 LIBRARY= libcom_err
 LIBDIR= et
@@ -29,19 +32,19 @@
 DLL_IMAGE = libet
 DLL_STUB = libcom_err
 DLL_MYDIR = et
-DLL_INSTALL_DIR = $(libdir)
+DLL_INSTALL_DIR = $(root_libdir)
 
 ELF_VERSION = 2.0
 ELF_SO_VERSION = 2
 ELF_IMAGE = libcom_err
 ELF_MYDIR = et
-ELF_INSTALL_DIR = $(libdir)
+ELF_INSTALL_DIR = $(root_libdir)
 ELF_OTHER_LIBS = -lc
 
 BSDLIB_VERSION = 1.0
 BSDLIB_IMAGE = libcom_err
 BSDLIB_MYDIR = et
-BSDLIB_INSTALL_DIR = $(libdir)
+BSDLIB_INSTALL_DIR = $(root_libdir)
 
 #
 # what to build...
@@ -77,21 +80,31 @@
 	$(TAGS) $(SRCS)
 
 installdirs::
-	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(ulibdir) \
-		$(DESTDIR)$(includedir)/et
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
+		$(DESTDIR)$(includedir)/et $(DESTDIR)$(datadir)/et \
+		$(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) \
+		$(DESTDIR)$(man3dir)
 
-install:: libcom_err.a $(HFILES) installdirs
-	$(INSTALL_DATA) libcom_err.a $(DESTDIR)$(ulibdir)/libcom_err.a
-	$(CHMOD) 644 $(DESTDIR)$(ulibdir)/libcom_err.a
-	-$(RANLIB) $(DESTDIR)$(ulibdir)/libcom_err.a
-	$(CHMOD) $(LIBMODE) $(DESTDIR)$(ulibdir)/libcom_err.a
+install:: compile_et libcom_err.a $(HFILES) installdirs
+	$(INSTALL_DATA) libcom_err.a $(DESTDIR)$(libdir)/libcom_err.a
+	$(CHMOD) 644 $(DESTDIR)$(libdir)/libcom_err.a
+	-$(RANLIB) $(DESTDIR)$(libdir)/libcom_err.a
+	$(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libcom_err.a
 	for i in $(HFILES); do \
 		$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/et/$$i; \
 	done
+	for i in $(SHARE_FILES); do \
+		$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/et/$$i; \
+	done
+	$(INSTALL) compile_et $(DESTDIR)$(bindir)/compile_et
+	$(INSTALL_DATA) $(srcdir)/com_err.3 $(DESTDIR)$(man3dir)/com_err.3
+	$(INSTALL_DATA) $(srcdir)/compile_et.1 \
+			$(DESTDIR)$(man1dir)/compile_et.1
 
 uninstall::
-	$(RM) -f $(ulibdir)/libcom_err.a
-	$(RM) -rf $(includedir)/et
+	$(RM) -f $(DESTDIR)$(libdir)/libcom_err.a \
+			$(DESTDIR)$(bindir)/compile_et
+	$(RM) -rf $(DESTDIR)$(includedir)/et $(DESTDIR)$(datadir)/et
 
 clean::
 	$(RM) -f compile_et libcom_err.a libcom_err_p.a
diff --git a/lib/et/compile_et.1 b/lib/et/compile_et.1
index f17a278..371995b 100644
--- a/lib/et/compile_et.1
+++ b/lib/et/compile_et.1
@@ -3,7 +3,7 @@
 .\"
 .\" $Header$
 .\"
-.TH COMPILE_ET 1 "22 Nov 1988" SIPB
+.TH COMPILE_ET 1 "30 Mar 1998" SIPB
 .SH NAME
 compile_et \- error table compiler
 .SH SYNOPSIS
@@ -64,10 +64,12 @@
 
 .SH BUGS
 
-Since
+Since the original
 .B compile_et
 uses a very simple parser based on
-.IR yacc (1),
+.IR yacc (1), and this current version of 
+.B compile_et
+uses an awk/sed combination of scripts, 
 its error recovery leaves much to be desired.
 
 .\" .IR for manual entries
diff --git a/lib/et/compile_et.sh.in b/lib/et/compile_et.sh.in
index 0cae297..ccc2434 100644
--- a/lib/et/compile_et.sh.in
+++ b/lib/et/compile_et.sh.in
@@ -2,10 +2,30 @@
 #
 #
 AWK=@AWK@
-DIR=@ET_DIR@
+DIR="${DIR-@datadir@/et}"
+ET_DIR=@ET_DIR@
+
+if test "x$1" = x ; then
+    echo "Usage: compile_et file"
+    exit 1
+fi
+
+if test ! -f $DIR/et_h.awk -o ! -f $DIR/et_c.awk ; then
+    DIR=$ET_DIR
+#    echo "Falling back to $DIR..."
+    if test ! -f $DIR/et_h.awk -o ! -f $DIR/et_c.awk ; then
+	echo "compile_et: Couldn't find compile_et's template files."
+	exit 1
+    fi
+fi
 
 ROOT=`echo $1 | sed -e s/.et$//`
 BASE=`basename $ROOT`
 
+if test ! -f $ROOT.et ; then
+    echo "compile_et: $ROOT.et: File not found"
+    exit 1;
+fi
+
 $AWK -f ${DIR}/et_h.awk outfile=${BASE}.h $ROOT.et
 $AWK -f ${DIR}/et_c.awk outfile=${BASE}.c $ROOT.et
diff --git a/lib/ss/ChangeLog b/lib/ss/ChangeLog
index 1448246..0983cbd 100644
--- a/lib/ss/ChangeLog
+++ b/lib/ss/ChangeLog
@@ -1,3 +1,15 @@
+1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* Makefile.in: Install the ct_c.awk and ct_c.sed files in
+		$(datadir)/ss (i.e., /usr/share/ss) directory.  Change
+		to use new installation directory variables
+		convention.  Fix uninstall rules to take $(DESTDIR)
+		into account.
+
+	* mk_cmds.sh.in: Look in $(datadir)/ss for ct_c.awk and
+		ct_c.sed; if not found, look in the build directory.  Add
+		error checking for non-existent input file.
+
 Thu Aug 14 08:17:22 1997  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
 	* Makefile.in (install): Fix rm command to use $(DESTDIR)
diff --git a/lib/ss/Makefile.in b/lib/ss/Makefile.in
index 1042b2e..96f2ff7 100644
--- a/lib/ss/Makefile.in
+++ b/lib/ss/Makefile.in
@@ -22,19 +22,19 @@
 DLL_STUB = libss
 DLL_LIBS = -L../.. -lcom_err
 DLL_MYDIR = ss
-DLL_INSTALL_DIR = $(libdir)
+DLL_INSTALL_DIR = $(root_libdir)
 
 ELF_VERSION = 2.0
 ELF_SO_VERSION = 2
 ELF_IMAGE = libss
 ELF_MYDIR = ss
-ELF_INSTALL_DIR = $(libdir)
+ELF_INSTALL_DIR = $(root_libdir)
 ELF_OTHER_LIBS = -lc -L../.. -lcom_err
 
 BSDLIB_VERSION = 1.0
 BSDLIB_IMAGE = libss
 BSDLIB_MYDIR = ss
-BSDLIB_INSTALL_DIR = $(libdir)
+BSDLIB_INSTALL_DIR = $(root_libdir)
 
 TAGS=etags
 COMPILE_ET=../et/compile_et
@@ -92,6 +92,7 @@
 
 
 HFILES=	ss.h ss_internal.h copyright.h 
+SHARE_FILES= ct_c.awk ct_c.sed
 
 INSTALL_HFILES=	ss.h copyright.h 
 
@@ -108,7 +109,7 @@
 all::	libss.a # libss_p.a lint
 
 std_rqs.c: std_rqs.ct $(MK_CMDS)
-	$(MK_CMDS) $(srcdir)/std_rqs.ct
+	DIR=$(srcdir) $(MK_CMDS) $(srcdir)/std_rqs.ct
 
 ss_err.c ss_err.h: ss_err.et
 	$(COMPILE_ET) $(srcdir)/ss_err.et
@@ -128,23 +129,28 @@
 	$(CHMOD) +x mk_cmds
 
 installdirs::
-	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(ulibdir) \
-		$(DESTDIR)$(includedir)/ss
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir) \
+		$(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss \
+		$(DESTDIR)$(bindir)
 
-install:: libss.a $(INSTALL_HFILES) copyright.h installdirs ss_err.h 
-	$(INSTALL_DATA) libss.a $(DESTDIR)$(ulibdir)/libss.a
-	$(CHMOD) 644 $(DESTDIR)$(ulibdir)/libss.a
-	-$(RANLIB) $(DESTDIR)$(ulibdir)/libss.a
-	$(CHMOD) $(LIBMODE) $(DESTDIR)$(ulibdir)/libss.a
+install:: libss.a $(INSTALL_HFILES) copyright.h installdirs ss_err.h mk_cmds
+	$(INSTALL_DATA) libss.a $(DESTDIR)$(libdir)/libss.a
+	$(CHMOD) 644 $(DESTDIR)$(libdir)/libss.a
+	-$(RANLIB) $(DESTDIR)$(libdir)/libss.a
+	$(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libss.a
 	$(RM) -f $(DESTDIR)$(includedir)/ss/*
 	for i in $(INSTALL_HFILES) copyright.h; do \
 		$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(includedir)/ss/$$i; \
 	done
 	$(INSTALL_DATA) ss_err.h $(DESTDIR)$(includedir)/ss/ss_err.h
+	for i in $(SHARE_FILES); do \
+		$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(datadir)/ss/$$i; \
+	done
+	$(INSTALL) mk_cmds $(DESTDIR)$(bindir)/mk_cmds
 
 uninstall::
-	$(RM) -f $(ulibdir)/libss.a
-	$(RM) -rf $(includedir)/ss
+	$(RM) -f $(DESTDIR)$(libdir)/libss.a $(DESTDIR)$(bindir)/mk_cmds
+	$(RM) -rf $(DESTDIR)$(includedir)/ss $(DESTDIR)$(datadir)/ss
 
 clean::
 	$(RM) -f ../libss.a libss.a mk_cmds ss_err.h ss_err.c std_rqs.c \
diff --git a/lib/ss/mk_cmds.sh.in b/lib/ss/mk_cmds.sh.in
index 4866081..1623309 100644
--- a/lib/ss/mk_cmds.sh.in
+++ b/lib/ss/mk_cmds.sh.in
@@ -2,15 +2,35 @@
 #
 #
 
-DIR=@SS_DIR@
+DIR="${DIR-@datadir@/ss}"
+SS_DIR=@SS_DIR@
 AWK=@AWK@
 SED=@SED@
 
+if test "x$1" = x ; then
+    echo "Usage: mk_cmds file"
+    exit 1
+fi
+
+if test ! -f $DIR/ct_c.sed -o ! -f $DIR/ct_c.awk ; then
+    DIR=$SS_DIR
+#    echo "Falling back to $DIR..."
+    if test ! -f $DIR/ct_c.sed -o ! -f $DIR/ct_c.awk ; then
+	echo "compile_et: Couldn't find compile_et's template files."
+	exit 1
+    fi
+fi
+
 FILE=$1
 ROOT=`echo $1 | sed -e s/.ct$//`
 BASE=`basename $ROOT`
 TMP=ct$$.c
 
+if ! test -f $FILE ; then
+    echo "$FILE: File not found"
+    exit 1;
+fi
+
 ${SED} -f ${DIR}/ct_c.sed  ${FILE} \
 	| ${AWK} -f ${DIR}/ct_c.awk rootname=${ROOT} outfile=${TMP} -
 
diff --git a/lib/uuid/ChangeLog b/lib/uuid/ChangeLog
index be58e30..62d9d95 100644
--- a/lib/uuid/ChangeLog
+++ b/lib/uuid/ChangeLog
@@ -1,3 +1,9 @@
+1998-03-30  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+	* Makefile.in: Change to use new installation directory variables
+		convention.  Fix uninstall rules to take $(DESTDIR) into
+		account.
+
 Sun Mar  8 22:17:59 1998  Theodore Ts'o  <tytso@rsts-11.mit.edu>
 
 	* gen_uuid.c (get_node_id): Use char * instead of caddr_t, which
diff --git a/lib/uuid/Makefile.in b/lib/uuid/Makefile.in
index a186f2a..20f6c78 100644
--- a/lib/uuid/Makefile.in
+++ b/lib/uuid/Makefile.in
@@ -46,19 +46,19 @@
 DLL_IMAGE = libuuid
 DLL_STUB = libuuid
 DLL_MYDIR = uuid
-DLL_INSTALL_DIR = $(libdir)
+DLL_INSTALL_DIR = $(root_libdir)
 
 ELF_VERSION = 1.1
 ELF_SO_VERSION = 1
 ELF_IMAGE = libuuid
 ELF_MYDIR = uuid
-ELF_INSTALL_DIR = $(libdir)
+ELF_INSTALL_DIR = $(root_libdir)
 ELF_OTHER_LIBS = -lc
 
 BSDLIB_VERSION = 1.0
 BSDLIB_IMAGE = libuuid
 BSDLIB_MYDIR = uuid
-BSDLIB_INSTALL_DIR = $(libdir)
+BSDLIB_INSTALL_DIR = $(root_libdir)
 
 @MAKEFILE_LIBRARY@
 @MAKEFILE_DLL@
@@ -85,18 +85,18 @@
 	$(CC) $(ALL_LDFLAGS) -o tst_uuid tst_uuid.o $(LIBUUID)
 
 installdirs::
-	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(ulibdir)  \
+	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(libdir)  \
 		$(DESTDIR)$(includedir)/uuid
 
 install:: all installdirs 
-	$(INSTALL_DATA) libuuid.a $(DESTDIR)$(ulibdir)/libuuid.a
-	$(CHMOD) 644 $(DESTDIR)$(ulibdir)/libuuid.a
-	-$(RANLIB) $(DESTDIR)$(ulibdir)/libuuid.a
-	$(CHMOD) $(LIBMODE) $(DESTDIR)$(ulibdir)/libuuid.a
+	$(INSTALL_DATA) libuuid.a $(DESTDIR)$(libdir)/libuuid.a
+	$(CHMOD) 644 $(DESTDIR)$(libdir)/libuuid.a
+	-$(RANLIB) $(DESTDIR)$(libdir)/libuuid.a
+	$(CHMOD) $(LIBMODE) $(DESTDIR)$(libdir)/libuuid.a
 	$(INSTALL_DATA) $(srcdir)/uuid.h $(DESTDIR)$(includedir)/uuid/uuid.h
 
 uninstall::
-	$(RM) -f $(ulibdir)/libuuid.a
+	$(RM) -f $(DESTDIR)$(libdir)/libuuid.a
 
 clean::
 	$(RM) -f \#* *.s *.o *.a *~ *.bak core profiled/* checker/*