PROGS: Fix ESTALE errors on NFS while cleaning in directories with PROGS.
- Only recurse on cleanobj/cleandir if there is no .OBJDIR being used. If we don't recurse then bsd.obj.mk will just rm -rf the OBJDIR dir.
- When recursing on cleanobj/cleandir don't remove dependfiles/dirs redundantly from the child and main processes. Meaning '.depend', and 'tags', and '.depend.*' will now only be removed from the main process.
- Stop recursing on 'cleandepend' since the main process can handle removing all files via the default glob patterns in CLEANDEPENDFILES.
- This reverts r288201, by readding recursion on 'cleanobj', due to r291635 changing how bsd.subdir.mk handles recursion.
This is primarily targeting ESTALE NFS errors from rm(1) during a
buildworld but is also a performance optimization as both issues fixed
were redundant anyway.
Reported by: cperciva, scottl
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon