############################################################ # # Makefile.b32 - Borland's C++ Compiler 5.X # # 'lib' directory # # 'BCCDIR' has to be set up to point to the base directory # of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55 # # Initially written by Jaepil Kim, pit@paradise.net.nz ############################################################ !if "$(__MAKE__)" == "" !error __MAKE__ not defined. Use Borlands's MAKE to process this makefile. !endif # Borland's $(MAKEDIR) expands to the path where make.exe is located, # use this feature to define BCCDIR when user has not defined BCCDIR. !ifndef BCCDIR BCCDIR = $(MAKEDIR)\.. !endif # Edit the path below to point to the base of your Zlib sources. !ifndef ZLIB_PATH ZLIB_PATH = ..\..\zlib-1.2.8 !endif # Edit the path below to point to the base of your OpenSSL package. !ifndef OPENSSL_PATH OPENSSL_PATH = ..\..\openssl-0.9.8y !endif # Set libcurl static lib, dll and import lib LIBCURL_LIB = libcurl.lib LIBCURL_DLL = libcurl.dll LIBCURL_IMPLIB = libcurl_imp.lib # Setup environment PP_CMD = cpp32 -q -P- CC_CMD = bcc32 -q -c LD = bcc32 RM = del 2>NUL MKDIR = md RMDIR = rd /q LIB = tlib IMPLIB = implib CC_FLAGS = -5 -O2 -tWM -w -w-aus -w-ccc -w-dup -w-prc -w-pro -w-rch -w-sig -w-spa -w-inl -w-pia -w-pin -Dinline=__inline LIBFLAGS = /C /P32 LDFLAGS = -q -lq -laa -tWD SRCDIR = .;.\vtls OBJDIR = .\BCC_objs INCDIRS = -I.;.\lib;..\include LINKLIB = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib DEFINES = -DNDEBUG -DWIN32 -DBUILDING_LIBCURL # By default SSPI support is enabled for BCC !ifndef DISABLE_SSPI DEFINES = $(DEFINES) -DUSE_WINDOWS_SSPI !endif # By default LDAP support is disabled for BCC !ifndef WITH_LDAP DEFINES = $(DEFINES) -DCURL_DISABLE_LDAP !endif # ZLIB support is enabled setting WITH_ZLIB=1 !ifdef WITH_ZLIB DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H INCDIRS = $(INCDIRS);$(ZLIB_PATH) LINKLIB = $(LINKLIB) $(ZLIB_PATH)\zlib.lib !endif # SSL support is enabled setting WITH_SSL=1 !ifdef WITH_SSL DEFINES = $(DEFINES) -DUSE_SSLEAY INCDIRS = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl LINKLIB = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib !endif .autodepend .path.c = $(SRCDIR) .path.obj = $(OBJDIR) .path.int = $(OBJDIR) # Makefile.inc provides the CSOURCES and HHEADERS defines !include Makefile.inc # Borland's command line librarian program TLIB version 4.5 is not capable # of building a library when any of its objects contains an hypen in its # name, due to a command line parsing bug. In order to workaround this, we # build source files with hyphens in their name as objects with underscores # using explicit compilation build rules instead of implicit ones. NOHYPHEN1 = $(CSOURCES:-=_) NOHYPHEN2 = $(NOHYPHEN1:vtls/=) OBJECTS = $(NOHYPHEN2:.c=.obj) PREPROCESSED = $(NOHYPHEN2:.c=.int) # Borland's command line compiler (BCC32) version 5.5.1 integrated # preprocessor has a bug which results in silently generating wrong # definitions for libcurl macros such as CURL_OFF_T_C, on the other # hand Borland's command line preprocessor (CPP32) version 5.5.1 does # not have the bug and achieves proper results. In order to avoid the # silent bug we first preprocess source files and later compile the # preprocessed result. .c.obj: @-$(RM) $(@R).int $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<) $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int all: $(OBJDIR) $(LIBCURL_LIB) $(LIBCURL_DLL) asyn_ares.obj: asyn-ares.c @-$(RM) $(@R).int $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(?) $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int asyn_thread.obj: asyn-thread.c @-$(RM) $(@R).int $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(?) $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int non_ascii.obj: non-ascii.c @-$(RM) $(@R).int $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(?) $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int clean: cd $(OBJDIR) @-$(RM) $(OBJECTS) @-$(RM) $(PREPROCESSED) cd .. @-$(RMDIR) $(OBJDIR) @-$(RM) $(LIBCURL_LIB) @-$(RM) $(LIBCURL_IMPLIB) @-$(RM) libcurl.tds $(OBJDIR): @-$(RMDIR) $(OBJDIR) @-$(MKDIR) $(OBJDIR) $(LIBCURL_LIB): $(OBJECTS) @-$(RM) $(LIBCURL_LIB) $(LIB) $(LIBFLAGS) $@ @&&! +$(**: = &^ +) ! $(LIBCURL_DLL) $(LIBCURL_IMPLIB): $(OBJECTS) $(LINKLIB) @-$(RM) $(LIBCURL_DLL) @-$(RM) $(LIBCURL_IMPLIB) $(LD) $(LDFLAGS) -e$(LIBCURL_DLL) @&&! $(**: = ^ ) ! $(IMPLIB) $(LIBCURL_IMPLIB) $(LIBCURL_DLL) # End of Makefile.b32