Я начинаю узнавать о make файлах. Глядя на результат, я вижу много вхождений:
g++ -DHAVE_CONFIG_H -I ...
что такое -DHAVE_CONFIG_H точно? Какова функция этой опции компиляции?
Ответ 1
Все, что -DHAVE_CONFIG_H делает, это определить токен перед процессором HAVE_CONFIG_H точно так же, как если бы вы имели #define HAVE_CONFIG_H в начале каждого из ваших исходных файлов.
Что касается того, для чего он используется, это полностью зависит от остальной части исходного файла (и всего, что включает в себя). Это то, где вы должны искать свой эффект.
Похоже, что это может означать, что заголовочный файл config.h доступен и должен быть включен, и в этом случае вы, вероятно, найдете следующую последовательность в исходных файлах:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
который будет включать заголовочный файл, когда вы говорите, что он доступен. Однако это предположение с моей стороны и отнюдь не точный эффект, именно то, что я использовал бы для этого символа препроцессора.