[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
- exported variables stopped working when migrating make from 4.0 to 4.1,
Juha Heinanen <=