diff --git a/tools/wscript b/tools/wscript
index 3e2fd0b..57066f0 100644
--- a/tools/wscript
+++ b/tools/wscript
@@ -11,7 +11,7 @@
     # These tools cannot be unit-tested.
     for tool in bld.path.ant_glob('*.cpp'):
         name = tool.change_ext('').path_from(bld.path.get_bld())
-        bld.program(name=name,
+        bld.program(name='tool-%s' % name,
                     target='../bin/%s' % name,
                     source=[tool],
                     use='ndn-cxx')
@@ -30,14 +30,14 @@
         srcFiles = subdir.ant_glob('**/*.cpp', excl=['main.cpp'])
         srcObjects = ''
         if srcFiles:
-            srcObjects = 'tools-%s-objects' % name
+            srcObjects = 'tool-%s-objects' % name
             bld.objects(target=srcObjects,
                         source=srcFiles,
                         use='ndn-cxx',
                         includes=name)
             testableObjects.append(srcObjects)
 
-        bld.program(name=name,
+        bld.program(name='tool-%s' % name,
                     target='../bin/%s' % name,
                     source=[mainFile],
                     use='ndn-cxx ' + srcObjects,
@@ -50,7 +50,7 @@
 
     # Tool wrappers
     wrapperFiles = bld.path.ant_glob('wrapper/*.sh')
-    bld(name='wrappers',
+    bld(name='tool-wrappers',
         features='subst',
         source=wrapperFiles,
         target=['../bin/%s' % node.change_ext('', '.sh').path_from(bld.path.find_dir('wrapper').get_bld())
