我看到一个包含
的文件.missing-syscalls.d-: /home/ckim/MVP/snake_linux_3.3.mvpe/include/linux/kconfig.h \
include/generated/autoconf.h \
/home/ckim/MVP/snake_linux_3.3.mvpe/arch/sparc/include/asm/types.h \
include/asm-generic/int-ll64.h \
/home/ckim/MVP/snake_linux_3.3.mvpe/arch/sparc/include/asm/bitsperlong.h \
include/asm-generic/bitsperlong.h \
/home/ckim/MVP/snake_linux_3.3.mvpe/arch/sparc/include/asm/unistd.h
我知道.d文件仅用于显示依赖性。但是' - '作为目标?
答案 0 :(得分:1)
makefile中命令之前的连字符用于抑制错误并继续而不是像这样失败:
clean:
-rm -f *.o
makefile中包含语法的方法与抑制错误消息的方式相同,否则如果文件不可用则会出现错误消息:
-include $(SRC:%.c=%.d)
我认为.missing-syscalls.d文件的使用方式相同,忽略了它试图包含的不存在的头文件。
答案 1 :(得分:0)
这是一个错误(来自某个自动化过程出错)以及-
的文字定位,它定义了一些额外的先决条件(对于我无法想象的目标)很可能真的跑了。)
或者那是为了确保这些文件不被视为中间文件,以防万一某些规则链导致它们将其视为中间文件。
请参阅http://www.gnu.org/software/make/manual/make.html#Chained-Rules以供参考。
通常,如果文件中提到的话,文件不能是中间文件 makefile作为目标或先决条件。但是,您可以明确标记 将文件列为特殊的先决条件的文件作为中间文件 目标.INTERMEDIATE。即使提到文件,这也会生效 明确地以其他方式。