diff --git a/tools/wscript b/tools/wscript
index 78b50ca..bea6079 100644
--- a/tools/wscript
+++ b/tools/wscript
@@ -1,9 +1,11 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
+import os.path
+
 top = '..'
 
 def build(bld):
-    for app in bld.path.ant_glob('tools/*', dir=True):
+    for app in bld.path.ant_glob('**/*', dir=True):
         if os.path.isdir(app.abspath()):
             bld(features=['cxx', 'cxxprogram'],
                 target = '../bin/%s' % (str(app)),
@@ -11,9 +13,9 @@
                 use = 'ndns-objects',
                 )
 
-    for app in bld.path.ant_glob('tools/*.cpp'):
-        bld(features=['cxxprogram'],
-            target = 'bin/%s' % (str(app.change_ext('','.cpp'))),
+    for app in bld.path.ant_glob('**/*.cpp'):
+        bld(features=['cxx', 'cxxprogram'],
+            target = '../bin/%s' % (str(app.change_ext('','.cpp'))),
             source = app,
             use = 'ndns-objects',
             )
