> On Mar 1, 2016, at 3:32 PM, Cohen, Eugene <[email protected]> wrote:
> 
> 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.
> 

Eugene,

Maybe I'm confused. Are you using nmake or GNU make? I though you were using 
GNU make and could fix it with the MAKESHELL variable. 

Does running on windows hard code you to nmake even if you are using GNU tools? 
Maybe that is the bug :).

The generated makefiles are called Makefile for nmake and GNUmakefile for make. 

Thanks,

Andrew Fish

> 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

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to