这里以hello-world例子为主线,从其工程Makefile开始,解析整个build过程。
定义变量CONTIKI_PROJECT为 hello-world
all是第一个目标,也就是默认目标,其为伪目标,依赖于CONTIKI_PROJECT变量定义的文件。
由于默认目标的特性是,总是被执行(除非显式定义了目标),但由于all是伪目标,只是一个标签,所以不会有all产生。
所以all的依赖$(CONTIKI_PROJECT)总是会被决议生成。最后会生成hello-world。
hello-world的生成估计是由隐含规则中的模式规则完成的,先不理。
这条语句为注释,变为ipv6,可以设置UIP_CONF_IPV6 =1
CONTIKI = ../.. #定义CONTIKI变量,即Contiki源码根目录
include $(CONTIKI)/Makefile.include #包含Contiki源码根目录下的Makefile.include
当前目录为...../hello-world/,上一个目录为examples,上一个目录为contiki-release-2-7。
contiki-release-2-7目录下就有文件Makefile.include。
原文:http://www.cnblogs.com/songdechiu/p/6011775.html