Imported Upstream version 7.48.0
[platform/upstream/curl.git] / src / Makefile.b32
1 #***************************************************************************
2 #                                  _   _ ____  _
3 #  Project                     ___| | | |  _ \| |
4 #                             / __| | | | |_) | |
5 #                            | (__| |_| |  _ <| |___
6 #                             \___|\___/|_| \_\_____|
7 #
8 # Copyright (C) 2000, Jaepil Kim, <pit@paradise.net.nz>.
9 # Copyright (C) 2001 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
10 #
11 # This software is licensed as described in the file COPYING, which
12 # you should have received as part of this distribution. The terms
13 # are also available at https://curl.haxx.se/docs/copyright.html.
14 #
15 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
16 # copies of the Software, and permit persons to whom the Software is
17 # furnished to do so, under the terms of the COPYING file.
18 #
19 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 # KIND, either express or implied.
21 #
22 #***************************************************************************
23
24 ############################################################
25 #
26 #  Makefile.b32 - Borland's C++ Compiler 5.X
27 #
28 #  'BCCDIR' has to be set up to point to the base directory
29 #  of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
30 #
31 ############################################################
32
33 !if "$(__MAKE__)" == ""
34 !error __MAKE__ not defined. Use Borlands's MAKE to process this makefile.
35 !endif
36
37 # Borland's $(MAKEDIR) expands to the path where make.exe is located,
38 # use this feature to define BCCDIR when user has not defined BCCDIR.
39 !ifndef BCCDIR
40 BCCDIR = $(MAKEDIR)\..
41 !endif
42
43 # Edit the path below to point to the base of your Zlib sources.
44 !ifndef ZLIB_PATH
45 ZLIB_PATH = ..\..\zlib-1.2.8
46 !endif
47
48 # Edit the path below to point to the base of your OpenSSL package.
49 !ifndef OPENSSL_PATH
50 OPENSSL_PATH = ..\..\openssl-1.0.2a
51 !endif
52
53 # Set program's name
54 PROGNAME = curl.exe
55
56 # Setup environment
57 PP_CMD   = cpp32 -q -P-
58 CC_CMD   = bcc32 -q -c
59 LD       = bcc32
60 RM       = del 2>NUL
61 MKDIR    = md
62 RMDIR    = rd /q 2>NUL
63 COPY     = $(COMSPEC) /c copy /y
64
65 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
66 LDFLAGS  = -q -lq -lap
67
68 SRCDIRS  = .;..\lib
69 OBJDIR   = .\BCC_objs
70 INCDIRS  = -I.;..\include;..\lib
71 LINKLIB  = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib
72 DEFINES  = -DNDEBUG -DWIN32
73
74 !ifdef DYNAMIC
75 LIBCURL_LIB = ..\lib\libcurl_imp.lib
76 !else
77 LIBCURL_LIB = ..\lib\libcurl.lib
78 DEFINES = $(DEFINES) -DCURL_STATICLIB
79 !endif
80
81 # ZLIB support is enabled setting WITH_ZLIB=1
82 !ifdef WITH_ZLIB
83 DEFINES  = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
84 INCDIRS  = $(INCDIRS);$(ZLIB_PATH)
85 LINKLIB  = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
86 !endif
87
88 # SSL support is enabled setting WITH_SSL=1
89 !ifdef WITH_SSL
90 DEFINES  = $(DEFINES) -DUSE_OPENSSL
91 INCDIRS  = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
92 LINKLIB  = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
93 !endif
94
95 .autodepend
96
97 .path.c   = $(SRCDIRS)
98 .path.obj = $(OBJDIR)
99 .path.int = $(OBJDIR)
100
101 # Makefile.inc provides the CSOURCES and HHEADERS defines
102 !include Makefile.inc
103
104 CSOURCES = $(CURL_CFILES) $(CURLX_CFILES:../lib/=)
105 OBJECTS  = $(CSOURCES:.c=.obj)
106 PREPROCESSED = $(CSOURCES:.c=.int)
107
108 # Borland's command line compiler (BCC32) version 5.5.1 integrated
109 # preprocessor has a bug which results in silently generating wrong
110 # definitions for libcurl macros such as CURL_OFF_T_C, on the other
111 # hand Borland's command line preprocessor (CPP32) version 5.5.1 does
112 # not have the bug and achieves proper results. In order to avoid the
113 # silent bug we first preprocess source files and later compile the
114 # preprocessed result.
115
116 .c.obj:
117         @-$(RM) $(@R).int
118         $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
119         $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
120
121 all:    $(OBJDIR) tool_hugehelp $(PROGNAME)
122
123 clean:
124         cd $(OBJDIR)
125         @-$(RM) $(OBJECTS)
126         @-$(RM) $(PREPROCESSED)
127         cd ..
128         @-$(RMDIR) $(OBJDIR)
129         @-$(RM) $(PROGNAME)
130         @-$(RM) curl.tds
131
132 $(OBJDIR):
133         @-$(RMDIR) $(OBJDIR)
134         @-$(MKDIR) $(OBJDIR)
135
136 !ifdef WITH_ZLIB
137 tool_hugehelp: ..\docs\MANUAL ..\docs\curl.1 mkhelp.pl
138         groff -Tascii -man -P -c ../docs/curl.1 > tool_hugehelp.tmp
139         perl -w mkhelp.pl -c ../docs/MANUAL < tool_hugehelp.tmp > tool_hugehelp.c
140         @-$(RM) tool_hugehelp.tmp
141 !else
142 tool_hugehelp:
143         if exist ..\GIT-INFO $(COPY) tool_hugehelp.c.cvs tool_hugehelp.c
144 !endif
145
146 $(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
147         @-$(RM) $(PROGNAME)
148         $(LD) $(LDFLAGS) -e$@ @&&!
149 $(**: = ^
150 )
151 !
152
153
154 # End of Makefile.b32