首页 > 解决方案 > 为特定文件增加 makefile 编译开关

问题描述

CFLAGS 环境变量可用于将编译开关从外界传递给 Makefile,而无需修改文件本身。有没有办法只为一个特定的源文件传递开关?

就我而言,我想对多个文件而不是所有文件都禁止 gcc 警告,并且 Makefile 是由 IDE 自动生成的,因此我无法对其进行编辑。

标签: gnu-make

解决方案


请找到以下方法,这将帮助您传递额外的编译器标志并根据您的条件为其赋值。
您可以通过创建一个新变量来传递开关,
例如:CCFLAGS_EXTRASWITCH 并在 CCFLAGS 变量中使用此标志。

# Append CC_FLAGS with variable CCFLAGS_EXTRASWITCH which will be used to 
# pass extra switches. Value of CCFLAGS_EXTRASWITCH  you can assign
# to empty or some switches based on conditions/files that you have
CC_FLAGS   = $(CCFLAGS_EXTRASWITCH) \
             ... \   # Other default compiler flags that already exists. Keep as it is

推荐阅读