BACnet协议栈分析之Makefile文件

Makefile参考书籍<GNU make项目管理>

# CC = gcc
# AR = ar
# MAKE = make
# SIZE = size

# 配置

# If BACNET_DEFINES has not already been set, configure to your needs here

# -D 表示引用意思,PRINT_ENABLE=1, BACAPP_ALL, BACFILE, INTRINSIC_REPORTING

MY_BACNET_DEFINES = -DPRINT_ENABLED=1
MY_BACNET_DEFINES += -DBACAPP_ALL
MY_BACNET_DEFINES += -DBACFILE
MY_BACNET_DEFINES += -DINTRINSIC_REPORTING
BACNET_DEFINES ?= $(MY_BACNET_DEFINES)

# un-comment the next line to build the routing demo application BACNET默认是开启BACnet IP协议,若想使用MS/TP则需

#使用BACDL_DEFINE=-DBACDL_MSTP=1
#BACNET_DEFINES += -DBAC_ROUTING

#BACDL_DEFINE=-DBACDL_ETHERNET=1
#BACDL_DEFINE=-DBACDL_ARCNET=1
#BACDL_DEFINE=-DBACDL_MSTP=1
BACDL_DEFINE?=-DBACDL_BIP=1

# 定义要支持的BBMD的类型

BBMD_DEFINE ?= -DBBMD_ENABLED=1
#BBMD_DEFINE ?=-DBBMD_ENABLED=0
#BBMD_DEFINE ?= -DBBMD_CLIENT_ENABLED

# 通过命令行来传递参数

MAKE_DEFINE ?=

# 不知道WEAK_FUNC有什么用

DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE) $(BBMD_DEFINE) -DWEAK_FUNC=
DEFINES += $(MAKE_DEFINE)

# 默认是/ports/linux目录

BACNET_PORT ?= linux
BACNET_PORT_DIR = ../ports/${BACNET_PORT}

BACNET_OBJECT = ../demo/object
BACNET_HANDLER = ../demo/handler
BACNET_CORE = ../src
BACNET_INCLUDE = ../include
# 编译器配置

#STANDARDS = -std=c99
INCLUDE1 = -I$(BACNET_PORT_DIR) -I$(BACNET_OBJECT) -I$(BACNET_HANDLER)
INCLUDE2 = -I$(BACNET_INCLUDE)
INCLUDES = $(INCLUDE1) $(INCLUDE2)
OPTIMIZATION = -Os
DEBUGGING =
WARNINGS = -Wall -Wmissing-prototypes
ifeq (${BUILD},debug)
OPTIMIZATION = -O0
DEBUGGING = -g -DDEBUG_ENABLED=1
ifeq (${BACDL_DEFINE},-DBACDL_BIP=1)
DEFINES += -DBIP_DEBUG
endif
endif
CFLAGS  = $(WARNINGS) $(DEBUGGING) $(OPTIMIZATION) $(STANDARDS) $(INCLUDES) $(DEFINES)

# export导出变量

# (see http://www.gnu.org/software/automake/manual/make/Special-Targets.html)
.EXPORT_ALL_VARIABLES:

all: library demos
.PHONY : all library demos clean

library:
 $(MAKE) -C lib all

demos:
 $(MAKE) -C demo all

# 增加想要的开发板类型,比如at91sam7s,atmega168

ports: atmega168 bdk-atxx4-mstp at91sam7s
 @echo "Built the ARM7 and AVR ports"

atmega168: ports/atmega168/Makefile
 $(MAKE) -C ports/atmega168 clean all

at91sam7s: ports/at91sam7s/makefile
 $(MAKE) -C ports/at91sam7s clean all

bdk-atxx4-mstp: ports/bdk-atxx4-mstp/Makefile
 $(MAKE) -C ports/bdk-atxx4-mstp clean all

clean:
 $(MAKE) -C lib clean
 $(MAKE) -C demo clean

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值