我自己查阅了一下说是一种依赖的模式规则,我在想OBJS=$(patsubst %.c,%.o, $(SRCS))这个指令已经完成了.c到.o的转化
下面在来这样一个对应依赖规则是不是重复多余了。
下图我注释掉这个特殊的依赖规则后也能正常运行
编译的源文件是不是只有一个??
不知道你这个问题是否已经解决, 如果还没有解决的话:对于这个问题,我可以给出以下解答:
根据提供的信息和图片,版本1的Makefile中的特殊依赖规则确实存在重复多余的情况。因为你已经使用指令OBJS=$(patsubst %.c,%.o, $(SRCS))
完成了将.c文件转换为.o文件的转换,并将生成的目标文件main与所有.o文件关联起来。因此,在这种情况下,特殊依赖规则的存在是多余的,而且不会起到任何作用。
当你将特殊依赖规则注释掉后,程序仍然可以正常运行,这进一步证实了特殊依赖规则的冗余性。因为在这种情况下,由于已经完成了.c文件到.o文件的转换,特殊依赖规则将不起作用,因为已经没有任何.c文件需要转换。
综上所述,特殊依赖规则是多余的,不会对程序产生任何影响。你可以将特殊依赖规则从Makefile中删除,而不会产生任何问题。
如果还有其他问题,请随时告诉我。