Added a -q flag, and cleaned up and simplified the code. Added -h (help) options, and make more use of other modules.
Make version numbers easier to compare.
Each SRC_DIR gets its own Makefile fragment, and where it needs private build rules a RULES files. If this pattern gets used elsewhere we could automate the include lines (search $(SRC_DIRS) for Makefiles and RULES files?).