Respostas:
CPPFLAGS
é suposto ser para bandeiras do C P re P rocessor; CXXFLAGS
é para sinalizadores para o compilador C ++.
As regras padrão no make (na minha máquina, de qualquer forma) passam CPPFLAGS
para praticamente tudo, CFLAGS
são passadas apenas ao compilar e vincular C e CXXFLAGS
são passadas apenas ao compilar e vincular C ++.
x
é um +
girou sobre ela do lado, porque C++FLAGS
iria explodir o compilador. ... Posso ter chegado tarde à festa, mas ainda é melhor do que chegar a tempo da festa errada.
CPPFLAGS
NÃO é para C P lus P lus, mas CXXFLAGS
é.
Por padrão, CPPFLAGS
será fornecido ao pré-processador C, enquanto CXXFLAGS
será fornecido ao compilador C ++.
O GNU Make Manual é um bom recurso para perguntas como esta (consulte Variáveis implícitas ).
Por padrão, eles estão definidos para algo.
Na prática, você precisa saber o que cada projeto faz. Praticamente ninguém usa os padrões incorporados no make, e se você confiar, por exemplo, em CPPFLAGS, que significa "sinalizadores para o pré-processador C", você descobrirá que o projeto de seu interesse o usou para significar "sinalizadores para o compilador C ++" em vez de. E o sinalizador CFLAGS é passado para linhas de compilação C ++? As vezes. Nem sempre. Etc, etc, etc.
make -p