Makefile规则匹配

时间:2018-05-03 08:07:34

标签: makefile

在我的gnu-make-3.81 Makefile中,如果没有.c源文件,我希望从.s文件生成.o文件。所以我定义了以下简化的规则:

all::$(OBJS)

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

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

使用gnu-make-3.81,当没有.c源文件时,它将使用第二个规则生成.o文件。但是使用gnu-make-3.82,会出现错误:

make: *** No rule to make target `xxx.c', needed by `xxx.s'.  Stop.

如何让它像gnu-make-3.81一样工作?

0 个答案:

没有答案