diff --git a/ChangeLog b/ChangeLog
index 4aee0f87..b15369cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-05-19  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	* linux_ppdev.h: Caught two more instances of exit()
+	* configure.ac: Add AC_CONFIG_MACRO_DIR as suggested by libtoolize
+	* Makefile.am: add -I m4 to ACLOCAL_AMFLAGS as suggested by libtoolize
+
 2014-05-16  Axel Wachtler <axel@uracoli.de>
 
 	* arduino.c: Replacing all occurences of fprintf(stderr,...) with avrdude_message(...)
diff --git a/Makefile.am b/Makefile.am
index f7a2966d..3ae184f7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -209,3 +209,5 @@ backup-avrdude-conf:
 		cp -pR ${DESTDIR}${sysconfdir}/avrdude.conf \
 			${DESTDIR}${sysconfdir}/avrdude.conf.bak; \
 	fi
+
+ACLOCAL_AMFLAGS = -I m4
diff --git a/configure.ac b/configure.ac
index 3a863ff3..69f24abd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,7 @@ AC_CANONICAL_TARGET
 AC_CONFIG_SRCDIR([main.c])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADERS(ac_cfg.h)
+AC_CONFIG_MACRO_DIR([m4])
 
 LT_INIT()
 
diff --git a/linux_ppdev.h b/linux_ppdev.h
index 0379974d..e724ba2b 100644
--- a/linux_ppdev.h
+++ b/linux_ppdev.h
@@ -36,14 +36,13 @@
     avrdude_message("%s: can't claim device \"%s\": %s\n\n", \
             progname, port, strerror(errno));                \
     close(fd);                                               \
-    exit(1);                                                 \
+    return -1;                                                 \
   }
 
 #define ppi_release(fd)                                      \
   if (ioctl(fd, PPRELEASE)) {                                \
     avrdude_message("%s: can't release device: %s\n\n",      \
             progname, strerror(errno));                      \
-    exit(1);                                                 \
   }
 
 #define DO_PPI_READ(fd, reg, valp) \