help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

exported variables stopped working when migrating make from 4.0 to 4.1


From: Juha Heinanen
Subject: exported variables stopped working when migrating make from 4.0 to 4.1
Date: Thu, 13 Apr 2017 18:49:33 +0300

Perhaps someone can give a hint why exported variables stopped working
when I upgraded from Debian Jessie, where make is 4.0, to Debian
Stretch, where make is 4.1.

I have in main directory Makefile and Makefile.defs and Makefile's in
sub-directors.

In Makefile.defs there is, for example:

-------------------------------
INSTALL-TOUCH = touch
export INSTALL-TOUCH
-------------------------------

In main Makefile I have:

-------------------------------
all: core
include Makefile.defs

core:
        @echo "INSTALL-TOUCH is $(INSTALL-TOUCH)"
        $(MAKE) -C core all;
        ...
-------------------------------        

and in core Makefile:

-------------------------------
all: ../Makefile.defs core

.PHONY: core
core:
        @echo "INSTALL-TOUCH in core is $(INSTALL-TOUCH)"
-------------------------------

Now when I give command

make all

in main directory, 4.0 make produces to terminal:

INSTALL-TOUCH is touch
INSTALL-TOUCH in core is touch

whereas 4.1 make produces:

INSTALL-TOUCH is touch
INSTALL-TOUCH in core is

That is, in 4.1 variable INSTALL-TOUCH is not exported to core Makefile.

Any pointers why that is the case, i.e., what has changed from make 4.0
to make 4.1 that could explain the difference?

-- Juha





reply via email to

[Prev in Thread] Current Thread [Next in Thread]