tizen 2.3.1 release
[external/curl.git] / src / Makefile.b32
index 7408dd2..6638a01 100644 (file)
 #
 #  'BCCDIR' has to be set up to point to the base directory
 #  of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
-#  where c:\Borland\BCC55 is the compiler is installed
 #
-#  Written by Jaepil Kim, pit@paradise.net.nz
+#  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.1
+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.7d
+OPENSSL_PATH = ..\..\openssl-0.9.8zc
 !endif
 
 # Set program's name
 PROGNAME = curl.exe
 
 # Setup environment
-CXX      = bcc32
+PP_CMD   = cpp32 -q -P-
+CC_CMD   = bcc32 -q -c
 LD       = bcc32
-CP       = copy
-RM       = del
-LIB      = tlib
+RM       = del 2>NUL
+MKDIR    = md
+RMDIR    = rd /q 2>NUL
+COPY     = $(COMSPEC) /c copy /y
 
-CXXFLAGS = -q -5 -O2 -w-aus -w-ccc -w-csu -w-par -w-pia -w-rch -w-inl -w-ngu -w-pro -tWM
+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
 
-INCDIRS  = -I.;../include;../lib
-LINKLIB  = $(BCCDIR)/lib/cw32mt.lib
-
-# If you build with SSL support, set WITH_SSL=1
+SRCDIRS  = .;..\lib
+OBJDIR   = .\BCC_objs
+INCDIRS  = -I.;..\include;..\lib
+LINKLIB  = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib
 DEFINES  = -DNDEBUG -DWIN32
 
 !ifdef DYNAMIC
-LIBCURL_LIB = ../lib/libcurl_imp.lib
+LIBCURL_LIB = ..\lib\libcurl_imp.lib
 !else
-LIBCURL_LIB = ../lib/libcurl.lib
+LIBCURL_LIB = ..\lib\libcurl.lib
 DEFINES = $(DEFINES) -DCURL_STATICLIB
 !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
+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
+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   = $(SRCDIRS)
+.path.obj = $(OBJDIR)
+.path.int = $(OBJDIR)
+
 # Makefile.inc provides the CSOURCES and HHEADERS defines
-top_srcdir = ..
 !include Makefile.inc
 
-CSOURCES = $(CURL_CFILES) $(CURLX_ONES)
+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:
-       $(CXX) -c $(INCDIRS) $(CXXFLAGS) $(DEFINES) $<
+       @-$(RM) $(@R).int
+       $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
+       $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
 
-all:   $(PROGNAME)
+all:   $(OBJDIR) tool_hugehelp $(PROGNAME)
 
 clean:
-       -$(RM) $(PROGNAME)
-       -$(RM) *.obj
-       -$(RM) hugehelp.c
+       cd $(OBJDIR)
+       @-$(RM) $(OBJECTS)
+       @-$(RM) $(PREPROCESSED)
+       cd ..
+       @-$(RMDIR) $(OBJDIR)
+       @-$(RM) $(PROGNAME)
+       @-$(RM) curl.tds
+
+$(OBJDIR):
+       @-$(RMDIR) $(OBJDIR)
+       @-$(MKDIR) $(OBJDIR)
 
-$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
-       @-$(RM) $@
-       $(LD) $(LDFLAGS) -e$@ $**
+!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
 
-hugehelp.c: hugehelp.c.cvs
-       @echo Creating $@
-       @$(CP) $** $@
+$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
+       @-$(RM) $(PROGNAME)
+       $(LD) $(LDFLAGS) -e$@ @&&!
+$(**: = ^
+)
+!
 
 
+# End of Makefile.b32