以简单的Blink为例,Blink目录下的Makefile文件
COMPONENT=BlinkAppC
include $(MAKERULES)
可以看到MAKERULES这个是上一篇环境变量的export所声明过的,也就是../support/make目录,这个目录下文件基本介绍:
*.target---------target文件,指明编译平台也就是make telosb/cc2538cb(对应为telosb.target和cc2538cb.target)
打开cc2538cb.target文件:
#-*-Makefile-*- vim:syntax=make
PLATFORM = cc2538cb
ifdef CC2520_CHANNEL
PFLAGS += -DCC2520_DEF_CHANNEL=$(CC2520_CHANNEL)
endif
PFLAGS += -I$(TOSROOT)/tos/chips/cc2538/fwlib
$(call TOSMake_include_platform,cc2538cb)
$(call TOSMake_include_make_platform,cc2538cb)
cc2538cb: $(BUILD_DEPS)
@:
没错,我们看到的是声明平台是cc2538cb以及编译规则目录是cc2538cb
*.extra ----------编译的额外说明文件,主要是指比如blip.extra,coap.extra,主要是对你编译时候用到的其他库的一个补充,这些额外库的编译选项已经组件目录路径
下面则是编译的rules。对于telosb对应是msb目录,对于cc2538cb则为cc2538cb目录,里面会有xxx.rules目录,这个也就是make的核心文件;
再此不再详细介绍:
总结编译过程 比如编译命令为make cc2538cb blip id.1
过程为执行cc2538cb.rules的编译过程同时 引入blip的库组件以及 设置编译的rf的短地址为1
知道这些后你可以个性化你的make规则!!!
COMPONENT=BlinkAppC
include $(MAKERULES)
可以看到MAKERULES这个是上一篇环境变量的export所声明过的,也就是../support/make目录,这个目录下文件基本介绍:
*.target---------target文件,指明编译平台也就是make telosb/cc2538cb(对应为telosb.target和cc2538cb.target)
打开cc2538cb.target文件:
#-*-Makefile-*- vim:syntax=make
PLATFORM = cc2538cb
ifdef CC2520_CHANNEL
PFLAGS += -DCC2520_DEF_CHANNEL=$(CC2520_CHANNEL)
endif
PFLAGS += -I$(TOSROOT)/tos/chips/cc2538/fwlib
$(call TOSMake_include_platform,cc2538cb)
$(call TOSMake_include_make_platform,cc2538cb)
cc2538cb: $(BUILD_DEPS)
@:
没错,我们看到的是声明平台是cc2538cb以及编译规则目录是cc2538cb
*.extra ----------编译的额外说明文件,主要是指比如blip.extra,coap.extra,主要是对你编译时候用到的其他库的一个补充,这些额外库的编译选项已经组件目录路径
下面则是编译的rules。对于telosb对应是msb目录,对于cc2538cb则为cc2538cb目录,里面会有xxx.rules目录,这个也就是make的核心文件;
再此不再详细介绍:
总结编译过程 比如编译命令为make cc2538cb blip id.1
过程为执行cc2538cb.rules的编译过程同时 引入blip的库组件以及 设置编译的rf的短地址为1
知道这些后你可以个性化你的make规则!!!