diff --git a/tools/wscript b/tools/wscript
index 4f1d11a..93cabd7 100644
--- a/tools/wscript
+++ b/tools/wscript
@@ -1,7 +1,5 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 
-from waflib import Utils
-
 top = '..'
 
 def build(bld):
@@ -10,7 +8,7 @@
     # and is built as build/bin/foo. 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=f'tool-{name}',
+        bld.program(name=name,
                     target=f'{top}/bin/{name}',
                     source=[tool],
                     use='ndn-cxx')
@@ -18,7 +16,7 @@
     # Sub-directory tools:
     # tools/foo/**/*.cpp are compiled and linked into build/bin/foo.
     # tools/foo/main.cpp must exist and must contain the main() function.
-    # All other objects are collected into 'tool-foo-objects' and can be unit-tested.
+    # All other objects are collected into 'tools-foo-objects' and can be unit-tested.
     for subdir in bld.path.ant_glob('*', dir=True, src=False):
         name = subdir.path_from(bld.path)
         subWscript = subdir.find_node('wscript')
@@ -35,11 +33,11 @@
         srcFiles = subdir.ant_glob('**/*.cpp', excl=['main.cpp'])
         srcObjects = ''
         if srcFiles:
-            srcObjects = f'tool-{name}-objects'
+            srcObjects = f'tools-{name}-objects'
             bld.objects(target=srcObjects,
                         source=srcFiles,
                         use='ndn-cxx')
-        bld.program(name=f'tool-{name}',
+        bld.program(name=name,
                     target=f'{top}/bin/{name}',
                     source=[mainFile],
-                    use='ndn-cxx ' + srcObjects)
+                    use=f'ndn-cxx {srcObjects}')
