【发布时间】:2015-02-14 15:23:11
【问题描述】:
我只使用隐式规则 - 完全删除 makefile 以获得最小的测试用例。我有一个空的(GNU 汇编器没问题)program.s 文件。执行:
make program
给我 make 的以下输出:
cc program.s -o program
(当然还有预期的错误,这对问题无关紧要:因为我的汇编源文件是空的,所以没有“_start”并且各种链接都失败了。)
我想知道,为什么make会选择尝试一次性构建程序?而不是先使用as program.s ...,然后使用ld program.o ...?这是因为它认为在我的场景中不需要目标文件吗?
如果我执行make program.o,则调用as program.as ...,按预期生成我的program.o。
【问题讨论】:
标签: gcc assembly makefile gnu-make