>>> '$(x:...(...)$$)' >> I don't see $$) anywhere in my lie above - nor anywhere else in >> local-prog, for that matter. > I extracted the '$$)' from your line 121 and minified it to the parts > necessary to understand the parentheses counting parts.
It looks as though you also deleted parts, since line 121 is $(x:C;^.*\.([0-9].*)$$;$(INSTMANDIR)/cat\1;): and the only ways I see to get $$) out of that are to delete ";$(INSTMANDIR" or to delete ";$(INSTMANDIR)/cat\1;", neither of which seems to me to match what you wrote >> It counts the '$(' as starting a subexpression, then ignores the >> following '(', and when it sees the first ')', it considers the >> expression completed, leaving the '$$)' for a syntax error. The only places I see $( there are at the very beginning and the $(INSTMANDIR) in the replacement string, neither of which makes much sense to me (and only the first of which even _has_ a following '('). Thus my remark that I'd have to trace through the code to understand what you mean. > In case you want to build old versions of make, On my own machines, I use the 5.2 and 4.0.1 makes, with 64-bit time_t changes and, for the 4.0.1 make, a fix for := variable expansion. (For use on 1.4T, I backported the 5.2 make after one run-in too many with the make variant it shipped with.) I considered copying that to the 9.1 machine, to get consistency between that and what I run at home, but figured I might be running into a bug, in which case it would probably be worth alerting someone to. > https://ftp.netbsd.org/pub/pkgsrc/misc/rillig/make-archive/ I may have a look at that at some point. Thanks for the pointer! /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B