diff --git a/avrdude/ChangeLog b/avrdude/ChangeLog
index 2c6e884b..44d691a2 100644
--- a/avrdude/ChangeLog
+++ b/avrdude/ChangeLog
@@ -1,3 +1,9 @@
+2003-09-04  Theodore A. Roth  <troth@openavr.org>
+
+	* Makefile.am: Change AM_CPPFLAGS to avrdude_CPPFLAGS.
+	Define avrdude_CFLAGS.
+	* configure.ac: Set ENABLE_WARNINGS to "-Wall" if using gcc.
+
 2003-09-02  Eric B. Weddington <eric@ecentral.com>
 
     * doc/avrdude.texi: Add note about privileges needed to load 
diff --git a/avrdude/Makefile.am b/avrdude/Makefile.am
index 589d5359..c5a89417 100644
--- a/avrdude/Makefile.am
+++ b/avrdude/Makefile.am
@@ -39,7 +39,9 @@ DIST_SUBDIRS = doc windows
 
 AM_YFLAGS    = -d
 
-AM_CPPFLAGS     = -DCONFIG_DIR=\"$(sysconfdir)\"
+avrdude_CPPFLAGS = -DCONFIG_DIR=\"$(sysconfdir)\"
+
+avrdude_CFLAGS   = @ENABLE_WARNINGS@  
 
 bin_PROGRAMS = avrdude
 
diff --git a/avrdude/configure.ac b/avrdude/configure.ac
index 56b5bff2..21e745a8 100644
--- a/avrdude/configure.ac
+++ b/avrdude/configure.ac
@@ -125,6 +125,12 @@ case $target in
 esac
 AC_SUBST(WINDOWS_DIRS,$WINDOWS_DIRS)
 
+# If we are compiling with gcc, enable all warning and make warnings errors.
+if test "$GCC" = yes; then
+    ENABLE_WARNINGS="-Wall"
+fi
+AC_SUBST(ENABLE_WARNINGS,$ENABLE_WARNINGS)
+
 AC_CONFIG_FILES([
 	doc/Makefile
 	windows/Makefile