Makefile推理规则“.c.o”

时间:2015-06-09 21:16:45

标签: c makefile

我正在尝试学习makefile,而我无法让推理规则起作用。

据我所知,下面的推理规则会从* .c文件生成* .o文件。

.c.o :
    $(CC) $(CFLAGS) –c $@

每当我尝试输入“make temp.c”时,它表示没有找到目标,当我尝试“make temp”时,它使用make内置的默认make命令。如何强制makefile使用我的推理规则?

2 个答案:

答案 0 :(得分:2)

为了能够temp.o给出temp.c,规则必须是:

.c.o:
    $(CC) $(CFLAGS) -c -o $@ $<

或者,如果你使用GNU Make,

%.o: %.c:
    $(CC) $(CFLAGS) -c -o $@ $<

答案 1 :(得分:1)

make应该使用你的make文件。

您的make文件的文件名是什么?

make只会自动找到'makefile'和'Makefile'

然后您可以将命令行编写为:

make myTarget

如果您使用过任何其他名称,则需要将该命令行编写为:

 make -f myMakefile  myTarget