mirror of
https://github.com/stargieg/bacnet-stack
synced 2025-10-19 23:25:23 +08:00
128 lines
2.9 KiB
Makefile
128 lines
2.9 KiB
Makefile
# Main Makefile for BACnet-stack project with GCC
|
|
|
|
# tools - only if you need them.
|
|
# Most platforms have this already defined
|
|
# CC = gcc
|
|
# AR = ar
|
|
# MAKE = make
|
|
# SIZE = size
|
|
#
|
|
# Assumes rm and cp are available
|
|
|
|
# configuration
|
|
# If BACNET_DEFINES has not already been set, configure to your needs here
|
|
MY_BACNET_DEFINES = -DPRINT_ENABLED=1
|
|
MY_BACNET_DEFINES += -DBACAPP_ALL
|
|
MY_BACNET_DEFINES += -DBACFILE
|
|
MY_BACNET_DEFINES += -DINTRINSIC_REPORTING
|
|
MY_BACNET_DEFINES += -DBACNET_TIME_MASTER
|
|
MY_BACNET_DEFINES += -DBACNET_PROPERTY_LISTS=1
|
|
BACNET_DEFINES ?= $(MY_BACNET_DEFINES)
|
|
|
|
# un-comment the next line to build in uci integration
|
|
#BACNET_DEFINES += -DBAC_UCI
|
|
#UCI_LIB_DIR ?= /usr/local/lib
|
|
#UCI_INCLUDE_DIR ?= /usr/local/include
|
|
|
|
#BACDL_DEFINE=-DBACDL_ETHERNET=1
|
|
#BACDL_DEFINE=-DBACDL_ARCNET=1
|
|
#BACDL_DEFINE=-DBACDL_MSTP=1
|
|
BACDL_DEFINE?=-DBACDL_BIP=1
|
|
|
|
# Declare your level of BBMD support
|
|
BBMD_DEFINE ?=-DBBMD_ENABLED=1
|
|
#BBMD_DEFINE ?= -DBBMD_ENABLED=0
|
|
#BBMD_DEFINE ?= -DBBMD_CLIENT_ENABLED
|
|
|
|
# Passing parameters via command line
|
|
MAKE_DEFINE ?=
|
|
|
|
# Define WEAK_FUNC for [...somebody help here; I can't find any uses of it]
|
|
DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE) $(BBMD_DEFINE) -DWEAK_FUNC=
|
|
DEFINES += $(MAKE_DEFINE)
|
|
|
|
# BACnet Ports Directory
|
|
BACNET_PORT ?= linux
|
|
|
|
# Default compiler settings
|
|
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 the variables defined here to all subprocesses
|
|
# (see http://www.gnu.org/software/automake/manual/make/Special-Targets.html)
|
|
.EXPORT_ALL_VARIABLES:
|
|
|
|
all: library demos gateway router-ipv6 ${DEMO_LINUX}
|
|
.PHONY : all library demos router gateway router-ipv6 clean
|
|
|
|
library:
|
|
$(MAKE) -s -C lib all
|
|
|
|
demos:
|
|
$(MAKE) -C demo all
|
|
|
|
gateway:
|
|
$(MAKE) -B -s -C demo gateway
|
|
|
|
server:
|
|
$(MAKE) -B -C demo server
|
|
|
|
mstpcap:
|
|
$(MAKE) -B -C demo mstpcap
|
|
|
|
mstpcrc: library
|
|
$(MAKE) -B -C demo mstpcrc
|
|
|
|
iam:
|
|
$(MAKE) -B -C demo iam
|
|
|
|
uevent:
|
|
$(MAKE) -B -C demo uevent
|
|
|
|
writepropm:
|
|
$(MAKE) -s -B -C demo writepropm
|
|
|
|
abort:
|
|
$(MAKE) -B -C demo abort
|
|
|
|
error:
|
|
$(MAKE) -B -C demo error
|
|
|
|
router: library
|
|
$(MAKE) -s -C demo router
|
|
|
|
router-ipv6:
|
|
$(MAKE) -B -s -C demo router-ipv6
|
|
|
|
# Add "ports" to the build, if desired
|
|
ports: atmega168 bdk-atxx4-mstp at91sam7s
|
|
@echo "Built the ARM7 and AVR ports"
|
|
|
|
atmega168: ports/atmega168/Makefile
|
|
$(MAKE) -s -C ports/atmega168 clean all
|
|
|
|
at91sam7s: ports/at91sam7s/makefile
|
|
$(MAKE) -s -C ports/at91sam7s clean all
|
|
|
|
mstpsnap: ports/linux/mstpsnap.mak
|
|
$(MAKE) -s -C ports/linux -f mstpsnap.mak clean all
|
|
|
|
bdk-atxx4-mstp: ports/bdk-atxx4-mstp/Makefile
|
|
$(MAKE) -s -C ports/bdk-atxx4-mstp clean all
|
|
|
|
clean:
|
|
$(MAKE) -s -C lib clean
|
|
$(MAKE) -s -C demo clean
|
|
$(MAKE) -s -C demo/router clean
|
|
$(MAKE) -s -C demo/router-ipv6 clean
|
|
$(MAKE) -s -C demo/gateway clean
|