Eu entendo que CFLAGS (ou CXXFLAGS para C ++) são para o compilador, enquanto CPPFLAGS é usado pelo pré-processador.
Mas ainda não entendo a diferença.
Preciso especificar um caminho de inclusão para um arquivo de cabeçalho que está incluído com #include - porque #include é uma diretiva de pré-processador, o pré-processador (CPPFLAGS) é a única coisa que me interessa?
Sob quais circunstâncias eu preciso fornecer ao compilador um caminho de inclusão extra?
Em geral, se o pré-processador encontra e inclui os arquivos de cabeçalho necessários, por que ele precisa ser informado sobre os diretórios de inclusão extras? Para que serve CFLAGS afinal?
(No meu caso, na verdade descobri que AMBOS permitem compilar meu programa, o que aumenta a confusão ... Posso usar CFLAGS OU CPPFLAGS para atingir meu objetivo (no contexto do autoconf pelo menos). O que dá?)