c - 关于 Makefile 中的 CFLAGS

标签 c gcc makefile

在makefile中,有一行:

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

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

最佳答案

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

关于c - 关于 Makefile 中的 CFLAGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861745/

相关文章:

linux - 是否可以有条件地在 makefile 中定义宏?

linux - 构建 googletest 失败 ../allocators.h : No such file or directory (but it's present in/usr/local/include/)

c - 如何在编译时在依赖文件中添加用户定义的依赖项

c - 如何在将 char* 传递给 C 中的函数后指向预期的 char 数组?

c - 在字符串中搜索和替换

gcc - 在 g++ (gcc) 或 clang (llvm) 中禁止内联汇编

c++ - 对象为模板时的静态构造

c - 对非常大的数字进行算术运算的算法

c - C程序中的字符串文字,可以在二进制中找到吗?

c - 带空格的字符串输入