1.宏的定义
config文件中添加编译变量CONFIG_ABC
CONGFIG_ABC=y
2.配置文件的声明
在Makefile中声明config文件,并export,使子目录中就可使用config文件中的变量
CONF_PATH=$(BUILD_DIR)/config_parent_dir // $(BUILD_DIR)/config_parent_dir指config文件所在父目录
export CONF_PATH BUILD_DIR
3.宏的使用
在子级makefile文件中使用include包含配置文件,并使用其中的变量添加宏定义
include $(CONF_PATH)/config
LFLAGS =
ifeq (y,$(CONGFIG_ABC))
LFLAGS += -fpie -pie
endif
ifeq (y,$(CONGFIG_ABC))
DFLAGS += -DCONGFIG_ABC
endif
子目录中的.c文件同样可以使用其中的宏
#ifdef CONGFIG_ABC
/* code */
#endif
#ifndef CONGFIG_ABC
/* code */
#endif