Follow-up Comment #1, bug #42599 (project make): FYI, .RECIPEPREFIX was added in GNU make 3.82.
I agree the error message is incorrect. In fact we shouldn't even be making that extra check in the case where RECIPEPREFIX is set. I'm not sure I agree with the preceding whitespace request though. This adds a lot of possibility for error into the parsing: if your recipe prefix happens to match some character at the beginning of the line for example. What about this: .RECIPEPREFIX = | all: | find . -type f ... \ | xargs grep -lv foobar | while read f; do echo "file: $$f"; done See the missing backslash at the end of the "xargs" line? Currently make will fail because it cannot parse the "while" line (no RECIPEPREFIX). If we allow leading whitespace then that looks like a recipe line and make will run it... and hang forever because the "read" is trying to read from stdin. The rule for recipe prefixes is currently very simple: check the single first character on the line and see if it's the recipe introduction character. Adding the ability to precede it with whitespace is something I'd have to think very carefully about. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?42599> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make