Сделать: LDLIBS, устарел?
В документации GNU Make переменные LDLIBS и LOADLIBES не описаны в соответствующем разделе. Я читал, что эти переменные существуют только в целях совместимости, и что они являются эквивалентами (то же самое значение). Но LDLIBS все еще используется широко.
Можно ли сказать, что LDLIBS является устаревшей переменной или будет безопасно ее использовать? Если нет, то почему LDLIBS игнорируется его документацией?
Ответы
Ответ 1
В руководстве GNU написано: http://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html:
В следующих таблицах описаны некоторые из наиболее часто используемых предопределенных переменных. Этот список не является исчерпывающим.
Ответ 2
Кажется, что LOADLIBES
устарел, но LDLIBS
нет. Таким образом, manual говорит:
LDFLAGS
: дополнительные флаги для компиляторов, когда они должны вызовите компоновщик ld
, например -L
. Библиотеки (-lfoo
) должны быть вместо этого добавляется к переменной LDLIBS
.
LDLIBS
: флаги библиотеки или имена, присваиваемые компиляторам, когда они предположительно для вызова компоновщика ld
. LOADLIBES
является устаревшим (но все еще поддерживается) альтернатива LDLIBS
. Флаги несущих библиотеки, такой как -L
, должен идти в переменной LDFLAGS
.