我正在尝试学习makefile,而我无法让推理规则起作用。
据我所知,下面的推理规则会从* .c文件生成* .o文件。
.c.o :
$(CC) $(CFLAGS) –c $@
每当我尝试输入“make temp.c”时,它表示没有找到目标,当我尝试“make temp”时,它使用make内置的默认make命令。如何强制makefile使用我的推理规则?
答案 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