makefile.我为一组目标设置LDADD

Can makefile.am set LDADD for a set of target?

本文关键字:一组 目标 设置 LDADD makefile      更新时间:2023-10-16

我将单元测试放在源代码的同一目录中。但是如何在Makefile中设置LDADD呢?所有这些单元测试是否都要使用特定的库(例如Google test)?

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的文档中可以找到一个类似的例子。