Update of bug #56778 (project make): Status: None => Not A Bug Open/Closed: Open => Closed
_______________________________________________________ Follow-up Comment #1: Questions like this about how make works are best asked on the mailing lists, such as bug-make@gnu.org or help-m...@gnu.org, rather than being reported as bugs in the bug tracker. This is expected behavior. The details of why this happens are described in https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.html and look up this error in the section https://www.gnu.org/software/make/manual/html_node/Error-Messages.html Basically in Makefile4 you have a rule like this: all: $(my_rule) the string $(my_rule) doesn't have an immediate reference to the $(MAKE) variable so as far as make is concerned, this recipe does not invoke a recursive make instance. To tell make that it _does_ perform a recursive make instance, and thus avoid the warning, you need to use the special + character. You can either prefix the variable reference in the recipe, like this: all: +$(my_rule) Or include it inside the define like this: define my_rule +$(MAKE) -f $(lastword $(MAKEFILE_LIST)) SUB-MAKE=1 hello endef (note the TAB is not needed here because you already have a TAB before the recipe where the $(my_rule) variable appears... you can include it or not it doesn't matter). _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?56778> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make