Может ли makefile.am установить LDADD для набора целей?

Я поместил модульные тесты в тот же каталог исходного кода. Но как я могу установить LDADD в Makefile.am для всех этих модульных тестов, чтобы использовать определенные библиотеки (например, тест Google)?


person eddyxu    schedule 13.07.2011    source источник


Ответы (1)


Содержимое LDADD используется для всех целей, если эта переменная не переопределена с помощью target_LDADD. Поэтому, если у вас много модульных тестов и всего несколько реальных программ, вы можете использовать LDADD для модульных тестов и переопределить его для каждой программы с различными требованиями к компоновке.

LDADD = libtest.a   # Used by default for all targets

# Unit tests, using above LDADD
check_PROGRAMS = one two three
one_SOURCES = one.c
two_SOURCES = two.c
three_SOURCES = three.c

# Main program
bin_PROGRAMS = main
main_SOURCES = main.c
main_LDADD =        # Override the LDADD setting.

Похожий пример можно найти в документации LDADD.

person adl    schedule 13.07.2011