contiki2.6之Makefile详细解读二

本文详细解析了Contiki 2.6版本的Makefile,包括核心网络组件、MAC层和内核进程调度的源文件组织。通过条件语句处理IPv6支持,介绍了RIME协议栈、MAC层的不同实现,并探讨了编译过程中源文件如何被添加到编译列表。此外,还涉及了应用程序的Makefile整合及针对cc2530平台的特定配置。
摘要由CSDN通过智能技术生成
继续contiki2.6中makefile讲解

include $(CONTIKI)/core/net/rime/Makefile.rime
include $(CONTIKI)/core/net/mac/Makefile.mac
SYSTEM  = process.c procinit.c autostart.c elfloader.c profile.c \
          timetable.c timetable-aggregate.c compower.c serial-line.c
THREADS = mt.c
LIBS    = memb.c mmem.c timer.c list.c etimer.c ctimer.c energest.c rtimer.c stimer.c \
          print-stats.c ifft.c crc16.c random.c checkpoint.c ringbuf.c
DEV     = nullradio.c
NET     = netstack.c uip-debug.c packetbuf.c queuebuf.c packetqueue.c

包含Makefile.rime,我们看一下这个文件下内容

ifdef UIP_CONF_IPV6
#RIME_UIP6      = rime-udp.c
RIME_BASE      = rimeaddr.c timesynch.c rimestats.c
else
RIME_CHAMELEON = chameleon.c channel.c chameleon-raw.c chameleon-bitopt.c
RIME_BASE      = rimeaddr.c rime.c timesynch.c \
                 rimestats.c announcement.c polite-announcement.c \
                 broadcast-announcement.c
RIME_SINGLEHOP = broadcast.c stbroadcast.c unicast.c stunicast.c \
                 runicast.c abc.c \
                 rucb.c polite.c ipolite.c
RIME_MULTIHOP  = netflood.c multihop.c rmh.c trickle.c
RIME_MESH      = mesh.c route.c route-discovery.c
RIME_COLLECT   = collect.c collect-neighbor.c neighbor-discovery.c \
   collect-link-estimate.c
RIME_RUDOLPH   = rudolph0.c rudolph1.c rudolph2.c
endif # UIP_CONF_IPV6

CONTIKI_SOURCEFILES += $(RIME_BASE) \
               $(RIME_SINGLEHOP) \
               $(RIME_MULTIHOP) \
               $(RIME_MESH) \
               $(RIME_COLLECT) \
               $(RIME_RUDOLPH) \
               $(RIME_CHAMELEON) \
               $(RIME_UIP6)

如果定义了UIP_CONF_IPV6这个变量定义了 ,则往下执行,#后面为注释,因为UIP_CONF_IPV6这个变量没有定义,所以执行else下面的语句

这几句定义了几个和rime协议栈相关的变量,这些变量为相应的源文件列表。

最后追加CONTIKI_SOURCEFILES变量,将以上定义的变量引用到此变量中,注意其中RIME_UIP6为空。

 

打开Makefile.mac

CONTIKI_SOURCEFILES += cxmac.c xmac.c nullmac.c lpp.c frame802154.c sicslowmac.c nullrdc.c nullrdc-                             noframer.c mac.c
CONTIKI_SOURCEFILES += framer-nullmac.c framer-802154.c csma.c contikimac.c phase.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值