Remove __pycache__ directories correctly on OpenBSD

The find utility of OpenBSD doesn't support the "-exec cmd {} +"
action. Change it to use "-depth -exec cmd {} ;" instead.

Also, remove __pycache__ before *.py[co], as most bytecode files are
in __pycache__ directories. Only those generated by Python 2 under
Doc/tools are not.

Closes #13326.
diff --git a/Makefile.pre.in b/Makefile.pre.in
index cde3af0..3ff5f26 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1231,8 +1231,8 @@
 # Sanitation targets -- clean leaves libraries, executables and tags
 # files, which clobber removes as well
 pycremoval:
+	-find $(srcdir) -depth -name '__pycache__' -exec rm -rf {} ';'
 	-find $(srcdir) -name '*.py[co]' -exec rm -f {} ';'
-	-find $(srcdir) -name '__pycache__' -exec rmdir {} '+'
 
 rmtestturds:
 	-rm -f *BAD *GOOD *SKIPPED
diff --git a/Misc/NEWS b/Misc/NEWS
index 5ac8c98..de3d3f3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -208,6 +208,11 @@
 - Issue #10860: http.client now correctly handles an empty port after port
   delimiter in URLs.
 
+Build
+-----
+
+- Issue #13326: Clean __pycache__ directories correctly on OpenBSD.
+
 Tests
 -----