diff --git a/.gitignore b/.gitignore
index 8101f080f272a845eb7cc6cf9b6447d0f17cf469..65465f4273f6d08208f273676fc465345e01c4f8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,36 @@
+# generated files
 *.o
-*~
+*.os
+*.so
 *.a
+*.gem
+*.pyc
 *.class
-*.so
-jni/com*.h
-src/test_suite
-lib/hush
+libhammer.pc
+build/
 examples/dns
 examples/base64
 examples/base64_sem1
 examples/base64_sem2
-TAGS
-*.swp
-*.swo
+jni/com*.h
+src/test_suite
+
+# coverage and profiling stuff
+*.gcov
+*.gcda
+*.gcno
+gmon.out
+
+# editor leftovers
+*~
+*.sw?
 \#*
+
+# misc
+lib/hush
+TAGS
 docs/milestone2.dot.pdf
 *.dot.pdf
 Session.vim
-*.gcov
 cscope.out
-build/
-libhammer.pc
 .sconsign.dblite
-*.os
-*.pyc
-*.gem
diff --git a/SConstruct b/SConstruct
index b2fb36388c44c68d9bb9534d8fb9c9b9adabd4b6..fd1a7e3eb6c35e126fdd3361a175bd0dc6ee97a0 100644
--- a/SConstruct
+++ b/SConstruct
@@ -112,7 +112,8 @@ if env['CC'] == 'cl':
         ]
     )
 else:
-    env.MergeFlags('-std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -Wno-unused-variable')
+    # -Wno-clobbered only really works with gcc >= 4.2.x, but ... scons
+    env.MergeFlags('-std=c99 -D_POSIX_C_SOURCE=200809L -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -Wno-unused-variable -Wno-clobbered')
 
 # Linker options
 if env['PLATFORM'] == 'darwin':
@@ -126,9 +127,9 @@ else:
     env.MergeFlags('-lrt')
 
 if GetOption('coverage'):
-    env.Append(CFLAGS=['--coverage'],
-               CXXFLAGS=['--coverage'],
-               LDFLAGS=['--coverage'])
+    env.Append(CCFLAGS=['--coverage'],
+               LDFLAGS=['--coverage'],
+               LINKFLAGS=['--coverage'])
     if env['CC'] == 'gcc':
         env.Append(LIBS=['gcov'])
     else:
@@ -136,11 +137,9 @@ if GetOption('coverage'):
 
 if GetOption('gprof'):
     if env['CC'] == 'gcc' and env['CXX'] == 'g++':
-        env.Append(CFLAGS=['-pg', '-fprofile-arcs'],
-                   CXXFLAGS=['-pg', '-fprofile-arcs'],
-		   LDFLAGS=['-pg', '-fprofile-arcs'],
-                   LINKFLAGS=['-pg', '-fprofile-arcs'])
-        env.Append(LIBS=['gcov'])
+        env.Append(CCFLAGS=['-pg'],
+		   LDFLAGS=['-pg'],
+                   LINKFLAGS=['-pg'])
         env['GPROF'] = 1
     else:
         print("Can only use gprof with gcc")