3a0878a254
Added a new API for writable property lists across all the basic example object types, preparing for the introduction of a Writable_Property_List property in every object in a future BACnet standard revision. The lists can be used by backup and restore feature to automatically choose the object property values in the backup that can be restored via internal WriteProperty directly from BACnet CreateObject services with List of Initial Values. Updated existing device object examples to include these writable property lists.
98 lines
2.6 KiB
Makefile
98 lines
2.6 KiB
Makefile
#Makefile to build BACnet Application using GCC compiler
|
|
|
|
# Executable file name
|
|
TARGET = bacgateway
|
|
|
|
SRC := main.c
|
|
|
|
BACNET_SRC_DIR ?= $(realpath ../../src)
|
|
BACNET_OBJECT_DIR = $(BACNET_SRC_DIR)/bacnet/basic/object
|
|
|
|
BACNET_OBJECT_SRC := \
|
|
$(BACNET_OBJECT_DIR)/gateway/gw_device.c \
|
|
$(BACNET_OBJECT_DIR)/device.c \
|
|
$(BACNET_OBJECT_DIR)/access_credential.c \
|
|
$(BACNET_OBJECT_DIR)/access_door.c \
|
|
$(BACNET_OBJECT_DIR)/access_point.c \
|
|
$(BACNET_OBJECT_DIR)/access_rights.c \
|
|
$(BACNET_OBJECT_DIR)/access_user.c \
|
|
$(BACNET_OBJECT_DIR)/access_zone.c \
|
|
$(BACNET_OBJECT_DIR)/ai.c \
|
|
$(BACNET_OBJECT_DIR)/ao.c \
|
|
$(BACNET_OBJECT_DIR)/av.c \
|
|
$(BACNET_OBJECT_DIR)/acc.c \
|
|
$(BACNET_OBJECT_DIR)/auditlog.c \
|
|
$(BACNET_OBJECT_DIR)/bacfile.c \
|
|
$(BACNET_OBJECT_DIR)/bi.c \
|
|
$(BACNET_OBJECT_DIR)/bitstring_value.c \
|
|
$(BACNET_OBJECT_DIR)/bo.c \
|
|
$(BACNET_OBJECT_DIR)/blo.c \
|
|
$(BACNET_OBJECT_DIR)/bv.c \
|
|
$(BACNET_OBJECT_DIR)/calendar.c \
|
|
$(BACNET_OBJECT_DIR)/channel.c \
|
|
$(BACNET_OBJECT_DIR)/color_object.c \
|
|
$(BACNET_OBJECT_DIR)/color_temperature.c \
|
|
$(BACNET_OBJECT_DIR)/command.c \
|
|
$(BACNET_OBJECT_DIR)/credential_data_input.c \
|
|
$(BACNET_OBJECT_DIR)/csv.c \
|
|
$(BACNET_OBJECT_DIR)/iv.c \
|
|
$(BACNET_OBJECT_DIR)/lc.c \
|
|
$(BACNET_OBJECT_DIR)/lo.c \
|
|
$(BACNET_OBJECT_DIR)/loop.c \
|
|
$(BACNET_OBJECT_DIR)/lsp.c \
|
|
$(BACNET_OBJECT_DIR)/lsz.c \
|
|
$(BACNET_OBJECT_DIR)/ms-input.c \
|
|
$(BACNET_OBJECT_DIR)/mso.c \
|
|
$(BACNET_OBJECT_DIR)/msv.c \
|
|
$(BACNET_OBJECT_DIR)/nc.c \
|
|
$(BACNET_OBJECT_DIR)/netport.c \
|
|
$(BACNET_OBJECT_DIR)/osv.c \
|
|
$(BACNET_OBJECT_DIR)/piv.c \
|
|
$(BACNET_OBJECT_DIR)/program.c \
|
|
$(BACNET_OBJECT_DIR)/schedule.c \
|
|
$(BACNET_OBJECT_DIR)/structured_view.c \
|
|
$(BACNET_OBJECT_DIR)/time_value.c \
|
|
$(BACNET_OBJECT_DIR)/timer.c \
|
|
$(BACNET_OBJECT_DIR)/trendlog.c
|
|
|
|
BACNET_BASIC_SRC = \
|
|
$(wildcard $(BACNET_SRC_DIR)/bacnet/basic/*.c) \
|
|
$(wildcard $(BACNET_SRC_DIR)/bacnet/basic/binding/*.c) \
|
|
$(wildcard $(BACNET_SRC_DIR)/bacnet/basic/sys/*.c) \
|
|
$(BACNET_SRC_DIR)/bacnet/basic/npdu/h_routed_npdu.c \
|
|
$(BACNET_SRC_DIR)/bacnet/basic/npdu/s_router.c \
|
|
$(BACNET_SRC_DIR)/bacnet/basic/tsm/tsm.c \
|
|
$(wildcard $(BACNET_SRC_DIR)/bacnet/basic/service/*.c)
|
|
|
|
# TARGET_EXT is defined in apps/Makefile as .exe or nothing
|
|
TARGET_BIN = ${TARGET}$(TARGET_EXT)
|
|
|
|
SRCS := $(SRC) $(BACNET_OBJECT_SRC) $(BACNET_BASIC_SRC)
|
|
|
|
OBJS := $(SRCS:.c=.o)
|
|
|
|
CFLAGS += -DBAC_ROUTING
|
|
|
|
.PHONY: all
|
|
all: Makefile ${TARGET_BIN}
|
|
|
|
${TARGET_BIN}: ${OBJS}
|
|
${CC} ${PFLAGS} ${OBJS} ${LFLAGS} -o $@
|
|
size $@
|
|
cp $@ ../../bin
|
|
|
|
.c.o:
|
|
${CC} -c ${CFLAGS} $*.c -o $@
|
|
|
|
.PHONY: depend
|
|
depend:
|
|
rm -f .depend
|
|
${CC} -MM ${CFLAGS} *.c >> .depend
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f core ${TARGET_BIN} ${OBJS} $(TARGET).map
|
|
|
|
.PHONY: include
|
|
include: .depend
|