diff --git a/Makefile.pre.in b/Makefile.pre.in
index ae6555c..8601422 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1962,7 +1962,7 @@
 
 # Check that all symbols exported by libpython start with "Py" or "_Py"
 smelly: @DEF_MAKE_RULE@
-	$(RUNSHARED) ./$(BUILDPYTHON) Tools/scripts/smelly.py
+	$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/smelly.py
 
 # Find files with funny names
 funny:
diff --git a/Misc/NEWS.d/next/Build/2021-10-21-14-38-30.bpo-45561.PVqhZE.rst b/Misc/NEWS.d/next/Build/2021-10-21-14-38-30.bpo-45561.PVqhZE.rst
new file mode 100644
index 0000000..cf5d868
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2021-10-21-14-38-30.bpo-45561.PVqhZE.rst
@@ -0,0 +1 @@
+Run smelly.py tool from $(srcdir).
diff --git a/Tools/scripts/smelly.py b/Tools/scripts/smelly.py
index fb01660..276a5ab 100755
--- a/Tools/scripts/smelly.py
+++ b/Tools/scripts/smelly.py
@@ -108,8 +108,11 @@ def check_library(library, dynamic=False):
 
 def check_extensions():
     print(__file__)
-    srcdir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
-    filename = os.path.join(srcdir, "pybuilddir.txt")
+    # This assumes pybuilddir.txt is in same directory as pyconfig.h.
+    # In the case of out-of-tree builds, we can't assume pybuilddir.txt is
+    # in the source folder.
+    config_dir = os.path.dirname(sysconfig.get_config_h_filename())
+    filename = os.path.join(config_dir, "pybuilddir.txt")
     try:
         with open(filename, encoding="utf-8") as fp:
             pybuilddir = fp.readline()
@@ -118,7 +121,7 @@ def check_extensions():
         return True
 
     print(f"Check extension modules from {pybuilddir} directory")
-    builddir = os.path.join(srcdir, pybuilddir)
+    builddir = os.path.join(config_dir, pybuilddir)
     nsymbol = 0
     for name in os.listdir(builddir):
         if not name.endswith(".so"):
