In many cases, everything may be OK if you do not run make clean , but you cannot assume that they will.
An example of how things can go wrong: the configure flag can add the -D option to the CFLAGS or DEFS instead of defining it via config.h . The latter will give your C files a dependency on config.h , which, in turn, will be restored when you run configure again. But in the first case, if you run configure again and change this flag, the #defined character #defined in your C files will be different, but these C files will not be recompiled.
source share