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