diff --git a/bin/Makefile.am b/bin/Makefile.am
index 4dae5aa3989493fcc69f9430b5bbea5aab987fbc..bb7b179ec2811f9e1d8831fa99aa77ea0b4b4cb7 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -2,6 +2,8 @@ bin_SCRIPTS = account-manager.pl
 
 www_SCRIPTS = account-manager.cgi
 
+CLEANFILES = $(bin_SCRIPTS) $(www_SCRIPTS)
+
 EXTRA_DIST = account-manager.pl.in account-manager.cgi.in
 
 account-manager.pl: Makefile account-manager.pl.in
diff --git a/conf/Makefile.am b/conf/Makefile.am
index 16ddf8b805332677739882a2ccbb527b0bfefd3a..4e9b2b657a8019f636a7e95ead2a8949779c22f9 100644
--- a/conf/Makefile.am
+++ b/conf/Makefile.am
@@ -1,5 +1,7 @@
 noinst_DATA = manager.conf
 
+CLEANFILES = $(noinst_DATA)
+
 EXTRA_DIST = manager.conf.in
 
 manager.conf: Makefile manager.conf.in
@@ -9,10 +11,13 @@ manager.conf: Makefile manager.conf.in
 		< $(srcdir)/$@.in > $@
 	chmod +x $@
 
-
 install-data-local:
-	if [ -f $(DESTDIR)$(sysconfdir)/manager.conf ]; then                                           \
-	    $(INSTALL_DATA) $(srcdir)/manager.conf $(DESTDIR)$(sysconfdir)/manager.conf.new; \
-	else                                                                                                     \
-	    $(INSTALL_DATA) $(srcdir)/manager.conf $(DESTDIR)$(sysconfdir)/manager.conf;     \
+	$(mkinstalldirs) $(DESTDIR)$(sysconfdir)
+	if [ -f $(DESTDIR)$(sysconfdir)/manager.conf ]; then                       \
+	    $(INSTALL_DATA) manager.conf $(DESTDIR)$(sysconfdir)/manager.conf.new; \
+	else                                                                       \
+	    $(INSTALL_DATA) manager.conf $(DESTDIR)$(sysconfdir)/manager.conf;     \
 	fi
+
+uninstall-local:
+	rm -f $(DESTDIR)$(sysconfdir)/manager.conf