关于Makefile中的CFLAGS

aki*_*ast 4 c gcc makefile

在makefile中,有一行:

    CFLAGS += $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 
&& echo -fno-stack-protector)
Run Code Online (Sandbox Code Playgroud)

有什么用 shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1?它似乎什么都不做.整条线路如何运作?提前致谢.

Pau*_*l R 5

它测试是否-fno-stack-protector是C编译器的有效命令行选项,如果是,则将此选项附加到CFLAGS,否则它什么都不做.