bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Windows shell discovery (was: Re: Incorrect path and shell script error)


From: Paul Smith
Subject: Windows shell discovery (was: Re: Incorrect path and shell script error)
Date: Thu, 07 May 2020 15:20:39 -0400

On Thu, 2020-05-07 at 18:41 +0000, Loch Brandon wrote:
> dirs:
> @$(ECHO) ------------------------------------------------------------
> @$(ECHO) Verifying and building application directory structure...
> @if not exist $(OUTPUTDIR) $(MKDIR) $(OUTPUTDIR)
> @if not exist $(OUTPUTDIR)\$(notdir $(OBJDIR)) $(MKDIR)
> $(OUTPUTDIR)\$(notdir $(OBJDIR))
> @if not exist $(OUTPUTDIR)\$(notdir $(DEPDIR)) $(MKDIR)
> $(OUTPUTDIR)\$(notdir $(DEPDIR))
> @if not exist "$(CONTROL_PROGRAM)" $(ECHO) !!! Warning: Compiler not
> found, searching at (CONTROL_PROGRAM): $(CONTROL_PROGRAM) !!!
> @if not exist "$(CONTROL_PROGRAM)" EXIT 1
> @$(ECHO) ------------------------------------------------------------

The above scripting is all written in Windows command.com batch file
syntax.

> When running without the '@' this is the result:
> echo Verifying and building application directory structure...
> Verifying and building application directory structure...
> if not exist output mkdir output
> 
> Then it hits the error.

The error you see implies that make is trying to invoke a POSIX shell
rather than Windows command.com.  The above syntax is not legal POSIX
shell syntax.

I am not really familiar with how make on Windows determines which type
of shell to run, especially such an old version ad 3.78.1.  However,
something on your system changed which is causing this.  Maybe you
installed some new software such as Git for Windows, and make can now
find a POSIX shell where it didn't used to be able to find one.

Maybe some setting of the make SHELL variable in your makefile can
convence make to use command.com, but I'm not sure.

Maybe someone with more experience on Windows than I can comment.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]