文件名与Makefile目标名称相同

时间:2018-06-04 03:39:31

标签: makefile gnu

我搜索了其他答案,但它们与我的问题完全不符。

我有一个目标,也有一个同名文件(在VPATH中添加的一个文件夹中)。像这样......

rajesh : hello.elf
    ld <some Options> hello1.o hello2.o rajesh.o

%.o : %.c
    cc <some options> -o $@ $<

它可以很好地构建.elf文件。但是,它还尝试再次构建目标“rajesh”,它需要一些内在规则,并尝试从“rajesh.c”构建文件“rajesh”。并且失败了。虽然它已经创建了正确的目标,但是看到失败消息有点恼火。任何建议?

谢谢

1 个答案:

答案 0 :(得分:0)

你的Makefile有点奇怪。制作前hello.elf是否存在?如果没有,也许你需要一个如下规则:

hello.elf: dep1 dep2
    cmd <option> dep1 dep2 ...

如果您需要与文件无关的目标,请使用.PHONY

.PHONY: rajesh

然后,make将不会尝试检查名为rajesh的文件。