I took this for a test drive (on RISC OS, ignoring the GNUmakefiles changes therefore), it mostly did what I expected - getting the dependencies right on the source file is a nice touch.
I note that calling ${SQUISH} is unconditional which isn't equivalent in many of the makefiles that do the BASIC (as text) -> tokenised -> crunched -> !RunImage steps. I think generally only ROM'd BASIC gets Squished (and therefore Printer Manager as it used to be in ROM) the rest (like the Diversions) don't, and some (like SciCalc?) that might use EVAL would want an optout.
Left as an exercise for the reader to think of a nice way to do an optout, we can't just set SQUISH =
locally because the command has other parameters. Maybe CUSTOMSOMETHING = no
, or ifeq ($SQUISH,"") skip
type thing.