[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GNU Make 4.3: Makefile rule spooky action at a distance
From: |
Danny Milosavljevic |
Subject: |
GNU Make 4.3: Makefile rule spooky action at a distance |
Date: |
Sun, 4 Oct 2020 09:11:54 +0200 |
Hi,
I just got a build failure in lz4. I've isolated it and made a minimal test
case, see below.
This is on GNU Guix on a x86_64 machine.
The reason is that apparently one Makefile rule can unwittingly change how
another unrelated rule functions, IF a submake is involved.
To reproduce:
$ cat Makefile
all:
$(MAKE) -C foo all
dummy: CFLAGS ?= bar
dummy:
$ cat foo/Makefile
CFLAGS ?= internal
all:
echo $(CFLAGS)
Expected behavior:
$ CFLAGS=ok make
make -C foo all
make[1]: Entering directory 'foo'
echo ok
ok
make[1]: Leaving directory 'foo'
Actual behavior:
$ CFLAGS=ok make
make -C foo all
make[1]: Entering directory 'foo'
echo internal
internal
make[1]: Leaving directory 'foo'
BR,
Danny Milosavljevic
pgpLRjijKCXZI.pgp
Description: OpenPGP digital signature