Modified the Borland compiler build to use a library for all the demos.
This commit is contained in:
@@ -14,92 +14,63 @@ BORLAND_DIR_Not_Defined:
|
||||
PRODUCT = bacts
|
||||
PRODUCT_EXE = $(PRODUCT).exe
|
||||
|
||||
# Choose the Data Link Layer to Enable
|
||||
DEFINES = -DBACDL_BIP=1;MAX_TSM_TRANSACTIONS=0;USE_INADDR=0;PRINT_ENABLED=1
|
||||
# Directories
|
||||
# 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_OBJECT = ..\object
|
||||
BACNET_HANDLER = ..\handler
|
||||
BACNET_ROOT = ..\..
|
||||
INCLUDES = \
|
||||
-I$(BACNET_ROOT) \
|
||||
-I$(BACNET_PORT) \
|
||||
-I$(BACNET_OBJECT) \
|
||||
-I$(BACNET_HANDLER) \
|
||||
-I$(BORLAND_DIR)\include
|
||||
|
||||
SRCS = main.c \
|
||||
$(BACNET_PORT)\bip-init.c \
|
||||
$(BACNET_ROOT)\bip.c \
|
||||
$(BACNET_HANDLER)\txbuf.c \
|
||||
$(BACNET_HANDLER)\noserv.c \
|
||||
$(BACNET_HANDLER)\h_whois.c \
|
||||
$(BACNET_HANDLER)\h_iam.c \
|
||||
$(BACNET_HANDLER)\h_rp.c \
|
||||
$(BACNET_HANDLER)\h_ts.c \
|
||||
$(BACNET_HANDLER)\s_ts.c \
|
||||
$(BACNET_OBJECT)\bacfile.c \
|
||||
$(BACNET_OBJECT)\device.c \
|
||||
$(BACNET_OBJECT)\ai.c \
|
||||
$(BACNET_OBJECT)\ao.c \
|
||||
$(BACNET_OBJECT)\av.c \
|
||||
$(BACNET_OBJECT)\bi.c \
|
||||
$(BACNET_OBJECT)\bo.c \
|
||||
$(BACNET_OBJECT)\bv.c \
|
||||
$(BACNET_OBJECT)\lc.c \
|
||||
$(BACNET_OBJECT)\lsp.c \
|
||||
$(BACNET_OBJECT)\mso.c \
|
||||
$(BACNET_ROOT)\address.c \
|
||||
$(BACNET_ROOT)\filename.c \
|
||||
$(BACNET_ROOT)\bacdcode.c \
|
||||
$(BACNET_ROOT)\bacint.c \
|
||||
$(BACNET_ROOT)\bacapp.c \
|
||||
$(BACNET_ROOT)\bacstr.c \
|
||||
$(BACNET_ROOT)\bactext.c \
|
||||
$(BACNET_ROOT)\indtext.c \
|
||||
$(BACNET_ROOT)\datetime.c \
|
||||
$(BACNET_ROOT)\whois.c \
|
||||
$(BACNET_ROOT)\iam.c \
|
||||
$(BACNET_ROOT)\whohas.c \
|
||||
$(BACNET_ROOT)\ihave.c \
|
||||
$(BACNET_ROOT)\rd.c \
|
||||
$(BACNET_ROOT)\rp.c \
|
||||
$(BACNET_ROOT)\wp.c \
|
||||
$(BACNET_ROOT)\arf.c \
|
||||
$(BACNET_ROOT)\awf.c \
|
||||
$(BACNET_ROOT)\dcc.c \
|
||||
$(BACNET_ROOT)\timesync.c \
|
||||
$(BACNET_ROOT)\abort.c \
|
||||
$(BACNET_ROOT)\reject.c \
|
||||
$(BACNET_ROOT)\bacerror.c \
|
||||
$(BACNET_ROOT)\apdu.c \
|
||||
$(BACNET_ROOT)\npdu.c \
|
||||
$(BACNET_ROOT)\version.c
|
||||
#
|
||||
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
|
||||
#
|
||||
CC = $(BORLAND_DIR)\bin\bcc32 +bcc32.cfg
|
||||
#LINK = $(BORLAND_DIR)\bin\tlink32
|
||||
LINK = $(BORLAND_DIR)\bin\ilink32
|
||||
TLIB = $(BORLAND_DIR)\bin\tlib
|
||||
BCC_CFG = bcc32.cfg
|
||||
|
||||
#
|
||||
# Include directories
|
||||
#
|
||||
CC_DIR = $(BORLAND_DIR)\BIN
|
||||
INCL_DIRS = -I$(BORLAND_DIR)\include;$(BACNET_ROOT)\;$(BACNET_OBJECT)\;$(BACNET_HANDLER)\;$(BACNET_PORT)\;.
|
||||
|
||||
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 : bcc32.cfg $(PRODUCT_EXE)
|
||||
all : $(BACNET_LIB) $(BCC_CFG) $(OBJS) $(PRODUCT_EXE)
|
||||
del $(BCC_CFG)
|
||||
|
||||
install: $(PRODUCT_EXE)
|
||||
copy $(PRODUCT_EXE) ..\..\utils\$(PRODUCT_EXE)
|
||||
@@ -108,30 +79,27 @@ 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 $(BACNET_ROOT)\*.obj
|
||||
del $(BACNET_HANDLER)\*.obj
|
||||
del $(BACNET_OBJECT)\*.obj
|
||||
del $(BACNET_PORT)\*.obj
|
||||
del $(OBJS)
|
||||
del $(PRODUCT_EXE)
|
||||
del *.map
|
||||
del bcc32.cfg
|
||||
del $(PRODUCT).map
|
||||
del $(BCC_CFG)
|
||||
|
||||
#
|
||||
# Generic rules
|
||||
@@ -142,13 +110,13 @@ clean :
|
||||
# cc generic rule
|
||||
#
|
||||
.c.obj:
|
||||
$(CC) -o$@ $<
|
||||
$(CC) +$(BCC_CFG) -o$@ $<
|
||||
|
||||
# Compiler configuration file
|
||||
bcc32.cfg :
|
||||
$(BCC_CFG) :
|
||||
Copy &&|
|
||||
$(CFLAGS)
|
||||
-c
|
||||
$(CFLAGS)
|
||||
-c
|
||||
-y #include line numbers in OBJ's
|
||||
-v #include debug info
|
||||
-w+ #turn on all warnings
|
||||
|
||||
Reference in New Issue
Block a user