diff --git a/bacnet-stack/lib/makefile.b32 b/bacnet-stack/lib/makefile.b32 new file mode 100644 index 00000000..1d969385 --- /dev/null +++ b/bacnet-stack/lib/makefile.b32 @@ -0,0 +1,186 @@ +# +# Simple makefile to build a library 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 + +TARGET = bacnet +LIBRARY = $(TARGET).lib + +CC = $(BORLAND_DIR)\bin\bcc32 +TLIB = $(BORLAND_DIR)\bin\tlib +MAKE = $(BORLAND_DIR)\bin\make + +BACNET_DEFINES = -DPRINT_ENABLED=1 +#BACDL_DEFINE=-DBACDL_ETHERNET=1 +#BACDL_DEFINE=-DBACDL_ARCNET=1 +BACDL_DEFINE=-DBACDL_BIP=1 +DEFINES = $(BACNET_DEFINES) $(BACDL_DEFINE) + +# directories +BACNET_PORT = ..\ports\win32 +BACNET_OBJECT = ..\demo\object +BACNET_HANDLER = ..\demo\handler +BACNET_ROOT = .. +INCLUDES = \ + -I$(BACNET_ROOT) \ + -I$(BACNET_PORT) \ + -I$(BACNET_OBJECT) \ + -I$(BACNET_HANDLER) + +CORE1_SRC = $(BACNET_ROOT)\apdu.c \ + $(BACNET_ROOT)\npdu.c \ + $(BACNET_ROOT)\bacdcode.c \ + $(BACNET_ROOT)\bacint.c \ + $(BACNET_ROOT)\bacapp.c \ + $(BACNET_ROOT)\bacprop.c \ + $(BACNET_ROOT)\bacstr.c \ + $(BACNET_ROOT)\bactext.c \ + $(BACNET_ROOT)\datetime.c \ + $(BACNET_ROOT)\indtext.c \ + $(BACNET_ROOT)\bigend.c \ + $(BACNET_ROOT)\abort.c \ + $(BACNET_ROOT)\reject.c \ + $(BACNET_ROOT)\bacerror.c \ + $(BACNET_ROOT)\filename.c \ + $(BACNET_ROOT)\tsm.c \ + $(BACNET_ROOT)\bacaddr.c \ + $(BACNET_ROOT)\address.c \ + $(BACNET_ROOT)\version.c + +CORE2_SRC = $(BACNET_ROOT)\arf.c \ + $(BACNET_ROOT)\awf.c \ + $(BACNET_ROOT)\cov.c \ + $(BACNET_ROOT)\dcc.c \ + $(BACNET_ROOT)\iam.c \ + $(BACNET_ROOT)\ihave.c \ + $(BACNET_ROOT)\rd.c \ + $(BACNET_ROOT)\rp.c \ + $(BACNET_ROOT)\rpm.c \ + $(BACNET_ROOT)\timesync.c \ + $(BACNET_ROOT)\whohas.c \ + $(BACNET_ROOT)\whois.c \ + $(BACNET_ROOT)\wp.c + +HANDLER_SRC = $(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_rp_a.c \ + $(BACNET_HANDLER)\h_rpm.c \ + $(BACNET_HANDLER)\h_wp.c \ + $(BACNET_HANDLER)\h_arf.c \ + $(BACNET_HANDLER)\h_arf_a.c \ + $(BACNET_HANDLER)\h_awf.c \ + $(BACNET_HANDLER)\h_rd.c \ + $(BACNET_HANDLER)\h_dcc.c \ + $(BACNET_HANDLER)\h_ts.c \ + $(BACNET_HANDLER)\h_whohas.c \ + $(BACNET_HANDLER)\h_ihave.c \ + $(BACNET_HANDLER)\s_arfs.c \ + $(BACNET_HANDLER)\s_awfs.c \ + $(BACNET_HANDLER)\s_dcc.c \ + $(BACNET_HANDLER)\s_ihave.c \ + $(BACNET_HANDLER)\s_rd.c \ + $(BACNET_HANDLER)\s_rp.c \ + $(BACNET_HANDLER)\s_ts.c \ + $(BACNET_HANDLER)\s_whohas.c \ + $(BACNET_HANDLER)\s_whois.c \ + $(BACNET_HANDLER)\s_wp.c + +OBJECT_SRC = $(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_OBJECT)\bacfile.c + +PORT_SRC = $(BACNET_PORT)\bip-init.c \ + $(BACNET_PORT)\dlmstp.c \ + $(BACNET_PORT)\rs485.c \ + $(BACNET_ROOT)\mstp.c \ + $(BACNET_ROOT)\crc.c \ + $(BACNET_ROOT)\bip.c + +CORE1_OBJ = ${CORE1_SRC:.c=.obj} +CORE2_OBJ = ${CORE2_SRC:.c=.obj} +PORT_OBJ = ${PORT_SRC:.c=.obj} +HANDLER_OBJ = ${HANDLER_SRC:.c=.obj} +OBJECT_OBJ = ${OBJECT_SRC:.c=.obj} + +OBJS = ${CORE1_OBJ} \ + ${CORE2_OBJ} \ + ${PORT_OBJ} \ + ${HANDLER_OBJ} \ + ${OBJECT_OBJ} + +# Compiler definitions +# +BCC_CFG = bcc32.cfg + +# Include directories +# +INCL_DIRS = -I$(BORLAND_DIR)\include $(INCLUDES) + +CFLAGS = $(INCL_DIRS) $(CS_FLAGS) $(DEFINES) +LFLAGS = /E /P4096 + +# 'all' should be the first one in the makefile + +all: $(BCC_CFG) $(OBJS) makefile.b32 + del $(TARGET).BAK + del $(BCC_CFG) + +clean: + del ${CORE1_OBJ} + del ${CORE2_OBJ} + del ${PORT_OBJ} + del ${HANDLER_OBJ} + del ${OBJECT_OBJ} + del ${LIBRARY} + del $(BCC_CFG) + +# +# Generic rules +# +.SUFFIXES: .cpp .c .sbr .obj + +# +# cc generic rule +# +.c.obj: + $(CC) +$(BCC_CFG) -o$@ $< + $(TLIB) $(LIBRARY) $(LFLAGS) -+"$@" + +# 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