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 sh$ echo make.bat test >> /tmp/cmd.file sh$ cat /tmp/cmd.file; #all is ok so it seems really related to the fact that make behave differently if launched in a cmd or if somewhere else before a cygwin session as been created.... On Tue, Dec 1, 2009 at 11:44 AM, jean-luc malet <jeanluc.ma...@gmail.com> wrote: > 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.... > JLM > > On Tue, Dec 1, 2009 at 11:05 AM, jean-luc malet <jeanluc.ma...@gmail.com> > wrote: >> 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 <mdo...@bluearc.com> wrote: >>>> $make.bat test3 >>> >>>> <empty line> >>> >>> >>> >>> Interestingly, I failed to reproduce your problem: >>> >>> >>> >>> $ ./make.bat test3 >>> >>> >>> >>> C:\Documents and >>> Settings\martind\playpen\jlm-2009-11-30>C:\cygwin-1.5\bin\make test3 >>> >>> printf "${ENV_VAR1}\n" >>> >>> fromtheenv >>> >>> $ >>> >>> >>> >>> I tried with Cygwin 1.5 and 1.7. Here's more information about the 1.5 >>> versions: >>> >>> >>> >>> $ uname -a >>> >>> CYGWIN_NT-5.1 vm-martind 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin >>> >>> $ bash --version >>> >>> GNU bash, version 3.2.49(22)-release (i686-pc-cygwin) >>> >>> Copyright (C) 2007 Free Software Foundation, Inc. >>> >>> $ make --version >>> >>> GNU Make 3.81 >>> >>> Copyright (C) 2006 Free Software Foundation, Inc. >>> >>> This is free software; see the source for copying conditions. >>> >>> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A >>> >>> PARTICULAR PURPOSE. >>> >>> >>> >>> This program built for i686-pc-cygwin >>> >>> $ >>> >>> >>> >>> The exact test case I used wasn't quite the same as you gave: >>> >>> >>> >>> $ cat make.bat >>> >>> C:\cygwin-1.5\bin\make %* >>> >>> $ cat Makefile >>> >>> >>> >>> export TEST_FLAG=test >>> >>> SHELL=/bin/bash >>> >>> >>> >>> test : >>> >>> printf "$${TEST_FLAG}\n" >>> >>> >>> >>> test2 : >>> >>> printf "${TEST_FLAG}\n" >>> >>> >>> >>> test3 : >>> >>> printf "$${ENV_VAR1}\n" >>> >>> >>> >>> test4 : >>> >>> printf "${ENV_VAR1}\n" >>> >>> >>> >>> test5 : >>> >>> ENV_VAR1=${ENV_VAR1}; /bin/bash somescriptthatdoprintfenv_var1 >>> >>> >>> >>> >>> >>> $ >>> >>> >>> >>> If I had make.bat run "make", then it ended up invoking itself. My bat-fu >>> is weak: >>> >>> >>> >>> $ cat make.bat >>> >>> set PATH=C:\cygwin-1.5\bin;%PATH% >>> >>> make %* >>> >>> $ >>> >>> >>> >>> -----Original Message----- >>> From: jean-luc malet [mailto:jeanluc.ma...@gmail.com] >>> Sent: Monday, November 30, 2009 14:27 >>> To: Martin Dorey >>> Cc: bug-make >>> Subject: Re: not a bug but some strange behaviour >>> >>> >>> >>> $cat make.bat >>> >>> set PATH=cygwin_Path;oldPath >>> >>> make %* >>> >>> >>> >>> $ cat /tmp/Makefile >>> >>> >>> >>> export TEST_FLAG=test >>> >>> SHELL=/bin/bash >>> >>> >>> >>> test : >>> >>> <tab> printf "$${TEST_FLAG}\n" >>> >>> >>> >>> test2 : >>> >>> <tab> printf "${TEST_FLAG}\n" >>> >>> >>> >>> test3 : >>> >>> <tab> printf "$${ENV_VAR1}\n" >>> >>> >>> >>> test4 : >>> >>> <tab> printf "${ENV_VAR1}\n" >>> >>> >>> >>> test5 : >>> >>> <tab> ENV_VAR1=${ENV_VAR1}; /bin/bash somescriptthatdoprintfenv_var1 >>> >>> >>> >>> >>> >>> >>> >>> $ export ENV_VAR1=fromtheenv >>> >>> ----- cygwin env (make is called throught a .bat file) ----- >>> >>> $ make.bat test >>> >>> <empty line> >>> >>> $ make.bat test2 >>> >>> test >>> >>> $make.bat test3 >>> >>> <empty line> >>> >>> $make.bat test4 >>> >>> fromtheenv >>> >>> $make.bat test5 >>> >>> fromtheenv >>> >>> >>> >>> ------ from an interactive shell, cygwin env ---- >>> >>> $make test >>> >>> test >>> >>> $make test2 >>> >>> test >>> >>> $make test3 >>> >>> fromtheenv >>> >>> $make test4 >>> >>> fromtheenv >>> >>> $make test5 >>> >>> fromtheenv >>> >>> >>> >>> ------- linux ------ >>> >>> always working >>> >>> >>> >>> to make it short : if you call the subshell by setting the env >>> >>> variable on the same line it will ever work >>> >>> if you try to access some env variable in the makefile it always work >>> >>> if you try to use the env variable into one of the command it fails >>> >>> depending on the context..... >>> >>> >>> >>> Best Regards >>> >>> JLM >>> >>> >>> >>> On Mon, Nov 30, 2009 at 8:22 PM, Martin Dorey <mdo...@bluearc.com> wrote: >>> >>>> Can you contrive a simple test case - something that you can post here in >>>> its entirety to help someone reproduce the problem? >>> >>>> >>> >>>> -----Original Message----- >>> >>>> From: bug-make-bounces+mdorey=bluearc....@gnu.org >>>> [mailto:bug-make-bounces+mdorey=bluearc....@gnu.org] On Behalf Of jean-luc >>>> malet >>> >>>> Sent: Monday, November 30, 2009 10:27 >>> >>>> To: bug-make >>> >>>> Subject: not a bug but some strange behaviour >>> >>>> >>> >>>> Hi! >>> >>>> I have a cygwin environment in which I've written a makefile, in this >>> >>>> environment it's working fine >>> >>>> I want to make it available to other dos user, so I've written a bat >>> >>>> file that set the cygwin path and call make, >>> >>>> in the doc env when I do >>> >>>> echo %somevar% >>> >>>> I see the correct result >>> >>>> however in commands launched by make (shell scripts) the ${somevar} >>> >>>> expand to nothing... as if make was stripping the env.... >>> >>>> any idea? >>> >>>> thanks >>> >>>> JLM >>> >>>> >>> >>>> -- >>> >>>> KISS! (Keep It Simple, Stupid!) >>> >>>> (garde le simple, imbécile!) >>> >>>> "mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses >>> >>>> simples et qui marchent, espèce d'imbécile!" >>> >>>> ----------------------------- >>> >>>> "Si vous pensez que vous êtes trop petit pour changer quoique ce soit, >>> >>>> essayez donc de dormir avec un moustique dans votre chambre." Betty >>> >>>> Reese >>> >>>> http://www.grainesdechangement.com/citations.htm >>> >>>> >>> >>>> >>> >>>> _______________________________________________ >>> >>>> Bug-make mailing list >>> >>>> Bug-make@gnu.org >>> >>>> http://lists.gnu.org/mailman/listinfo/bug-make >>> >>>> >>> >>> >>> >>> >>> >>> >>> >>> -- >>> >>> KISS! (Keep It Simple, Stupid!) >>> >>> (garde le simple, imbécile!) >>> >>> "mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses >>> >>> simples et qui marchent, espèce d'imbécile!" >>> >>> ----------------------------- >>> >>> "Si vous pensez que vous êtes trop petit pour changer quoique ce soit, >>> >>> essayez donc de dormir avec un moustique dans votre chambre." Betty >>> >>> Reese >>> >>> http://www.grainesdechangement.com/citations.htm >> >> >> >> -- >> KISS! (Keep It Simple, Stupid!) >> (garde le simple, imbécile!) >> "mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses >> simples et qui marchent, espèce d'imbécile!" >> ----------------------------- >> "Si vous pensez que vous êtes trop petit pour changer quoique ce soit, >> essayez donc de dormir avec un moustique dans votre chambre." Betty >> Reese >> http://www.grainesdechangement.com/citations.htm >> > > > > -- > KISS! (Keep It Simple, Stupid!) > (garde le simple, imbécile!) > "mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses > simples et qui marchent, espèce d'imbécile!" > ----------------------------- > "Si vous pensez que vous êtes trop petit pour changer quoique ce soit, > essayez donc de dormir avec un moustique dans votre chambre." Betty > Reese > http://www.grainesdechangement.com/citations.htm > -- KISS! (Keep It Simple, Stupid!) (garde le simple, imbécile!) "mais qu'est-ce que tu m'as pondu comme usine à gaz? fait des choses simples et qui marchent, espèce d'imbécile!" ----------------------------- "Si vous pensez que vous êtes trop petit pour changer quoique ce soit, essayez donc de dormir avec un moustique dans votre chambre." Betty Reese http://www.grainesdechangement.com/citations.htm _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make