Problem

Makefile does not rebuild code if include file is modified

Solution

The acsMakefile builds dependencies only for "user include files", i.e. for files included in the following way:

     #include "myInclude.h"

and not for "system include files":

     #include <aSystemInclude.h>

If a change in your include file does not trigger the Makefile to rebuild your code, you are including it with <> instead of "".

acsMakefile behaves in this way to keep manageable the list of dependencies and speeding up compilation time. To do this, it uses the -MM CPP compiler option when building dependencies, instead of -M that would build a huge complete dependency list including all system include files.