Difference between CPPFLAGS and CXXFLAGS in GNU Make
Solution 1:
CPPFLAGS
is supposed to be for flags for the C PreProcessor; CXXFLAGS
is for flags for the C++ compiler.
The default rules in make (on my machine, at any rate) pass CPPFLAGS
to just about everything, CFLAGS
is only passed when compiling and linking C, and CXXFLAGS
is only passed when compiling and linking C++.
Solution 2:
By default, CPPFLAGS
will be given to the C preprocessor, while CXXFLAGS
will be given to the C++ compiler.
The GNU Make Manual is a good resource for questions like this (see Implicit Variables).
Solution 3:
CPPFLAGS are for the C preprocessor, while CXXFLAGS are for the C++ compiler.
See here.