I'm still inclined to consider it a bug, but maybe we can have the best
of both worlds here. I see that Automake has conditionals:
https://www.gnu.org/software/automake/manual/automake.html#Conditionals
How hard would it be to test for GNU Make in our configure script, and
then to use your improved Makefile rules only when GNU Make is present?
I don't think that it is hard in itself. However, it is hard for me in this case since I don't know how you have been thinking with regard to the structure of the build system. E.g., I don't know why there's an am/
bootstrap.am which is included in bootstrap/Makefile.am rather than having that material in Makefile.am. In addition, I think it is better that I spend the little time I have in other ways---sorry.
But, as you concluded, Guile currently uses GNU Make specific functionality. $(filter-out ...) in bootstrap/Makefile.am is such a case and also the vpath and %-thingies in am/
bootstrap.am. Probably, you should start out by making an inventory of the various uses of GNU Make functionality and for each case evaluate how much work would be required to make it standard. First then it is possible to decide if it is worth to do it.
However, note that applying my suggested patch would not really change the situation much in this respect since that piece of functionality already now depends on the GNU Make specific $(filter-out ...), such that when GNU Make specifics get handled, having applied my patch doesn't really increase the amount of work in any way.
Best regards,
Mikael