164 lines
4.4 KiB
Makefile
164 lines
4.4 KiB
Makefile
############################################################
|
|
#
|
|
# 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 = .
|
|
OBJDIR = .\BCC_objs
|
|
INCDIRS = -I.;..\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.
|
|
|
|
NOHYPHEN = $(CSOURCES:-=_)
|
|
|
|
OBJECTS = $(NOHYPHEN:.c=.obj)
|
|
PREPROCESSED = $(NOHYPHEN:.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
|