diff --git a/tools/wscript b/tools/wscript
index f3ee6a8..5a9c396 100644
--- a/tools/wscript
+++ b/tools/wscript
@@ -1,6 +1,6 @@
 # -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-
 """
-Copyright (c) 2014-2022,  Regents of the University of California,
+Copyright (c) 2014-2023,  Regents of the University of California,
                           Arizona Board of Regents,
                           Colorado State University,
                           University Pierre & Marie Curie, Sorbonne University,
@@ -25,7 +25,7 @@
 
 from waflib import Context, Utils
 
-top = '../'
+top = '..'
 
 def build(bld):
     # Single object tools:
@@ -34,7 +34,7 @@
     for tool in bld.path.ant_glob('*.cpp'):
         name = tool.change_ext('').path_from(bld.path.get_bld())
         bld.program(name=name,
-                    target=top + 'bin/%s' % name,
+                    target=f'{top}/bin/{name}',
                     source=[tool],
                     use='core-objects')
 
@@ -59,7 +59,7 @@
         srcFiles = subdir.ant_glob('**/*.cpp', excl=['main.cpp'])
         srcObjects = ''
         if srcFiles:
-            srcObjects = 'tools-%s-objects' % name
+            srcObjects = f'tools-{name}-objects'
             bld.objects(target=srcObjects,
                         source=srcFiles,
                         features='pch',
@@ -69,7 +69,7 @@
             testableObjects.append(srcObjects)
 
         bld.program(name=name,
-                    target=top + 'bin/%s' % name,
+                    target=f'{top}/bin/{name}',
                     source=[mainFile],
                     use='core-objects ' + srcObjects,
                     includes=name)
@@ -84,7 +84,7 @@
         name = script.change_ext('').path_from(bld.path.get_bld())
         bld(features='subst',
             name=name,
-            target=top + 'bin/%s' % name,
+            target=f'{top}/bin/{name}',
             source=[script],
             install_path='${BINDIR}',
             chmod=Utils.O755,
