As I understand it that's a "here document", not merely indirection. First check that you have a tab character rather than 9 spaces before 'cat'. Then you should get another error like this:
/bin/sh: warning: here-document at line 0 delimited by end-of-file (wanted `EOF') Commands in make are single lines but here-documents are multiline. You usage creates a line like this: cat - <<EOF ; Testing line 1 Testing line 2 EOF those '\' characters in your makefile remove the newlines and bash sees what I typed above. Try that at your bash commandline - it won't work either. So you're trying to use a multiline shell feature in a place where there will never be multiple lines because in a recipe, every line is a separate bash command. You can use .ONESHELL but that affects your entire makefile and you might not be happy about that. I don't know what your goal is (at the moment it seems strange to me to use a here document in a makefile) but you might be able to replace what you have with something like this: LINES=""; read X; while [ $$? -eq 0 ]; do if [ "$$X" == "EOF" ]; then break; fi; LINES="$$LINES\n$$X"; read X; done This gives you a bash variable, LINES, which you might echo to the terminal or whatever you want to do. Your action has to go on the end e.g. "; echo -e $$LINES" Regards, Tm _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
