some more test
1) it seems to occurs only if called from an env were the current UID
isn't set (ie /etc is empty)
2)
$cat Makefile
SHELL=/bin/sh
test :
env
test2 :
env; printf "$${somenvvar}\n"
$make test
everything is ok, the env is correct
$make test2
env is wrong
On Mon, Nov 30, 2009 at 1
in the bat file you have to do
call path\to\the\real\make.exe %*
you might also want to use the -f option of make to have it using the
right makefile
JLM
On Mon, Nov 30, 2009 at 11:58 PM, Martin Dorey wrote:
>> $make.bat test3
>
>>
>
>
>
> Interestingly, I failed to reproduce your problem:
>
>
>
found!
I was using SHELL = /bin/sh
I shall have used SHELL = sh
and in fact make behave differently if the path is inside the SHELL variable
info make in section choosing the shell
however I find this strange and confusing that make behave differently
on dos/windows than on cygwin/unix
almost
it seems that it fixe the shell script but if I call some dos tool
inside, then the env is striped again
some other points :
if I wrap the cmd into a shell all is working :
sh$ tail -F /tmp/cmd.file | cmd > /tmp/log.file &
sh$ echo cd the\\path\\to\\the\\make.bat\\ >> /tmp/cmd.file
well I'm replying to myself ;)
so there was a combinaison of several issues
1) if bash as no config files it seems that it strip the env
2) if make don't find the SHELL it don't complain and run it using
cmd? bash? (in case of cygwin) and then strip the env
so the fixes was :
run all shell wrapp