Hi,

I think this looks like a bug, unless I'm forgetting some details about
how variables are expanded within recipes.

        alx@debian:~/tmp/bug$ ls
        Makefile
        alx@debian:~/tmp/bug$ cat Makefile | nl -ba
             1  MAKEFLAGS += --warn-undefined-variables
             2  
             3  foo := foo
             4  
             5  all:; echo $(foo)
             6  
             7  undefine foo
        alx@debian:~/tmp/bug$ make
        Makefile:5: warning: undefined variable 'foo'
        echo 

As I understand it, the variable foo is expanded immediately in the
definition of the recipe, and make(1) shouldn't care if I undefine it
after the definition of the recipe, right?  make(1) should create the
recipe with the contents of the variable, and not with the variable
itself.

Am I missing anything?

I'm using Debian Sid:

        $ make --version | head -n1
        GNU Make 4.4.1



Have a lovely night!
Alex


-- 
<https://www.alejandro-colomar.es>
Use port 80 (that is, <...:80/>).

Attachment: signature.asc
Description: PGP signature

Reply via email to