Я понимаю, что CFLAGS (или CXXFLAGS для С++) предназначены для компилятора, тогда как CPPFLAGS используется препроцессором.
Но я до сих пор не понимаю разницы.
Мне нужно указать путь включения для файла заголовка, который включен в #include, потому что #include является директивкой препроцессора, является ли препроцессор (CPPFLAGS) единственным, что меня волнует?
В каких обстоятельствах мне нужно предоставить компилятору дополнительный путь include?
В общем случае, если препроцессор находит и включает необходимые файлы заголовков, зачем ему нужно рассказывать о дополнительных каталогах include? Какое использование CFLAGS вообще?
(В моем случае я действительно обнаружил, что ОБА из них позволяют мне скомпилировать мою программу, что добавляет к путанице... Я могу использовать CFLAGS ИЛИ CPPFLAGS для достижения моей цели (по крайней мере, в контексте autoconf). Что дает?)