make: distclean

You cannot not use sh. Every command of make is executed in a subshell. You may assume that if you have less than a few hundred pkgs, then there won't be any measurable difference, foremost because the rm'ing in the pkg folder will take ages compared to the invocation.

The `find` line can be copy pasted, and it won't have false positives. I am not sure if `$(wildcard pkg/*)` in your line won't capture e.g. `Makefile.http`, too.

Using `rm` with globs can be very bad. My previous comment probably should have read:
```bash
find ./examples/ ./tests/ -maxdepth 2 -mindepth 2 -type d -name bin -exec rm -r -- '{}' +
```