Andrew,
> Each line of the recipe in the makefile should invoke a unique instance
> of the shell. Thus it seems you are invoking the wrong shell so take a
> look at:
> https://www.gnu.org/software/make/manual/html_node/Choosing-
> the-Shell.html
In this case we're basically trying to execute a quoted echo command - you can
duplicate the effect by creating a little batch file with:
test.bat:
"echo" hello
>test
'"echo"' is not recognized as an internal or external command,
operable program or batch file.
and you receive an error because when quoted it bypasses the internal command
evaluation and looks for something on the path called echo (.bat/.cmd/exe, etc)
which doesn't exist.
The quoting stems from build rules which add quotes around the commands
presumably to handle stuff like spaces in filenames:
<Command.GCC>
"$(DLINK)" -o ${dst} $(DLINK_FLAGS) --start-group $(DLINK_SPATH)
@$(STATIC_LIBRARY_FILES_LIST) --end-group $(DLINK2_FLAGS)
"$(OBJCOPY)" $(OBJCOPY_FLAGS) ${dst}
So I don't think this is a shell thing since a vanilla windows command prompt
exhibits this behavior.
We could define a custom echo in BaseTools that's portable although it seems
like overkill.
Eugene
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel