Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文件名与Makefile目标名相同_Makefile_Gnu - Fatal编程技术网

文件名与Makefile目标名相同

文件名与Makefile目标名相同,makefile,gnu,Makefile,Gnu,我搜索了其他答案,但它们与我的问题不完全匹配 我有一个目标,还有一个同名的文件(在添加到VPATH的一个文件夹中)。就这样 rajesh : hello.elf ld <some Options> hello1.o hello2.o rajesh.o %.o : %.c cc <some options> -o $@ $< rajesh:hello.elf 老天爷,老天爷,老天爷,老天爷 %.o:%.c 抄送-o$@$< 它可以很好地构建.el

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

我有一个目标,还有一个同名的文件(在添加到VPATH的一个文件夹中)。就这样

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

%.o : %.c
    cc <some options> -o $@ $<
rajesh:hello.elf
老天爷,老天爷,老天爷,老天爷
%.o:%.c
抄送-o$@$<
它可以很好地构建.elf文件。但是,它还尝试再次构建一个目标“rajesh”,它需要一些内在的规则,并尝试从“rajesh.c”构建一个文件“rajesh”。失败了。尽管它已经创建了正确的目标,但看到失败消息还是有点恼火。有什么建议吗


谢谢你

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

hello.elf: dep1 dep2
    cmd <option> dep1 dep2 ...
然后,make将不会尝试检查名为
rajesh
的文件

.PHONY: rajesh