The top and second level Makefiles that build the whole project by
recursing into all their subdirectories had implemented these by long
lists of invocations and then repeated these for all the all, clean,
install, uninstall targets. There were mistakes such as some
subdirectories not being cleaned.
Introduce SUBDIRS variables instead and have the targets loop over those
and additionally implement the clean, install, uninstall targets with a
single rule.