diff --git a/SConstruct b/SConstruct
index 8d97ecbc2dbaeeb436226a3f44f15072c5d11225..c98eb465903179248af8d6a7c4041a2ac0921789 100644
--- a/SConstruct
+++ b/SConstruct
@@ -6,6 +6,8 @@ import SENFSCons
 
 ###########################################################################
 
+# This hack is needed for SCons V 0.96.1 compatibility. In current SCons versions
+# we can just use 'env.AlwaysBuild(env.Alias(target), [], action)'
 def PhonyTarget(env, target, action):
     env.AlwaysBuild(env.Command(target + '.phony', 'SConstruct', env.Action(action)))
     env.Alias(target, target + '.phony')
@@ -129,6 +131,9 @@ libsenf = env.Library(
     SENFSCons.LibPath('senf'),
     Flatten([ env.File(SENFSCons.LibPath(lib)).sources for lib in env['ALLLIBS'] ]))
 env.Default(libsenf)
+env.Clean('all', 'libsenf.a')
+env.Alias('all', 'libsenf.a')
+
 env.Alias('install_all', env.Install('$LIBINSTALLDIR', libsenf))
 
 env.Clean('all', [ os.path.join(path,f)
diff --git a/doclib/SConscript b/doclib/SConscript
index e45344d46fb01e43b0c9db055eab19948215e748..cdb9cd689733ffa811468f9b028f7a02e9cd6204 100644
--- a/doclib/SConscript
+++ b/doclib/SConscript
@@ -186,3 +186,5 @@ env.Alias('install_all',
                                                   'search_functions.php',
                                                   'search_paths.php',
                                                   'senf.css' ] ))
+
+env.Clean('all', 'doxy-header.html') # I should not need this but I do ...
diff --git a/senfscons/Doxygen.py b/senfscons/Doxygen.py
index 0e8dd2435f3c7750c2fc630015f243191f71c0af..e5b7b79d2f153b09551c5ef5f6837aec74804af0 100644
--- a/senfscons/Doxygen.py
+++ b/senfscons/Doxygen.py
@@ -248,6 +248,10 @@ class DoxyfileParser:
       return self._items
 
 def DoxyfileParse(env,file):
+   # We don't parse source files which do not contain the word 'doxyfile'. SCons will
+   # pass other dependencies to DoxyfileParse which are not doxyfiles ... grmpf ...
+   if not 'doxyfile' in file.lower():
+      return {}
    ENV = {}
    ENV.update(env.get("ENV",{}))
    ENV['TOPDIR'] = env.Dir('#').abspath
diff --git a/senfscons/SENFSCons.py b/senfscons/SENFSCons.py
index 74e035de46d7c360147e7ada0b1fddb607cb99f2..623c9d7b81c2b8de2cce81a67b43b425e650b8ff 100644
--- a/senfscons/SENFSCons.py
+++ b/senfscons/SENFSCons.py
@@ -291,7 +291,7 @@ def StandardTargets(env):
 #
 # \ingroup target
 def GlobalTargets(env):
-    env.Depends(env.Alias('all'),'#')
+    env.Alias('all', [ 'default', 'all_tests', 'all_docs' ])
 
 ## \brief Return path of a built library within $LOCALLIBDIR
 # \internal
@@ -587,6 +587,7 @@ def Lib(env, library, sources, testSources = None, LIBS = [], OBJECTS = [], no_i
         lib = env.Library(env.File(LibPath(library)),objects)
         env.Default(lib)
         env.Append(ALLLIBS = library)
+        env.Alias('default', lib)
         install = InstallWithSources(env, lib, '$LIBINSTALLDIR', sources, testSources, no_includes)
         env.Alias('install_all', install)
     return lib
@@ -598,6 +599,7 @@ def Object(env, target, sources, testSources = None, LIBS = [], OBJECTS = [], no
     if objects:
         ob = env.Command(target+".o", objects, "ld -r -o $TARGET $SOURCES")
         env.Default(ob)
+        env.Alias('default', ob)
         install = InstallWithSources(env, ob, '$OBJINSTALLDIR', sources, testSources, no_includes)
         env.Alias('install_all', install)
     return ob
@@ -621,6 +623,7 @@ def Binary(env, binary, sources, testSources = None, LIBS = [], OBJECTS = [], no
         program = progEnv.Program(target=binary,source=objects+OBJECTS)
         env.Default(program)
         env.Depends(program, [ env.File(LibPath(x)) for x in LIBS ])
+        env.Alias('default', program)
         install = InstallWithSources(env, program, '$BININSTALLDIR', sources, testSources,
                                      no_includes)
         env.Alias('install_all', install)
@@ -629,6 +632,7 @@ def Binary(env, binary, sources, testSources = None, LIBS = [], OBJECTS = [], no
 def AllIncludesHH(env, headers):
     headers.sort()
     file(env.File("all_includes.hh").abspath,"w").write("".join([ '#include "%s"\n' % f
-                                                                  for f in headers ]))
-    env.Clean('all','all_includes.hh')
+                                                                       for f in headers ]))
+    env.Alias('all', 'all_includes.hh')
+    env.Clean('all', 'all_includes.hh')