Follow-up Comment #1, bug #43550 (project make): "foo" in the Makefile refers to the directory "foo". Because the directory has no prerequisites, it is considered up to date as long as it exists (up-to-date means newer than all prerequisites).
In general, non-phony targets should update a single rule with same name as the target, so what you probably want is: foo/foo: foo/foo.cpp g++ -o $@ $< The $@ and $< are shorthand for the rule target and the first prerequisite, respectively. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?43550> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make