delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/09/19/20:07:27

From: dbe AT wgn DOT net ($Bill Luebkert)
Subject: Re: Found bug in make
19 Sep 1997 20:07:27 -0700 :
Message-ID: <34233786.16D9.cygnus.gnu-win32@wgn.net>
References: <199709191221 DOT FAA10838 AT ngedns DOT northgrum DOT com>
Reply-To: dbe AT wgn DOT net
Mime-Version: 1.0
To: "McCollister, Mike" <MCCOLMI AT mail DOT northgrum DOT com>
Cc: "'gnu-win32 AT cygnus DOT com'" <gnu-win32 AT cygnus DOT com>

McCollister, Mike wrote:
> 
> Hi,
> 
> I just downloaded beta 18 and found what I consider a major bug in make.
> Here is a sample Makefile:
> 
> ---start Makefile---
> .SILENT:
> SHELL =         /bin/sh
> 
> FRED =          fred
> MARY =          mary
> LIST =          file1 file2 file3 file4
> LIST_C =        ${LIST:=.c}
> 
> level1:
>         echo ; \
>         echo $@ ; \
>         MIKE=mike ; export MIKE ; \
>         echo FRED = $(FRED) ; \
>         echo MARY = $(MARY) ; \
>         echo MIKE = $$MIKE ; \
>         echo LIST = $(LIST) ; \
>         echo LIST_C = $(LIST_C) ; \
>         echo OPTION = $(OPTION) ; \
>         $(MAKE) level2
> 
> level2:
>         echo ; \
>         echo $@ ; \
>         echo FRED = $(FRED) ; \
>         echo MARY = $(MARY) ; \
>         echo MIKE = $(MIKE) ; \
>         echo LIST = $(LIST) ; \
>         echo LIST_C = $(LIST_C) ; \
>         echo OPTION = $(OPTION)
> ---end Makefile---
> 
> Now here is the bad output:
> 
> level1
> FRED = fred
> MARY = mary
> MIKE = mike
> LIST = file1 file2 file3 file4
> LIST_C = file1.c file2.c file3.c file4.c
> OPTION = option
> 
> level2
> FRED = fred
> MARY = mary
> MIKE = mike
> LIST = file1 file2 file3 file4
> LIST_C = file1.c file2.c file3.c file4.c
> OPTION =
> 
> Now here is what the output should be:
> 
> level1
> FRED = fred
> MARY = mary
> MIKE = mike
> LIST = file1 file2 file3 file4
> LIST_C = file1.c file2.c file3.c file4.c
> OPTION = option
> 
> level2
> FRED = fred
> MARY = mary
> MIKE = mike
> LIST = file1 file2 file3 file4
> LIST_C = file1.c file2.c file3.c file4.c
> OPTION = option  <- THIS IS DIFFERENT
> 
> Note that OPTION is not being "exported" to the next instance of make.
> 
> Does anyone know if build 19 fixes this?

No, but I've seen this env problem before and you should be able
to work around it by changing:
        $(MAKE) level2
to:
        $(MAKE) -e level2
if I remember correctly.

-- 
  ,-/-  __      _  _         $Bill Luebkert
 (_/   /  )    // //       DBE Collectibles
  / ) /--<  o // //      http://www.wgn.net/~dbe/
-/-' /___/_<_</_</_    Email: dbe AT wgn DOT net
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019