diff --git a/SConstruct b/SConstruct
index 8a9946d9c1dd8ee9b4536e8e3015a7a5dbdf02b4..be571aee01e3ed580c33a820fa124805b42d54dc 100644
--- a/SConstruct
+++ b/SConstruct
@@ -87,10 +87,12 @@ env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_"))
 
 Export('env')
 
-env.SConscript(["src/SConscript"], variant_dir='build/$VARIANT/src')
-env.SConscript(["examples/SConscript"], variant_dir='build/$VARIANT/examples')
+lib = env.SConscript(["src/SConscript"], variant_dir='build/$VARIANT/src')
+Default(lib)
 
-env.Command('test', 'build/$VARIANT/src/test_suite', 'env LD_LIBRARY_PATH=build/$VARIANT/src $SOURCE')
+env.Alias("examples", env.SConscript(["examples/SConscript"], variant_dir='build/$VARIANT/examples'))
+
+env.Alias("test", env.Command('test', 'build/$VARIANT/src/test_suite', 'env LD_LIBRARY_PATH=build/$VARIANT/src $SOURCE'))
 
 env.Alias("install", "$libpath")
 env.Alias("install", "$incpath")
diff --git a/src/SConscript b/src/SConscript
index 216c04d3f0517303c014a965e1417225f0615365..a0a8545d7f9652047235efd150b6993fd9b6d38a 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -59,6 +59,7 @@ tests = ['t_benchmark.c',
 
 libhammer_shared = env.SharedLibrary('hammer', parsers + backends + misc_hammer_parts)
 libhammer_static = env.StaticLibrary('hammer', parsers + backends + misc_hammer_parts)
+Default(libhammer_shared, libhammer_static)
 
 env.Install("$libpath", [libhammer_static, libhammer_shared])
 env.Install("$incpath", dist_headers)
@@ -67,7 +68,7 @@ env.Install("$pkgconfigpath", "../../../libhammer.pc")
 testenv = env.Clone()
 testenv.ParseConfig('pkg-config --cflags --libs glib-2.0')
 testenv.Append(LIBS=['hammer'], LIBPATH=['.'])
-testenv.Program('test_suite', tests + ['test_suite.c'])
+test = testenv.Program('test_suite', tests + ['test_suite.c'])
 
 Export("libhammer_static libhammer_shared")