1.make系统安装

cd tools
./Bootstrap
./configure
make
sudo make install

2.make系统结构

3.第三版Makerules文件部分解析

 #  Allow users to specify additional directories to find .target, .extra, and
# .rules files. This allows for platforms to be stored in separate repositories
# and still compile against the main TinyOS code.
#
# To use this feature, set the environment variable TINYOS_ROOT_DIR_ADDITIONAL
# to a space or colon separated list of additional paths to make folders you would
# like the make system to search.
#
# Make expects space seperated lists, but ':' seperated is easier to read. We
# convert ':' to ' ' below so Make is happy.
#
ROOT_DIR_ADDITIONAL = $(subst :, ,$(TINYOS_ROOT_DIR_ADDITIONAL))
TOSMAKE_PATH = $(addsuffix /support/make,$(ROOT_DIR_ADDITIONAL))
TOSMAKE_PATH += $(TINYOS_MAKE_DIR)

添加附加的make目录。以“:”分隔开。

 #  Also determine the path for all TinyOS OS directories that may have code in
# them. This makes out-of-tree builds and multiple TinyOS code trees very easy
# to manage. All relevant folders will automatically be included to the call to
# nescc.
TOSMAKE_OS_DIR_ALL = $(addsuffix /tos,$(ROOT_DIR_ADDITIONAL)) $(TINYOS_OS_DIR) # Create identifying flags for the particular application, user, timestamp, etc.
IDENT_FLAGS := $(shell tos-ident-flags "$(COMPONENT)")
CFLAGS += $(IDENT_FLAGS)

第五行定义了全部make路径的变量。8-9行定义了指定目标组件的参数。

 #  Set the rules that expand PFLAGS (which have %T in them) to the PFLAGS that
# nescc sees when it compiles.
TOSDIR_OPTS = $(addprefix --tosdir ,$(TOSMAKE_OS_DIR_ALL))
ADD_SIM_DIRS = $(if $(filter sim sim-fast sim-sf,$(GOALS)),--sim,)
NESC_PFLAGS = $(shell tos-sub-tosdir $(TOSDIR_OPTS) $(ADD_SIM_DIRS) $(PFLAGS) $(TOSMAKE_PFLAGS_STD_INCLUDE))

此段代码是获取nesc编译参数中的路径参数,其中tos-sub-tosdir是创建nescc路径命令。使用以下命令查询:

tos-sub-tosdir --help
 # Colors
ifndef TOSMAKE_NO_COLOR
NO_COLOR=\x1b[0m
OK_COLOR=\x1b[;01m
ERROR_COLOR=\x1b[;01m
WARN_COLOR=\x1b[;01m
INFO_COLOR=\x1b[;01m
endif OK_STRING=$(OK_COLOR)[OK]$(NO_COLOR)
ERROR_STRING=$(ERROR_COLOR)[ERROR]$(NO_COLOR)
WARN_STRING=$(WARN_COLOR)[WARNING]$(NO_COLOR)
INFO_STRING=$(INFO_COLOR)[INFO]$(NO_COLOR)

此段代码是指定了OK,ERROR等的显示颜色设置。

最新文章

  1. 2016 Google code jam 答案
  2. Sprint回顾_团队听诊器
  3. 【插件开发】—— 1 Eclipse插件开发导盲
  4. BZOJ3906 : Trie
  5. asp.net mvc页面javascript代码中如何使用razor
  6. 1.7.4 Query Syntax and Parsing
  7. Windows server 2003常用设置
  8. HDU 3829 Cat VS Dog
  9. 一个还算简单的微信消息SDK(基于.Net Standard 2.0)
  10. cnblog排版
  11. 程序员网站开发时应该注意的SEO问题
  12. java面向对象中四种权限(private,protected,public,友好型)详解
  13. vue学习笔记——篇3
  14. Java入门到精通第4版汇总
  15. window的Navigator 对象
  16. react 数据管理之state思想指南
  17. github使用入门
  18. CefSharp v62修改,支持.net4.0
  19. 安卓读写INI文件
  20. 装饰 Markdown

热门文章

  1. 使用Dede破解Delphi软件实战
  2. bzoj2788-Festival
  3. 【bzoj5183】[Baltic2016]Park 离线+对偶图+并查集
  4. eclipse启动报错: No Java virtual machine
  5. Mybatis笔记三:iBatis与MyBatis区别
  6. CF891E [数学题]
  7. NOIP2017 逛公园 题解报告 【最短路 + 拓扑序 + dp】
  8. CF765F Souvenirs 解题报告
  9. Linux 查询命令
  10. 【bzoj2006】【NOI2015】超级钢琴