tutorial - makefile structure
Diferencia entre CPPFLAGS y CXXFLAGS en GNU Make (4)
¿Cuál es la diferencia entre CPPFLAGS y CXXFLAGS en GNU Make?
Los CPPFLAGS son para el preprocesador C, mientras que los CXXFLAGS son para el compilador C ++.
Mira here .
Por defecto, CPPFLAGS
se entregará al preprocesador C, mientras que CXXFLAGS
se entregará al compilador C ++.
El Manual de GNU Make es un buen recurso para preguntas como esta (ver variables implícitas ).
Por defecto, están configurados para algo.
En la práctica, necesita saber lo que hace cada proyecto. Prácticamente nadie usa esos valores predeterminados incorporados en make, y si confía en, por ejemplo, CPPFLAGS que significa "banderas para el preprocesador C", encontrará que el proyecto que le interesa lo ha usado para significar "banderas para el compilador C ++" en lugar. ¿Y el indicador CFLAGS pasa a las líneas de compilación C ++? A veces. No siempre. Etc, etc., etc.
CPPFLAGS
se supone que es para banderas para el C P re P rocessor; CXXFLAGS
es para indicadores para el compilador de C ++.
Las reglas predeterminadas en make (en mi máquina, en cualquier caso) pasan CPPFLAGS
a casi todo, CFLAGS
solo se pasa al compilar y enlazar C, y CXXFLAGS
solo se pasa al compilar y enlazar C ++.