Modified the Borland compiler build to use a library for all the demos.

This commit is contained in:
skarg
2007-08-24 00:31:38 +00:00
parent e28c120a7f
commit 34f090598d
14 changed files with 599 additions and 929 deletions
+46 -86
View File
@@ -11,104 +11,67 @@ BORLAND_DIR_Not_Defined:
@echo You must define environment variable BORLAND_DIR to compile.
!endif
# target
PRODUCT = bacserv
PRODUCT_EXE = $(PRODUCT).exe
# Choose the Data Link Layer to Enable
#DATALINK = -DBACDL_MSTP
DATALINK = -DBACDL_BIP;BIP_DEBUG=1;USE_INADDR=1
DEFINES = $(DATALINK);PRINT_ENABLED=1;MAX_TSM_TRANSACTIONS=0
# tools
CC = $(BORLAND_DIR)\bin\bcc32
MAKE=$(BORLAND_DIR)\bin\make.exe
#LINK = $(BORLAND_DIR)\bin\tlink32
LINK = $(BORLAND_DIR)\bin\ilink32
SRCS = main.c \
..\..\ports\win32\bip-init.c \
..\..\ports\win32\dlmstp.c \
..\..\ports\win32\rs485.c \
..\..\bip.c \
..\..\crc.c \
..\..\mstp.c \
..\..\mstptext.c \
..\..\demo\handler\txbuf.c \
..\..\demo\handler\noserv.c \
..\..\demo\handler\h_whois.c \
..\..\demo\handler\h_rp.c \
..\..\demo\handler\h_rpm.c \
..\..\demo\handler\h_wp.c \
..\..\demo\handler\h_arf.c \
..\..\demo\handler\h_awf.c \
..\..\demo\handler\h_rd.c \
..\..\demo\handler\h_dcc.c \
..\..\demo\handler\h_ts.c \
..\..\demo\handler\h_whohas.c \
..\..\demo\handler\s_ihave.c \
..\..\bacdcode.c \
..\..\bacint.c \
..\..\bacapp.c \
..\..\bacstr.c \
..\..\bactext.c \
..\..\datetime.c \
..\..\indtext.c \
..\..\bigend.c \
..\..\whois.c \
..\..\iam.c \
..\..\whohas.c \
..\..\ihave.c \
..\..\rp.c \
..\..\rpm.c \
..\..\wp.c \
..\..\arf.c \
..\..\awf.c \
..\..\rd.c \
..\..\dcc.c \
..\..\timesync.c \
..\..\demo\object\bacfile.c \
..\..\demo\object\device.c \
..\..\demo\object\ai.c \
..\..\demo\object\ao.c \
..\..\demo\object\av.c \
..\..\demo\object\bi.c \
..\..\demo\object\bo.c \
..\..\demo\object\bv.c \
..\..\demo\object\lc.c \
..\..\demo\object\lsp.c \
..\..\demo\object\mso.c \
..\..\abort.c \
..\..\reject.c \
..\..\bacerror.c \
..\..\apdu.c \
..\..\npdu.c \
..\..\version.c
BACNET_LIB_DIR = ..\..\lib
BACNET_LIB = $(BACNET_LIB_DIR)\bacnet.lib
# directories
BACNET_PORT = ..\..\ports\win32
BACNET_OBJECT = ..\object
BACNET_HANDLER = ..\handler
BACNET_ROOT = ..\..
INCLUDES = \
-I$(BACNET_ROOT) \
-I$(BACNET_PORT) \
-I$(BACNET_OBJECT) \
-I$(BACNET_HANDLER) \
-I$(BORLAND_DIR)\include
#
BACNET_DEFINES = -DPRINT_ENABLED=1
#BACDL_DEFINE=-DBACDL_MSTP=1
BACDL_DEFINE=-DBACDL_BIP=1
DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE)
SRCS = main.c
OBJS = $(SRCS:.c=.obj)
#
# Compiler definitions
#
BCC_CFG = bcc32.cfg
CC = $(BORLAND_DIR)\bin\bcc32 +$(BCC_CFG)
#LINK = $(BORLAND_DIR)\bin\tlink32
LINK = $(BORLAND_DIR)\bin\ilink32
TLIB = $(BORLAND_DIR)\bin\tlib
#
# Include directories
#
CC_DIR = $(BORLAND_DIR)\BIN
INCL_DIRS = -I$(BORLAND_DIR)\include;..\..\;..\..\demo\object\;..\..\demo\handler\;..\..\ports\win32\;.
CFLAGS = $(INCL_DIRS) $(CS_FLAGS) $(DEFINES)
CFLAGS = $(INCLUDES) $(DEFINES)
#
# Libraries
#
C_LIB_DIR = $(BORLAND_DIR)\lib
LIBS = $(C_LIB_DIR)\IMPORT32.lib \
$(C_LIB_DIR)\CW32MT.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 : $(BCC_CFG) $(PRODUCT_EXE)
all : $(BACNET_LIB) $(BCC_CFG) $(OBJS) $(PRODUCT_EXE)
del $(BCC_CFG)
install: $(PRODUCT_EXE)
copy $(PRODUCT_EXE) ..\..\utils\$(PRODUCT_EXE)
@@ -117,29 +80,26 @@ install: $(PRODUCT_EXE)
# with a different linker - please change accordingly.
#
# need a temp response file (@&&) because command line is too long
# 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) -m -c -s -v @&&| # temp response file, starts with |
$(BORLAND_DIR)\lib\c0x32.obj $** # $** lists each dependency
$(LINK) -L$(C_LIB_DIR) -L$(BACNET_LIB_DIR) -m -c -s -v @&&|
$(BORLAND_DIR)\lib\c0x32.obj $**
$<
$*.map
$(LIBS)
| # end of temp response file
|
#
# Utilities
clean :
@echo Deleting obj files, $(PRODUCT_EXE) and map files.
# del $(OBJS) # command too long, bummer!
del *.obj
del ..\..\*.obj
del ..\..\demo\handler\*.obj
del ..\..\demo\object\*.obj
del ..\..\ports\win32\*.obj
del $(OBJS)
del $(PRODUCT_EXE)
del *.map
del $(PRODUCT).map
del $(BCC_CFG)
#
@@ -151,7 +111,7 @@ clean :
# cc generic rule
#
.c.obj:
$(CC) -o$@ $<
$(CC) +$(BCC_CFG) -o$@ $<
# Compiler configuration file
$(BCC_CFG) :