1 | #***************************************************************************
|
---|
2 | # _ _ ____ _
|
---|
3 | # Project ___| | | | _ \| |
|
---|
4 | # / __| | | | |_) | |
|
---|
5 | # | (__| |_| | _ <| |___
|
---|
6 | # \___|\___/|_| \_\_____|
|
---|
7 | #
|
---|
8 | # Copyright (C) 2005 - 2009, Gisle Vanem <[email protected]>.
|
---|
9 | # Copyright (C) 2005 - 2017, Daniel Stenberg, <[email protected]>, 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 | # Watcom / OpenWatcom / Win32 makefile for libcurl.
|
---|
26 | #
|
---|
27 |
|
---|
28 | .ERASE
|
---|
29 |
|
---|
30 | !if $(__VERSION__) < 1280
|
---|
31 | !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
---|
32 | !message ! This Open Watcom version is too old and is no longer supported !
|
---|
33 | !message ! Please download latest version from www.openwatcom.org !
|
---|
34 | !message !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
---|
35 | !error Unsupported version of Open Watcom
|
---|
36 | !endif
|
---|
37 |
|
---|
38 | !ifndef %watcom
|
---|
39 | !error WATCOM environment variable not set!
|
---|
40 | !endif
|
---|
41 |
|
---|
42 | # In order to process Makefile.inc wmake must be called with -u switch!
|
---|
43 | !ifndef %MAKEFLAGS
|
---|
44 | !error You MUST call wmake with the -u switch!
|
---|
45 | !endif
|
---|
46 |
|
---|
47 | !ifdef %libname
|
---|
48 | LIBNAME = $(%libname)
|
---|
49 | !else
|
---|
50 | LIBNAME = libcurl
|
---|
51 | !endif
|
---|
52 | TARGETS = $(LIBNAME).dll $(LIBNAME).lib
|
---|
53 |
|
---|
54 | CC = wcc386
|
---|
55 | LD = wlink
|
---|
56 | AR = wlib
|
---|
57 | RC = wrc
|
---|
58 |
|
---|
59 | !ifdef __LOADDLL__
|
---|
60 | ! loaddll wcc386 wccd386
|
---|
61 | ! loaddll wpp386 wppd386
|
---|
62 | ! loaddll wlib wlibd
|
---|
63 | ! loaddll wlink wlinkd
|
---|
64 | !endif
|
---|
65 |
|
---|
66 | !ifdef __LINUX__
|
---|
67 | CP = cp
|
---|
68 | MD = mkdir -p
|
---|
69 | !else
|
---|
70 | CP = copy 2>NUL
|
---|
71 | MD = mkdir
|
---|
72 | !endif
|
---|
73 | !if $(__VERSION__) > 1290
|
---|
74 | RD = rm -rf
|
---|
75 | !else ifdef __UNIX__
|
---|
76 | RD = rm -rf
|
---|
77 | !else
|
---|
78 | RD = rmdir /q /s 2>NUL
|
---|
79 | !endif
|
---|
80 |
|
---|
81 | SYS_INCL = -I"$(%watcom)/h/nt" -I"$(%watcom)/h"
|
---|
82 |
|
---|
83 | CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm &
|
---|
84 | -wcd=201 -bt=nt -d+ -dWIN32 &
|
---|
85 | -dBUILDING_LIBCURL -I. -I"../include" $(SYS_INCL)
|
---|
86 |
|
---|
87 | !ifdef %debug
|
---|
88 | DEBUG = -dDEBUG=1 -dDEBUGBUILD
|
---|
89 | CFLAGS += -d3 $(DEBUG)
|
---|
90 | !else
|
---|
91 | CFLAGS += -d0
|
---|
92 | !endif
|
---|
93 |
|
---|
94 | !ifdef %use_ipv6
|
---|
95 | CFLAGS += -d_WIN32_WINNT=0x0501 -dENABLE_IPV6
|
---|
96 | !endif
|
---|
97 |
|
---|
98 | !ifdef %use_sspi
|
---|
99 | CFLAGS += -dUSE_WINDOWS_SSPI
|
---|
100 | !endif
|
---|
101 |
|
---|
102 | !ifdef %use_winssl
|
---|
103 | CFLAGS += -dUSE_WINDOWS_SSPI
|
---|
104 | CFLAGS += -DUSE_SCHANNEL
|
---|
105 | !endif
|
---|
106 |
|
---|
107 | !ifdef %use_winidn
|
---|
108 | CFLAGS += -dWINVER=0x0600 -dUSE_WIN32_IDN
|
---|
109 | ! if $(__VERSION__) <= 1290
|
---|
110 | CFLAGS += -dWANT_IDN_PROTOTYPES
|
---|
111 | ! endif
|
---|
112 | !endif
|
---|
113 |
|
---|
114 | #
|
---|
115 | # Change to suite.
|
---|
116 | #
|
---|
117 | !ifdef %zlib_root
|
---|
118 | ZLIB_ROOT = $(%zlib_root)
|
---|
119 | !else
|
---|
120 | ZLIB_ROOT = ../../zlib-1.2.8
|
---|
121 | !endif
|
---|
122 |
|
---|
123 | !ifdef %libssh2_root
|
---|
124 | LIBSSH2_ROOT = $(%libssh2_root)
|
---|
125 | !else
|
---|
126 | LIBSSH2_ROOT = ../../libssh2-1.5.0
|
---|
127 | !endif
|
---|
128 |
|
---|
129 | !ifdef %librtmp_root
|
---|
130 | LIBRTMP_ROOT = $(%librtmp_root)
|
---|
131 | !else
|
---|
132 | LIBRTMP_ROOT = ../../rtmpdump-2.3
|
---|
133 | !endif
|
---|
134 |
|
---|
135 | !ifdef %openssl_root
|
---|
136 | OPENSSL_ROOT = $(%openssl_root)
|
---|
137 | !else
|
---|
138 | OPENSSL_ROOT = ../../openssl-1.0.2a
|
---|
139 | !endif
|
---|
140 |
|
---|
141 | !ifdef %ares_root
|
---|
142 | ARES_ROOT = $(%ares_root)
|
---|
143 | !else
|
---|
144 | ARES_ROOT = ../ares
|
---|
145 | !endif
|
---|
146 |
|
---|
147 | !ifdef %use_zlib
|
---|
148 | CFLAGS += -dHAVE_ZLIB_H -dHAVE_LIBZ -I"$(ZLIB_ROOT)"
|
---|
149 | !endif
|
---|
150 |
|
---|
151 | !ifdef %use_rtmp
|
---|
152 | CFLAGS += -dUSE_LIBRTMP -I"$(LIBRTMP_ROOT)"
|
---|
153 | !endif
|
---|
154 |
|
---|
155 | !ifdef %use_ssh2
|
---|
156 | CFLAGS += -DUSE_LIBSSH2 -DHAVE_LIBSSH2_H -I"$(LIBSSH2_ROOT)/include" -I"$(LIBSSH2_ROOT)/win32"
|
---|
157 | !endif
|
---|
158 |
|
---|
159 | !ifdef %use_ssl
|
---|
160 | CFLAGS += -wcd=138 -dUSE_OPENSSL -I"$(OPENSSL_ROOT)/inc32"
|
---|
161 | !endif
|
---|
162 |
|
---|
163 | !ifdef %use_ares
|
---|
164 | CFLAGS += -dUSE_ARES -I"$(ARES_ROOT)"
|
---|
165 | !endif
|
---|
166 |
|
---|
167 | !ifdef %use_watt32
|
---|
168 | CFLAGS += -dUSE_WATT32 -I"$(%watt_root)/inc"
|
---|
169 | !endif
|
---|
170 |
|
---|
171 | OBJ_BASE = WC_Win32.obj
|
---|
172 | !if $(__VERSION__) > 1290
|
---|
173 | OBJ_STAT = $(OBJ_BASE)/stat
|
---|
174 | OBJ_DYN = $(OBJ_BASE)/dyn
|
---|
175 | !else ifdef __UNIX__
|
---|
176 | OBJ_STAT = $(OBJ_BASE)/stat
|
---|
177 | OBJ_DYN = $(OBJ_BASE)/dyn
|
---|
178 | !else
|
---|
179 | OBJ_STAT = $(OBJ_BASE)\stat
|
---|
180 | OBJ_DYN = $(OBJ_BASE)\dyn
|
---|
181 | !endif
|
---|
182 |
|
---|
183 | LINK_ARG = $(OBJ_DYN)/wlink.arg
|
---|
184 | LIB_ARG = $(OBJ_STAT)/wlib.arg
|
---|
185 |
|
---|
186 | !include Makefile.inc
|
---|
187 |
|
---|
188 | OBJS1 = ./$(CSOURCES:.c=.obj)
|
---|
189 | OBJS2 = $(OBJS1:vtls/=)
|
---|
190 | OBJS3 = $(OBJS2:vauth/=)
|
---|
191 | OBJS4 = $(OBJS3: = ./)
|
---|
192 | OBJS_STAT = $(OBJS4:./=$(OBJ_STAT)/)
|
---|
193 | OBJS_DYN = $(OBJS4:./=$(OBJ_DYN)/)
|
---|
194 |
|
---|
195 | RESOURCE = $(OBJ_DYN)/libcurl.res
|
---|
196 |
|
---|
197 | DIRS = $(OBJ_BASE) $(OBJ_BASE)/stat $(OBJ_BASE)/dyn
|
---|
198 |
|
---|
199 | .c : vauth vtls
|
---|
200 |
|
---|
201 | all: $(DIRS) $(TARGETS) .SYMBOLIC
|
---|
202 | @echo Welcome to libcurl
|
---|
203 |
|
---|
204 | clean: .SYMBOLIC
|
---|
205 | -rm -f $(OBJS_STAT)
|
---|
206 | -rm -f $(OBJS_DYN)
|
---|
207 | -rm -f $(RESOURCE) $(LINK_ARG) $(LIB_ARG)
|
---|
208 |
|
---|
209 | vclean distclean: clean .SYMBOLIC
|
---|
210 | -rm -f $(TARGETS) $(LIBNAME).map $(LIBNAME).sym
|
---|
211 | -$(RD) $(OBJ_STAT)
|
---|
212 | -$(RD) $(OBJ_DYN)
|
---|
213 | -$(RD) $(OBJ_BASE)
|
---|
214 |
|
---|
215 | $(DIRS):
|
---|
216 | -$(MD) $^@
|
---|
217 |
|
---|
218 | $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(__MAKEFILES__)
|
---|
219 | %create $(LINK_ARG)
|
---|
220 | @%append $(LINK_ARG) system nt dll
|
---|
221 | !ifdef %debug
|
---|
222 | @%append $(LINK_ARG) debug all
|
---|
223 | @%append $(LINK_ARG) option symfile
|
---|
224 | !endif
|
---|
225 | @%append $(LINK_ARG) option quiet, caseexact, eliminate
|
---|
226 | @%append $(LINK_ARG) option map=$(OBJ_DYN)/$(LIBNAME).map
|
---|
227 | @%append $(LINK_ARG) option implib=$(LIBNAME)_imp.lib
|
---|
228 | @%append $(LINK_ARG) option res=$(RESOURCE)
|
---|
229 | @for %f in ($(OBJS_DYN)) do @%append $(LINK_ARG) file %f
|
---|
230 | @%append $(LINK_ARG) library wldap32.lib
|
---|
231 | !ifdef %use_watt32
|
---|
232 | @%append $(LINK_ARG) library '$(%watt_root)/lib/wattcpw_imp.lib'
|
---|
233 | !else
|
---|
234 | @%append $(LINK_ARG) library ws2_32.lib
|
---|
235 | !endif
|
---|
236 | !ifdef %use_zlib
|
---|
237 | @%append $(LINK_ARG) library '$(ZLIB_ROOT)/zlib.lib'
|
---|
238 | !endif
|
---|
239 | !ifdef %use_rtmp
|
---|
240 | @%append $(LINK_ARG) library '$(LIBRTMP_ROOT)/librtmp/librtmp.lib'
|
---|
241 | !endif
|
---|
242 | !ifdef %use_ssh2
|
---|
243 | @%append $(LINK_ARG) library '$(LIBSSH2_ROOT)/win32/libssh2.lib'
|
---|
244 | !endif
|
---|
245 | !ifdef %use_ssl
|
---|
246 | @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/libeay32.lib'
|
---|
247 | @%append $(LINK_ARG) library '$(OPENSSL_ROOT)/out32/ssleay32.lib'
|
---|
248 | !endif
|
---|
249 | !ifdef %use_ares
|
---|
250 | @%append $(LINK_ARG) library '$(ARES_ROOT)/cares.lib'
|
---|
251 | !endif
|
---|
252 | !ifdef %use_winidn
|
---|
253 | ! if $(__VERSION__) > 1290
|
---|
254 | @%append $(LINK_ARG) library normaliz.lib
|
---|
255 | ! else
|
---|
256 | @%append $(LINK_ARG) import '_IdnToAscii@20' 'NORMALIZ.DLL'.'IdnToAscii'
|
---|
257 | @%append $(LINK_ARG) import '_IdnToUnicode@20' 'NORMALIZ.DLL'.'IdnToUnicode'
|
---|
258 | ! endif
|
---|
259 | !endif
|
---|
260 | $(LD) name $^@ @$(LINK_ARG)
|
---|
261 |
|
---|
262 | $(LIBNAME).lib: $(OBJS_STAT)
|
---|
263 | %create $(LIB_ARG)
|
---|
264 | @for %f in ($<) do @%append $(LIB_ARG) +- %f
|
---|
265 | $(AR) -q -b -c -pa $^@ @$(LIB_ARG)
|
---|
266 |
|
---|
267 | $(RESOURCE): libcurl.rc
|
---|
268 | $(RC) $(DEBUG) -q -r -zm -bt=nt -I"../include" $(SYS_INCL) $[@ -fo=$^@
|
---|
269 |
|
---|
270 | .c{$(OBJ_DYN)}.obj:
|
---|
271 | $(CC) $(CFLAGS) -bd -br $[@ -fo=$^@
|
---|
272 |
|
---|
273 | .c{$(OBJ_STAT)}.obj:
|
---|
274 | $(CC) $(CFLAGS) -DCURL_STATICLIB $[@ -fo=$^@
|
---|