CPPFLAGS = C Preprocessor Flags, these flags will be used for C and C++ compilation.
CFLAGS = C Flags, these flags will be used when compiling C.
CXXFLAGS = C++ Flags, these flags will be used when compiling C++.
Флаг -I указывает дополнительный каталог include, который будет использоваться во время компиляции.
Обычно рекомендуется использовать CPPFLAGS при указании include-каталогов, поэтому вы знаете, что он будет использоваться, даже еслиу проекта есть некоторый исходный код, скомпилированный как C.
Конечно, могут также быть обстоятельства, когда вы хотите, чтобы каталог include использовался только C или C ++, но не обоими.В этом случае вам, очевидно, будет лучше обслужить использование CFLAGS или CXXFLAGS.