makefile.am 可以为一组目标设置 LDADD 吗?
Posted
技术标签:
【中文标题】makefile.am 可以为一组目标设置 LDADD 吗?【英文标题】:Can makefile.am set LDADD for a set of target? 【发布时间】:2011-07-13 00:56:22 【问题描述】:我将单元测试放在源代码的同一目录中。但是如何在 Makefile.am 中为所有这些单元测试设置 LDADD 以使用特定的库(例如 google test)?
【问题讨论】:
【参考方案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.
类似的例子可以在the documentation of LDADD
中找到。
【讨论】:
以上是关于makefile.am 可以为一组目标设置 LDADD 吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何影响目标的顺序,为 Makefile.am 添加额外的步骤等?
关于Makefile.am中与Build相关的变量设置 AM_CPPFLAGS