diff --git a/debian/Makefile.am b/debian/Makefile.am
index 383d3000b8dee3b8f638354b2541c56284e867ae..25e037267d58235de35f33671fa8afeaad73074a 100644
--- a/debian/Makefile.am
+++ b/debian/Makefile.am
@@ -2,5 +2,5 @@
 
 AUTOMAKE_OPTIONS = foreign
 
-EXTRA_DIST = changelog control copyright libao-dev.docs libao-dev.files \
-	libao.conf libao2.README.Debian libao2.files libao2.manpages rules
+EXTRA_DIST = changelog control copyright libao-dev.docs libao-dev.install \
+	libao.conf libao2.README.Debian libao2.install libao2.manpages rules
diff --git a/debian/changelog b/debian/changelog
index 040f24693bf0c9a2b1e42c04ce58ee02a014c747..bef8bb89897206743fc17d2d489aa9fbfdbe61eb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libao (0.8.3-1) unstable; urgency=low
+
+  * New upstream.
+
+ -- Christopher L Cheney <ccheney@debian.org>  Tue,  2 Jul 2002 22:00:00 -0500
+
 libao (0.8.2-1) unstable; urgency=low
 
   * New upstream. (Closes: #110858)
diff --git a/debian/control b/debian/control
index 15bfd6cbbbf82fc4a702b1af2a4e3472942077db..e9fbf63637d1d688ec95f2a33a795660753990c9 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: libao
 Section: libs
 Priority: optional
 Maintainer: Christopher L Cheney <ccheney@debian.org>
-Build-Depends: debhelper (>> 3.0.0), libarts-dev, libasound2-dev, libesd0-dev, autotools-dev, devscripts
+Build-Depends: debhelper (>> 4.0.0), libarts-dev, libasound2-dev, libesd0-dev, autotools-dev, devscripts
 Standards-Version: 3.5.6.0
 
 Package: libao2
@@ -19,5 +19,5 @@ Architecture: any
 Section: devel
 Depends: libao2 (= ${Source-Version}), libc6-dev
 Description: Cross Platform Audio Output Library Development
- The libao-devel package contains the header files and documentation
+ The libao-dev package contains the header files and documentation
  needed to develop applications with libao.
diff --git a/debian/libao-dev.files b/debian/libao-dev.files
deleted file mode 100644
index abed01abf067ffae1538cf8fc7c0194c6e2b7ae5..0000000000000000000000000000000000000000
--- a/debian/libao-dev.files
+++ /dev/null
@@ -1,5 +0,0 @@
-usr/include/ao/*.h
-usr/lib/*.so
-usr/lib/*.la
-usr/lib/ao/plugins-2/*.la
-usr/share/aclocal/ao.m4
diff --git a/debian/libao-dev.install b/debian/libao-dev.install
new file mode 100644
index 0000000000000000000000000000000000000000..7f1a45ed13253c6cf8a192e4cbe9e871433f0d0a
--- /dev/null
+++ b/debian/libao-dev.install
@@ -0,0 +1,10 @@
+debian/tmp/usr/include/ao/ao.h
+debian/tmp/usr/include/ao/os_types.h
+debian/tmp/usr/include/ao/plugin.h
+debian/tmp/usr/lib/ao/plugins-2/libalsa09.la
+debian/tmp/usr/lib/ao/plugins-2/libarts.la
+debian/tmp/usr/lib/ao/plugins-2/libesd.la
+debian/tmp/usr/lib/ao/plugins-2/liboss.la
+debian/tmp/usr/lib/libao.la
+debian/tmp/usr/lib/libao.so
+debian/tmp/usr/share/aclocal/ao.m4
diff --git a/debian/libao2.files b/debian/libao2.files
deleted file mode 100644
index 032935ec07c7a153963afbec10893ac2690c0960..0000000000000000000000000000000000000000
--- a/debian/libao2.files
+++ /dev/null
@@ -1,3 +0,0 @@
-etc/*
-usr/lib/*.so.*
-usr/lib/ao/plugins-2/*.so
diff --git a/debian/libao2.install b/debian/libao2.install
new file mode 100644
index 0000000000000000000000000000000000000000..359ae923ab5509156c07a07a79ce17b2e0b4bd13
--- /dev/null
+++ b/debian/libao2.install
@@ -0,0 +1,6 @@
+debian/libao.conf	etc/
+debian/tmp/usr/lib/ao/plugins-2/libalsa09.so
+debian/tmp/usr/lib/ao/plugins-2/libarts.so
+debian/tmp/usr/lib/ao/plugins-2/libesd.so
+debian/tmp/usr/lib/ao/plugins-2/liboss.so
+debian/tmp/usr/lib/libao.so.*
diff --git a/debian/rules b/debian/rules
index c35fd0ab211af4f6546e9932e1821b36400e644f..c4a06860816705460158a3932fb5b3a559c6d9e8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,27 +5,50 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-# This is the debhelper compatability version to use.
-export DH_COMPAT=3
+# This is the debhelper compatibility version to use.
+export DH_COMPAT=4
 
-export DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-export DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+# These are used for cross-compiling and for saving the configure script
+# from having to guess our platform (since we know it already)
+DEB_HOST_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+objdir = $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE)
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -g
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
 
 configure: configure-stamp
 configure-stamp:
 	dh_testdir
-	# Add here commands to configure the package.
 
-	# If compiling cvs version change to ./autogen.sh --prefix=/usr
-	./configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
+	# CVS does not have configure
+	#if test ! -f configure; then \
+		./autogen.sh ;\
+	fi
+
+	# make build directory
+	mkdir $(objdir)
+
+	# run configure with build tree $(objdir)
+	cd $(objdir) && \
+	../configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
 	--prefix=/usr
 
 	touch configure-stamp
 
-build: configure-stamp build-stamp
-build-stamp:
+build: build-stamp
+build-stamp: configure-stamp 
 	dh_testdir
 
+	cd $(objdir) && \
 	$(MAKE)
 
 	touch build-stamp
@@ -45,49 +68,88 @@ autotools:
 	   echo WARNING: GNU config scripts updated from master copies 1>&2 ;\
 	fi
 
+debian-clean:
+	dh_testdir
+	dh_testroot
+
+	dh_clean
+
 clean: autotools
 	dh_testdir
 	dh_testroot
 	rm -f build-stamp configure-stamp
 
-	-$(MAKE) distclean
+	# Remove build tree
+	rm -rf $(objdir)
+
+	# if Makefile exists run distclean
+	if test -f Makefile; then \
+		$(MAKE) distclean; \
+	fi
+
+	#if test -d CVS; then \
+		$(MAKE) cvs-clean ;\
+	fi
 
 	dh_clean
 
+install: DH_OPTIONS=
 install: build
 	dh_testdir
 	dh_testroot
 	dh_clean -k
 	dh_installdirs
 
+	cd $(objdir) && \
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
-	install -d $(CURDIR)/debian/tmp/etc
-	install -m 0644 $(CURDIR)/debian/libao.conf $(CURDIR)/debian/tmp/etc
 
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
+	dh_install
 
-# Build architecture-dependent files here.
-binary-arch: build install
+# This single target is used to build all the packages, all at once, or
+# one at a time. So keep in mind: any options passed to commands here will
+# affect _all_ packages. Anything you want to only affect one package
+# should be put in another target, such as the install target.
+binary-common:
 	dh_testdir
 	dh_testroot
-	dh_movefiles
-
+#	dh_installxfonts
+	dh_installchangelogs
 	dh_installdocs
 	dh_installexamples
+#	dh_installmenu
+#	dh_installdebconf
+#	dh_installlogrotate
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+#	dh_undocumented
 	dh_installman
-	dh_installchangelogs CHANGES
-	dh_link
 	dh_strip
+	dh_link
 	dh_compress
 	dh_fixperms
 	dh_makeshlibs -V
 	dh_installdeb
-	dh_shlibdeps --exclude=/usr/lib/ao/plugins-2
+#	dh_perl
+	dh_shlibdeps
 	dh_gencontrol
 	dh_md5sums
 	dh_builddeb
 
+# Build architecture independant packages using the common target.
+binary-indep: build install
+#	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: build install
+	$(MAKE) -f debian/rules DH_OPTIONS=-a binary-common
+
+# Any other binary targets build just one binary package at a time.
+binary-%: build install
+	$(MAKE) -f debian/rules binary-common DH_OPTIONS=-p$*
+
 binary: binary-indep binary-arch
-.PHONY: autotools build clean binary-indep binary-arch binary install configure
+.PHONY: build clean binary-indep binary-arch binary install configure