I have also faced behaviour that looks like a bad syntax parsing/checking at first glance. Here is closing backet absence (after the 2nd LIB_A_FILENAME) in my Makefile:
$(LIB_A_FILENAME): $(LIB_A_FILENAME($(obj_files)) Due to these typing error the rule did nothing, a no errors were reported. If option --warn-undefined-variables passed, this warning appears: Makefile:58: warning: undefined variable 'LIB_A_FILENAME($(obj_files' I am going to turn this option on by default in my system. :) PS: I am running Debian stable $ make --version GNU Make 4.1