Відповіді:
CPPFLAGSпередбачається, що для прапорщиків C P re P є прапорці; CXXFLAGSпризначений для прапорів для компілятора C ++.
Правила за замовчуванням, зроблені (на моїй машині, у будь-якому випадку), передаються CPPFLAGSмайже усьому, CFLAGSпередаються лише під час компіляції та зв’язування C та CXXFLAGSпередаються лише під час компіляції та зв’язування C ++.
xце +виявилося на його стороні , тому що C++FLAGSпідірвуть компілятор. ... Я, можливо, прийшов на вечірку пізно, але це все-таки краще, ніж прийти вчасно до неправильної партії.
CPPFLAGSце НЕ для C P Lus P СЗП , але CXXFLAGS є.
За замовчуванням CPPFLAGSбуде надано препроцесору C, тоді як CXXFLAGSбуде надано компілятору C ++.
Посібник з виготовлення GNU - це гарний ресурс для таких питань (див. Неявні змінні ).
За замовчуванням вони встановлені на щось.
На практиці потрібно знати, що робить кожен окремий проект. Практично ніхто не використовує вбудовані параметри за замовчуванням, і якщо ви покладаєтесь, наприклад, на CPPFLAGS, що означає "прапори до препроцесора C", ви побачите, що проект, який вам цікавий, використовував його для позначення "прапори компілятору C ++" замість цього. І чи передається прапор CFLAGS до рядків компіляції C ++? Іноді. Не завжди. І т.д., і т.д., і т.д.
make -p