Kconfig和Makefile的编辑

为便于描述,假设文件的目录结构如下:

+EntryLevel1

      Kconfig

      Makefile

      +EntryLevel2

            Kconfig

            Makefile

            +EntryLevel3

                   Kconfig.aaa

                    Makefile

 1.首先在第一层EntryLevel1的Kconfig中增加如下内容

1.1在顶层的配置文件中,增加配置项

CONFIG_SUB_MODULE_AE=y

1.2在EntryLevel1的Kconfig中增加如下内容

mainmenu "Total SDK Configuration"


comment "Modules Configuration"

source EntryLevel2/Kconfig

2.在第一层EntryLevel1的Makefile中增加如下内容

ifeq ($(CONFIG_SUB_MODULE_AE),y)

AE_FLAGS := -DENABLE_OWNER_AE  #这个宏是在.c,.h文件中使用的

else

AE_FLAGS :=

endif


KBUILD_CFLAGS += $(AE_FLAGS)

3.在第二层EntryLevel2的Kconfig中增加如下内容

menu "*** MW"


menuconfig BUILD_AAA_MODULE

bool "build aaa module"

default y


if BUILD_AAA_MODULE

source EntryLevel2/EntryLevel3/Kconfig.aaa

endif


endmenu

4.在第二层EntryLevel2的Makefile中增加如下内容

ifeq ($(CONFIG_BUILD_AAA_MODULE),y)

ccflags-y += -I$(srctree)/EntryLevel2/EntryLevel3/inc

endif


ifeq ($(CONFIG_BUILD_AAA_MODULE),y)

include $(srctree)/EntryLevel2/EntryLevel3/Makefile

endif

5.在第三层EntryLevel3的Kconfig.aaa中增加如下内容

menu "AAA MODULE CONFIG"


config SUB_MODULE_AE

bool "enable ae sub module"

default n


endmenu

6.在第三层EntryLevel3的Makefile中增加如下内容

ccflags-y += -I$(src)/EntryLevel3/inc


ifeq ($(CONFIG_SUB_MODULE_AE),y)

lib_app_objs += EntryLevel3/FileOne.o \

EntryLevel3/FileTwo.o

endif


二、调试

1.通过在编译服务器上 make menuconfig可以查看到Kconfig里面增加的配置项

   配置完成后的结果在rtos/output_part64/.config中

2.通过make -n 可以查看Makefile的最终结果

3.在Makefile或Kconfig中增加如下内容,可以中断make,并查看对应变量的值

$(error hello:$(variable))



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值