The manpage of ports says:
clean Remove the expanded source code. This does not recurse to
dependencies unless CLEANDEPENDS is defined to Yes.
distclean Remove the port's distfile(s). This does not recurse to
dependencies.
The wording for distclean suggests that it *never* recurses
to dependencies (as opposed to clean), while in fact it behaves
the same as clean.
Jan
--- ports.7.orig Sun Jun 19 17:38:28 2011
+++ ports.7 Sun Jun 19 17:40:20 2011
@@ -313,7 +313,10 @@ is defined to
.Dv Yes .
.It Ar distclean
Remove the port's distfile(s).
-This does not recurse to dependencies.
+This does not recurse to dependencies unless
+.Ev CLEANDEPENDS
+is defined to
+.Dv Yes .
.It Ar regress
Runs the ports regression tests.
Usually needs a completed build.