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.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.



Related issues