Sample makefile
$ cat Makefile
SETIN01?=0
SETIN012?=0
1: SETIN1?=1
1: SETIN12?=1
1: SETIN01?=1
1: SETIN012?=1
1: 2
@echo "---------- 1 -------------"
@echo " SETIN1 is $(SETIN1)"
@echo " SETIN2 is $(SETIN2)"
@echo " SETIN12 is $(SETIN12)"
@echo " SETIN01 is $(SETIN01)"
@echo " SETIN012 is $(SETIN012)"
2: SETIN2?=2
2: SETIN12?=2
2: SETIN012?=2
2:
@echo "---------- 2 -------------"
@echo " SETIN1 is $(SETIN1)"
@echo " SETIN2 is $(SETIN2)"
@echo " SETIN12 is $(SETIN12)"
@echo " SETIN01 is $(SETIN01)"
@echo " SETIN012 is $(SETIN012)"
# Now when I run
$ make 2
---------- 2 -------------
SETIN1 is
SETIN2 is 2
SETIN12 is 2
SETIN01 is 0
SETIN012 is 0
The results above are as expected. But when I run
$ make 1
---------- 2 -------------
SETIN1 is 1
SETIN2 is 2
SETIN12 is 2
SETIN01 is 0
SETIN012 is 0
---------- 1 -------------
SETIN1 is 1
SETIN2 is
SETIN12 is 1
SETIN01 is 0
SETIN012 is 0
why is in 2 SETIN12 equals to 2 instead of 1?
why is in 1 SETIN12 value different than in 2?
Because SETIN1, we can see that the variables of 1 are read (including
SETIN12), but still 2 considers that SETIN12 is not set and reset it to 2.
Why don't the variable in the 'called target' have priority on the variable
defined in its dependencies?
--
Emmanuel
Menlo Security, Inc.
Menlo Park, CA
_______________________________________________
Help-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-make