Wes*_*Wes 5 c automake portability makefile gnu-make
我正在按照Autotools页面上的使用检查的指示,试图在(当前)小型C项目中构建对单元测试的支持.虽然我使用的是Cgreen而不是Check.
我遇到了第9步的问题,这导致automake发出关于使用'%'的警告 - 样式模式规则是GNU make扩展.
具体的制定规则是:
check_%.$(OBJEXT) : $(srcdir)/%.c
$(COMPILE) -DCHECKING -c -o $@ $^
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种等效的方法来指定不依赖于gnu make扩展的规则.
便携式make规则只能使用不同的后缀,前缀应该相同.
.c.o:
$(COMPILE) -DCHECKING -c -o $@ $<
Run Code Online (Sandbox Code Playgroud)
但是,后缀不一定以点开头.(在这种情况下,你必须告诉Automake你的后缀是什么,因为它无法猜测.)因此,例如,如果你重命名check_showdns.o为showdns_check.o:
SUFFIXES = _check.o
check_libapdns_LDADD = @CHECK_LIBS@ showdns_check.o
.c_check.o:
$(COMPILE) -DCHECKING -c -o $@ $<
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2635 次 |
| 最近记录: |