# 'BCCDIR' has to be set up to point to the base directory
# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
#
-# Written by Jaepil Kim, pit@paradise.net.nz
+# Initially written by Jaepil Kim, pit@paradise.net.nz
############################################################
!if "$(__MAKE__)" == ""
# Borland's $(MAKEDIR) expands to the path where make.exe is located,
# use this feature to define BCCDIR when user has not defined BCCDIR.
-!if "$(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.5
+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.8q
+OPENSSL_PATH = ..\..\openssl-0.9.8y
!endif
# Set program's name
PP_CMD = cpp32 -q -P-
CC_CMD = bcc32 -q -c
LD = bcc32
-RM = del
-MKDIR = mkdir
-RMDIR = rmdir /s /q
+RM = del 2>NUL
+MKDIR = md
+RMDIR = rd /q 2>NUL
+COPY = $(COMSPEC) /c copy /y
-CC_FLAGS = -5 -O2 -tWM -w -w-aus -w-ccc -w-dup -w-prc -w-pro -w-rch -w-sig -w-spa -Dinline=__inline
+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
LDFLAGS = -q -lq -lap
SRCDIRS = .;..\lib
-OBJDIR = .\objs
+OBJDIR = .\BCC_objs
INCDIRS = -I.;..\include;..\lib
-LINKLIB = $(BCCDIR)\lib\cw32mt.lib
+LINKLIB = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib
DEFINES = -DNDEBUG -DWIN32
!ifdef DYNAMIC
.path.c = $(SRCDIRS)
.path.obj = $(OBJDIR)
+.path.int = $(OBJDIR)
# Makefile.inc provides the CSOURCES and HHEADERS defines
-!undef top_srcdir
!include Makefile.inc
-CSOURCES = $(CURL_CFILES) $(CURLX_ONES:/lib/=)
+CSOURCES = $(CURL_CFILES) $(CURLX_CFILES:../lib/=)
OBJECTS = $(CSOURCES:.c=.obj)
+PREPROCESSED = $(CSOURCES:.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 >NUL 2>&1
+ @-$(RM) $(@R).int
$(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
$(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
-all: $(OBJDIR) $(PROGNAME)
+all: $(OBJDIR) tool_hugehelp $(PROGNAME)
clean:
- @-$(RMDIR) $(OBJDIR) >NUL 2>&1
- @-$(RM) $(PROGNAME) >NUL 2>&1
- @-$(RM) curl.tds >NUL 2>&1
+ cd $(OBJDIR)
+ @-$(RM) $(OBJECTS)
+ @-$(RM) $(PREPROCESSED)
+ cd ..
+ @-$(RMDIR) $(OBJDIR)
+ @-$(RM) $(PROGNAME)
+ @-$(RM) curl.tds
$(OBJDIR):
- @-$(RMDIR) $(OBJDIR) >NUL 2>&1
+ @-$(RMDIR) $(OBJDIR)
@-$(MKDIR) $(OBJDIR)
+!ifdef WITH_ZLIB
+tool_hugehelp: ..\docs\MANUAL ..\docs\curl.1 mkhelp.pl
+ groff -Tascii -man -P -c ../docs/curl.1 > tool_hugehelp.tmp
+ perl -w mkhelp.pl -c ../docs/MANUAL < tool_hugehelp.tmp > tool_hugehelp.c
+ @-$(RM) tool_hugehelp.tmp
+!else
+tool_hugehelp:
+ if exist ..\GIT-INFO $(COPY) tool_hugehelp.c.cvs tool_hugehelp.c
+!endif
+
$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
- @-$(RM) $(PROGNAME) >NUL 2>&1
- $(LD) $(LDFLAGS) -e$@ $**
+ @-$(RM) $(PROGNAME)
+ $(LD) $(LDFLAGS) -e$@ @&&!
+$(**: = ^
+)
+!
# End of Makefile.b32