dd93e8cf1b
Added two device object table functions for COV support. Corrected demo COV handler interaction with TSM, COV flags, and multiple subscriptions for the same object.
140 lines
2.7 KiB
Plaintext
140 lines
2.7 KiB
Plaintext
#
|
|
# Simple makefile to build an executable for Win32
|
|
#
|
|
# This makefile assumes Borland bcc32 development environment
|
|
# on Windows NT/9x/2000/XP
|
|
#
|
|
|
|
!ifndef BORLAND_DIR
|
|
BORLAND_DIR_Not_Defined:
|
|
@echo .
|
|
@echo You must define environment variable BORLAND_DIR to compile.
|
|
!endif
|
|
|
|
PRODUCT = bacarf
|
|
PRODUCT_EXE = $(PRODUCT).exe
|
|
|
|
# tools
|
|
CC = $(BORLAND_DIR)\bin\bcc32
|
|
MAKE=$(BORLAND_DIR)\bin\make.exe
|
|
#LINK = $(BORLAND_DIR)\bin\tlink32
|
|
LINK = $(BORLAND_DIR)\bin\ilink32
|
|
|
|
BACNET_LIB_DIR = ..\..\lib
|
|
BACNET_LIB = $(BACNET_LIB_DIR)\bacnet.lib
|
|
|
|
# directories
|
|
BACNET_PORT = ..\..\ports\win32
|
|
BACNET_INCLUDE = ..\..\include
|
|
BACNET_OBJECT = ..\object
|
|
BACNET_HANDLER = ..\handler
|
|
INCLUDES = \
|
|
-I$(BACNET_INCLUDE) \
|
|
-I$(BACNET_PORT) \
|
|
-I$(BACNET_OBJECT) \
|
|
-I$(BACNET_HANDLER) \
|
|
-I$(BORLAND_DIR)\include
|
|
|
|
#
|
|
BACNET_DEFINES = -DPRINT_ENABLED=1 -DBACAPP_ALL
|
|
#BACDL_DEFINE=-DBACDL_MSTP=1
|
|
BACDL_DEFINE=-DBACDL_BIP=1 -DUSE_INADDR=1
|
|
DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE)
|
|
|
|
SRCS = main.c \
|
|
$(BACNET_OBJECT)\device-client.c
|
|
|
|
OBJS = $(SRCS:.c=.obj)
|
|
|
|
#
|
|
# Compiler definitions
|
|
#
|
|
BCC_CFG = bcc32.cfg
|
|
|
|
#
|
|
# Include directories
|
|
#
|
|
CFLAGS = $(INCLUDES) $(DEFINES)
|
|
|
|
#
|
|
# Libraries
|
|
#
|
|
C_LIB_DIR = $(BORLAND_DIR)\lib
|
|
|
|
LIBS = $(BACNET_LIB) \
|
|
$(C_LIB_DIR)\IMPORT32.lib \
|
|
$(C_LIB_DIR)\CW32MT.lib \
|
|
|
|
#
|
|
# Main target
|
|
#
|
|
# This should be the first one in the makefile
|
|
|
|
all : $(BACNET_LIB) $(BCC_CFG) $(OBJS) $(PRODUCT_EXE)
|
|
del $(BCC_CFG)
|
|
|
|
install: $(PRODUCT_EXE)
|
|
copy $(PRODUCT_EXE) ..\..\bin\$(PRODUCT_EXE)
|
|
|
|
# Linker specific: the link below is for BCC linker/compiler. If you link
|
|
# with a different linker - please change accordingly.
|
|
#
|
|
|
|
# need a temp response file (@&&| ... |) because command line is too long
|
|
# $** lists each dependency
|
|
# $< target name
|
|
# $* target name without extension
|
|
$(PRODUCT_EXE) : $(OBJS)
|
|
@echo Running Linker for $(PRODUCT_EXE)
|
|
$(LINK) -L$(C_LIB_DIR) -L$(BACNET_LIB_DIR) -m -c -s -v @&&|
|
|
$(BORLAND_DIR)\lib\c0x32.obj $**
|
|
$<
|
|
$*.map
|
|
$(LIBS)
|
|
|
|
|
|
|
#
|
|
# Utilities
|
|
|
|
clean :
|
|
del $(OBJS)
|
|
del $(PRODUCT_EXE)
|
|
del $(PRODUCT).map
|
|
del $(PRODUCT).ilc
|
|
del $(PRODUCT).ild
|
|
del $(PRODUCT).ilf
|
|
del $(PRODUCT).ils
|
|
del $(PRODUCT).tds
|
|
del $(BCC_CFG)
|
|
|
|
#
|
|
# Generic rules
|
|
#
|
|
.SUFFIXES: .cpp .c .sbr .obj
|
|
|
|
#
|
|
# cc generic rule
|
|
#
|
|
.c.obj:
|
|
$(CC) +$(BCC_CFG) -o$@ $<
|
|
|
|
# Compiler configuration file
|
|
$(BCC_CFG) :
|
|
Copy &&|
|
|
$(CFLAGS)
|
|
-c
|
|
-y #include line numbers in OBJ's
|
|
-v #include debug info
|
|
-w+ #turn on all warnings
|
|
-Od #disable all optimizations
|
|
#-a4 #32 bit data alignment
|
|
#-M # generate link map
|
|
#-ls # linker options
|
|
#-WM- #not multithread
|
|
-WM #multithread
|
|
-w-aus # ignore warning assigned a value that is never used
|
|
-w-sig # ignore warning conversion may lose sig digits
|
|
| $@
|
|
|
|
# EOF: makefile
|