Imported Upstream version 7.53.1
[platform/upstream/curl.git] / lib / Makefile.vc7
1 #***************************************************************************\r
2 #                                  _   _ ____  _\r
3 #  Project                     ___| | | |  _ \| |\r
4 #                             / __| | | | |_) | |\r
5 #                            | (__| |_| |  _ <| |___\r
6 #                             \___|\___/|_| \_\_____|\r
7 #\r
8 # Copyright (C) 1999 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.\r
9 #\r
10 # This software is licensed as described in the file COPYING, which\r
11 # you should have received as part of this distribution. The terms\r
12 # are also available at https://curl.haxx.se/docs/copyright.html.\r
13 #\r
14 # You may opt to use, copy, modify, merge, publish, distribute and/or sell\r
15 # copies of the Software, and permit persons to whom the Software is\r
16 # furnished to do so, under the terms of the COPYING file.\r
17 #\r
18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY\r
19 # KIND, either express or implied.\r
20 #\r
21 #***************************************************************************\r
22 \r
23 # All files in the Makefile.vc* series are generated automatically from the\r
24 # one made for MSVC version 6. Alas, if you want to do changes to any of the\r
25 # files and send back to the project, edit the version six, make your diff and\r
26 # mail curl-library.\r
27 \r
28 ###########################################################################\r
29 #\r
30 # Makefile for building libcurl with MSVC7\r
31 #\r
32 # Usage: see usage message below\r
33 #        Should be invoked from \lib directory\r
34 #        Edit the paths and desired library name\r
35 #        SSL path is only required if you intend compiling\r
36 #        with SSL.\r
37 #\r
38 # This make file leaves the result either a .lib or .dll file\r
39 # in the \lib directory. It should be called from the \lib\r
40 # directory.\r
41 #\r
42 # An option would have been to allow the source directory to\r
43 # be specified, but I saw no requirement.\r
44 #\r
45 # Another option would have been to leave the .lib and .dll\r
46 # files in the "cfg" directory, but then the make file\r
47 # in \src would need to be changed.\r
48 #\r
49 ##############################################################\r
50 \r
51 # ----------------------------------------------\r
52 # Verify that current subdir is libcurl's 'lib'\r
53 # ----------------------------------------------\r
54 \r
55 !IF ! EXIST(.\curl_addrinfo.c)\r
56 !  MESSAGE Can not process this makefile from outside of libcurl's 'lib' subdirectory.\r
57 !  MESSAGE Change to libcurl's 'lib' subdirectory, and try again.\r
58 !  ERROR   See previous message.\r
59 !ENDIF\r
60 \r
61 # ------------------------------------------------\r
62 # Makefile.msvc.names provides libcurl file names\r
63 # ------------------------------------------------\r
64 \r
65 !INCLUDE ..\winbuild\Makefile.msvc.names\r
66 \r
67 !IFNDEF OPENSSL_PATH\r
68 OPENSSL_PATH   = ../../openssl-1.0.2a\r
69 !ENDIF\r
70 \r
71 !IFNDEF LIBSSH2_PATH\r
72 LIBSSH2_PATH   = ../../libssh2-1.5.0\r
73 !ENDIF\r
74 \r
75 !IFNDEF ZLIB_PATH\r
76 ZLIB_PATH  = ../../zlib-1.2.8\r
77 !ENDIF\r
78 \r
79 !IFNDEF MACHINE\r
80 MACHINE  = X86\r
81 !ENDIF\r
82 \r
83 # USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication\r
84 # without an openssl installation and offers the ability to authenticate\r
85 # using the "current logged in user". Since at least with MSVC7 the sspi.h\r
86 # header is broken it is either required to install the Windows SDK,\r
87 # or to fix sspi.h with adding this define at the beginning of sspi.h:\r
88 # #define FreeCredentialHandle FreeCredentialsHandle\r
89 #\r
90 # If, for some reason the Windows SDK is installed but not installed\r
91 # in the default location, you can specify WINDOWS_SDK_PATH.\r
92 # It can be downloaded from:\r
93 # https://msdn.microsoft.com/windows/bb980924.aspx\r
94 \r
95 # WINDOWS_SSPI = 1\r
96 \r
97 !IFDEF WINDOWS_SSPI\r
98 !IFNDEF WINDOWS_SDK_PATH\r
99 WINDOWS_SDK_PATH = "$(PROGRAMFILES)\Microsoft SDK"\r
100 !ENDIF\r
101 !ENDIF\r
102 \r
103 #############################################################\r
104 ## Nothing more to do below this line!\r
105 \r
106 CCNODBG      = cl.exe /O2 /DNDEBUG\r
107 CCDEBUG      = cl.exe /Od /Gm /Zi /D_DEBUG /GZ\r
108 CFLAGSSSL    = /DUSE_OPENSSL /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"\r
109 CFLAGSWINSSL = /DUSE_SCHANNEL\r
110 CFLAGSSSH2   = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I "$(LIBSSH2_PATH)/include"\r
111 CFLAGSZLIB   = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"\r
112 CFLAGS       = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL /D_BIND_TO_CURRENT_VCLIBS_VERSION=1\r
113 CFLAGSLIB    = /DCURL_STATICLIB\r
114 LNKDLL       = link.exe /DLL\r
115 LNKLIB       = link.exe /lib\r
116 LFLAGS       = /nologo /machine:$(MACHINE)\r
117 SSLLIBS      = libeay32.lib ssleay32.lib\r
118 WINSSLLIBS   = crypt32.lib\r
119 ZLIBLIBSDLL  = zdll.lib\r
120 ZLIBLIBS     = zlib.lib\r
121 WINLIBS      = ws2_32.lib wldap32.lib advapi32.lib\r
122 CFLAGS       = $(CFLAGS)\r
123 \r
124 CFGSET       = FALSE\r
125 \r
126 !IFDEF WINDOWS_SSPI\r
127 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include\r
128 !ENDIF\r
129 \r
130 !IFDEF USE_IPV6\r
131 CFLAGS = $(CFLAGS) /DUSE_IPV6\r
132 !ENDIF\r
133 \r
134 !IFDEF USE_IDN\r
135 CFLAGS = $(CFLAGS) /DUSE_WIN32_IDN /DWANT_IDN_PROTOTYPES\r
136 !ENDIF\r
137 \r
138 ##############################################################\r
139 # Runtime library configuration\r
140 \r
141 RTLIB   = /MD\r
142 RTLIBD  = /MDd\r
143 \r
144 !IF "$(RTLIBCFG)" == "static"\r
145 RTLIB  = /MT\r
146 RTLIBD = /MTd\r
147 !ENDIF\r
148 \r
149 \r
150 ######################\r
151 # release\r
152 \r
153 !IF "$(CFG)" == "release"\r
154 TARGET = $(LIBCURL_STA_LIB_REL)\r
155 DIROBJ = $(CFG)\r
156 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)\r
157 CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)\r
158 CFGSET = TRUE\r
159 !ENDIF\r
160 \r
161 ######################\r
162 # release-ssl\r
163 \r
164 !IF "$(CFG)" == "release-ssl"\r
165 TARGET   = $(LIBCURL_STA_LIB_REL)\r
166 DIROBJ   = $(CFG)\r
167 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
168 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
169 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)\r
170 CFGSET   = TRUE\r
171 !ENDIF\r
172 \r
173 ######################\r
174 # release-winssl\r
175 \r
176 !IF "$(CFG)" == "release-winssl"\r
177 TARGET   = $(LIBCURL_STA_LIB_REL)\r
178 DIROBJ   = $(CFG)\r
179 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
180 LNK      = $(LNKLIB) $(WINSSLLIBS) /out:$(DIROBJ)\$(TARGET)\r
181 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSLIB)\r
182 CFGSET   = TRUE\r
183 !ENDIF\r
184 \r
185 ######################\r
186 # release-zlib\r
187 \r
188 !IF "$(CFG)" == "release-zlib"\r
189 TARGET   = $(LIBCURL_STA_LIB_REL)\r
190 DIROBJ   = $(CFG)\r
191 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
192 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
193 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)\r
194 CFGSET   = TRUE\r
195 !ENDIF\r
196 \r
197 ######################\r
198 # release-ssl-zlib\r
199 \r
200 !IF "$(CFG)" == "release-ssl-zlib"\r
201 TARGET   = $(LIBCURL_STA_LIB_REL)\r
202 DIROBJ   = $(CFG)\r
203 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
204 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
205 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
206 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
207 CFGSET   = TRUE\r
208 !ENDIF\r
209 \r
210 ######################\r
211 # release-winssl-zlib\r
212 \r
213 !IF "$(CFG)" == "release-winssl-zlib"\r
214 TARGET   = $(LIBCURL_STA_LIB_REL)\r
215 DIROBJ   = $(CFG)\r
216 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
217 LNK      = $(LNKLIB) $(LFLAGSZLIB) $(WINSSLLIBS) /out:$(DIROBJ)\$(TARGET)\r
218 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
219 CFGSET   = TRUE\r
220 !ENDIF\r
221 \r
222 ######################\r
223 # release-ssl-ssh2-zlib\r
224 \r
225 !IF "$(CFG)" == "release-ssl-ssh2-zlib"\r
226 TARGET   = $(LIBCURL_STA_LIB_REL)\r
227 DIROBJ   = $(CFG)\r
228 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
229 LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"\r
230 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
231 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
232 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)\r
233 CFGSET   = TRUE\r
234 !ENDIF\r
235 \r
236 ######################\r
237 # release-ssl-dll\r
238 \r
239 !IF "$(CFG)" == "release-ssl-dll"\r
240 TARGET   = $(LIBCURL_STA_LIB_REL)\r
241 DIROBJ   = $(CFG)\r
242 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
243 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
244 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)\r
245 CFGSET   = TRUE\r
246 !ENDIF\r
247 \r
248 ######################\r
249 # release-zlib-dll\r
250 \r
251 !IF "$(CFG)" == "release-zlib-dll"\r
252 TARGET   = $(LIBCURL_STA_LIB_REL)\r
253 DIROBJ   = $(CFG)\r
254 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
255 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
256 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)\r
257 CFGSET   = TRUE\r
258 !ENDIF\r
259 \r
260 ######################\r
261 # release-ssl-dll-zlib-dll\r
262 \r
263 !IF "$(CFG)" == "release-ssl-dll-zlib-dll"\r
264 TARGET   = $(LIBCURL_STA_LIB_REL)\r
265 DIROBJ   = $(CFG)\r
266 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
267 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
268 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
269 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
270 CFGSET   = TRUE\r
271 !ENDIF\r
272 \r
273 ######################\r
274 # release-dll\r
275 \r
276 !IF "$(CFG)" == "release-dll"\r
277 TARGET = $(LIBCURL_DYN_LIB_REL)\r
278 DIROBJ = $(CFG)\r
279 LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)\r
280 CC     = $(CCNODBG) $(RTLIB)\r
281 CFGSET = TRUE\r
282 RESOURCE = $(DIROBJ)\libcurl.res\r
283 !ENDIF\r
284 \r
285 ######################\r
286 # release-dll-ssl-dll\r
287 \r
288 !IF "$(CFG)" == "release-dll-ssl-dll"\r
289 TARGET   = $(LIBCURL_DYN_LIB_REL)\r
290 DIROBJ   = $(CFG)\r
291 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
292 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)\r
293 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)\r
294 CFGSET   = TRUE\r
295 RESOURCE = $(DIROBJ)\libcurl.res\r
296 !ENDIF\r
297 \r
298 ######################\r
299 # release-dll-zlib-dll\r
300 \r
301 !IF "$(CFG)" == "release-dll-zlib-dll"\r
302 TARGET   = $(LIBCURL_DYN_LIB_REL)\r
303 DIROBJ   = $(CFG)\r
304 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
305 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)\r
306 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)\r
307 CFGSET   = TRUE\r
308 RESOURCE = $(DIROBJ)\libcurl.res\r
309 !ENDIF\r
310 \r
311 ######################\r
312 # release-dll-ssl-dll-zlib-dll\r
313 \r
314 !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"\r
315 TARGET   = $(LIBCURL_DYN_LIB_REL)\r
316 DIROBJ   = $(CFG)\r
317 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
318 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
319 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)\r
320 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)\r
321 CFGSET   = TRUE\r
322 RESOURCE = $(DIROBJ)\libcurl.res\r
323 !ENDIF\r
324 \r
325 ######################\r
326 # debug\r
327 \r
328 !IF "$(CFG)" == "debug"\r
329 TARGET = $(LIBCURL_STA_LIB_DBG)\r
330 DIROBJ = $(CFG)\r
331 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)\r
332 CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)\r
333 CFGSET = TRUE\r
334 !ENDIF\r
335 \r
336 ######################\r
337 # debug-ssl\r
338 \r
339 !IF "$(CFG)" == "debug-ssl"\r
340 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
341 DIROBJ   = $(CFG)\r
342 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
343 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
344 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)\r
345 CFGSET   = TRUE\r
346 !ENDIF\r
347 \r
348 ######################\r
349 # debug-zlib\r
350 \r
351 !IF "$(CFG)" == "debug-zlib"\r
352 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
353 DIROBJ   = $(CFG)\r
354 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
355 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
356 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)\r
357 CFGSET   = TRUE\r
358 !ENDIF\r
359 \r
360 ######################\r
361 # debug-ssl-zlib\r
362 \r
363 !IF "$(CFG)" == "debug-ssl-zlib"\r
364 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
365 DIROBJ   = $(CFG)\r
366 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
367 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
368 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
369 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
370 CFGSET   = TRUE\r
371 !ENDIF\r
372 \r
373 ######################\r
374 # debug-ssl-ssh2-zlib\r
375 \r
376 !IF "$(CFG)" == "debug-ssl-ssh2-zlib"\r
377 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
378 DIROBJ   = $(CFG)\r
379 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
380 LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"\r
381 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
382 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
383 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)\r
384 CFGSET   = TRUE\r
385 !ENDIF\r
386 \r
387 ######################\r
388 # debug-ssl-dll\r
389 \r
390 !IF "$(CFG)" == "debug-ssl-dll"\r
391 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
392 DIROBJ   = $(CFG)\r
393 LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll\r
394 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
395 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)\r
396 CFGSET   = TRUE\r
397 !ENDIF\r
398 \r
399 ######################\r
400 # debug-zlib-dll\r
401 \r
402 !IF "$(CFG)" == "debug-zlib-dll"\r
403 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
404 DIROBJ   = $(CFG)\r
405 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
406 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
407 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)\r
408 CFGSET   = TRUE\r
409 !ENDIF\r
410 \r
411 ######################\r
412 # debug-ssl-dll-zlib-dll\r
413 \r
414 !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"\r
415 TARGET   = $(LIBCURL_STA_LIB_DBG)\r
416 DIROBJ   = $(CFG)\r
417 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
418 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
419 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
420 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
421 CFGSET   = TRUE\r
422 !ENDIF\r
423 \r
424 ######################\r
425 # debug-dll\r
426 \r
427 !IF "$(CFG)" == "debug-dll"\r
428 TARGET = $(LIBCURL_DYN_LIB_DBG)\r
429 DIROBJ = $(CFG)\r
430 LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)\r
431 CC     = $(CCDEBUG) $(RTLIBD)\r
432 CFGSET = TRUE\r
433 RESOURCE = $(DIROBJ)\libcurl.res\r
434 !ENDIF\r
435 \r
436 ######################\r
437 # debug-dll-ssl-dll\r
438 \r
439 !IF "$(CFG)" == "debug-dll-ssl-dll"\r
440 TARGET   = $(LIBCURL_DYN_LIB_DBG)\r
441 DIROBJ   = $(CFG)\r
442 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
443 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)\r
444 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)\r
445 CFGSET   = TRUE\r
446 RESOURCE = $(DIROBJ)\libcurl.res\r
447 !ENDIF\r
448 \r
449 ######################\r
450 # debug-dll-zlib-dll\r
451 \r
452 !IF "$(CFG)" == "debug-dll-zlib-dll"\r
453 TARGET   = $(LIBCURL_DYN_LIB_DBG)\r
454 DIROBJ   = $(CFG)\r
455 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
456 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)\r
457 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)\r
458 CFGSET   = TRUE\r
459 RESOURCE = $(DIROBJ)\libcurl.res\r
460 !ENDIF\r
461 \r
462 ######################\r
463 # debug-dll-ssl-dll-zlib-dll\r
464 \r
465 !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"\r
466 TARGET   = $(LIBCURL_DYN_LIB_DBG)\r
467 DIROBJ   = $(CFG)\r
468 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
469 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
470 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)\r
471 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)\r
472 CFGSET   = TRUE\r
473 RESOURCE = $(DIROBJ)\libcurl.res\r
474 !ENDIF\r
475 \r
476 #######################\r
477 # Usage\r
478 #\r
479 !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""\r
480 !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>\r
481 !MESSAGE where <config> is one of:\r
482 !MESSAGE   release                      - release static library\r
483 !MESSAGE   release-ssl                  - release static library with ssl\r
484 !MESSAGE   release-zlib                 - release static library with zlib\r
485 !MESSAGE   release-ssl-zlib             - release static library with ssl and zlib\r
486 !MESSAGE   release-ssl-ssh2-zlib        - release static library with ssl, ssh2 and zlib\r
487 !MESSAGE   release-ssl-dll              - release static library with dynamic ssl\r
488 !MESSAGE   release-zlib-dll             - release static library with dynamic zlib\r
489 !MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib\r
490 !MESSAGE   release-dll                  - release dynamic library\r
491 !MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl\r
492 !MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib\r
493 !MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib\r
494 !MESSAGE   debug                        - debug static library\r
495 !MESSAGE   debug-ssl                    - debug static library with ssl\r
496 !MESSAGE   debug-zlib                   - debug static library with zlib\r
497 !MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib\r
498 !MESSAGE   debug-ssl-ssh2-zlib          - debug static library with ssl, ssh2 and zlib\r
499 !MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl\r
500 !MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib\r
501 !MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib\r
502 !MESSAGE   debug-dll                    - debug dynamic library\r
503 !MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl\r
504 !MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1\r
505 !MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib\r
506 !MESSAGE <target> can be left blank in which case all is assumed\r
507 !ERROR please choose a valid configuration "$(CFG)"\r
508 !ENDIF\r
509 \r
510 #######################\r
511 # Only the clean target can be used if a config was not provided.\r
512 #\r
513 !IF "$(CFGSET)" == "FALSE"\r
514 clean:\r
515         @-erase /s *.dll 2> NUL\r
516         @-erase /s *.exp 2> NUL\r
517         @-erase /s *.idb 2> NUL\r
518         @-erase /s *.lib 2> NUL\r
519         @-erase /s *.obj 2> NUL\r
520         @-erase /s *.pch 2> NUL\r
521         @-erase /s *.pdb 2> NUL\r
522         @-erase /s *.res 2> NUL\r
523 !ELSE\r
524 # A config was provided, so the library can be built.\r
525 #\r
526 X_OBJS= \\r
527         $(DIROBJ)\amigaos.obj \\r
528         $(DIROBJ)\asyn-ares.obj \\r
529         $(DIROBJ)\asyn-thread.obj \\r
530         $(DIROBJ)\axtls.obj \\r
531         $(DIROBJ)\base64.obj \\r
532         $(DIROBJ)\conncache.obj \\r
533         $(DIROBJ)\connect.obj \\r
534         $(DIROBJ)\content_encoding.obj \\r
535         $(DIROBJ)\cookie.obj \\r
536         $(DIROBJ)\curl_addrinfo.obj \\r
537         $(DIROBJ)\curl_des.obj \\r
538         $(DIROBJ)\curl_endian.obj \\r
539         $(DIROBJ)\curl_fnmatch.obj \\r
540         $(DIROBJ)\curl_gethostname.obj \\r
541         $(DIROBJ)\curl_gssapi.obj \\r
542         $(DIROBJ)\curl_memrchr.obj \\r
543         $(DIROBJ)\curl_multibyte.obj \\r
544         $(DIROBJ)\curl_ntlm_core.obj \\r
545         $(DIROBJ)\curl_ntlm_wb.obj \\r
546         $(DIROBJ)\curl_rtmp.obj \\r
547         $(DIROBJ)\curl_sasl.obj \\r
548         $(DIROBJ)\curl_sspi.obj \\r
549         $(DIROBJ)\curl_threads.obj \\r
550         $(DIROBJ)\cyassl.obj \\r
551         $(DIROBJ)\darwinssl.obj \\r
552         $(DIROBJ)\dict.obj \\r
553         $(DIROBJ)\dotdot.obj \\r
554         $(DIROBJ)\easy.obj \\r
555         $(DIROBJ)\escape.obj \\r
556         $(DIROBJ)\file.obj \\r
557         $(DIROBJ)\fileinfo.obj \\r
558         $(DIROBJ)\formdata.obj \\r
559         $(DIROBJ)\ftp.obj \\r
560         $(DIROBJ)\ftplistparser.obj \\r
561         $(DIROBJ)\getenv.obj \\r
562         $(DIROBJ)\getinfo.obj \\r
563         $(DIROBJ)\gopher.obj \\r
564         $(DIROBJ)\gtls.obj \\r
565         $(DIROBJ)\hash.obj \\r
566         $(DIROBJ)\hmac.obj \\r
567         $(DIROBJ)\hostasyn.obj \\r
568         $(DIROBJ)\hostcheck.obj \\r
569         $(DIROBJ)\hostip.obj \\r
570         $(DIROBJ)\hostip4.obj \\r
571         $(DIROBJ)\hostip6.obj \\r
572         $(DIROBJ)\hostsyn.obj \\r
573         $(DIROBJ)\http.obj \\r
574         $(DIROBJ)\http_chunks.obj \\r
575         $(DIROBJ)\http_digest.obj \\r
576         $(DIROBJ)\http_negotiate.obj \\r
577         $(DIROBJ)\http_ntlm.obj \\r
578         $(DIROBJ)\http_proxy.obj \\r
579         $(DIROBJ)\idn_win32.obj \\r
580         $(DIROBJ)\if2ip.obj \\r
581         $(DIROBJ)\imap.obj \\r
582         $(DIROBJ)\inet_ntop.obj \\r
583         $(DIROBJ)\inet_pton.obj \\r
584         $(DIROBJ)\krb5.obj \\r
585         $(DIROBJ)\ldap.obj \\r
586         $(DIROBJ)\llist.obj \\r
587         $(DIROBJ)\md4.obj \\r
588         $(DIROBJ)\md5.obj \\r
589         $(DIROBJ)\memdebug.obj \\r
590         $(DIROBJ)\mprintf.obj \\r
591         $(DIROBJ)\multi.obj \\r
592         $(DIROBJ)\netrc.obj \\r
593         $(DIROBJ)\non-ascii.obj \\r
594         $(DIROBJ)\nonblock.obj \\r
595         $(DIROBJ)\nss.obj \\r
596         $(DIROBJ)\openldap.obj \\r
597         $(DIROBJ)\parsedate.obj \\r
598         $(DIROBJ)\pingpong.obj \\r
599         $(DIROBJ)\pipeline.obj \\r
600         $(DIROBJ)\polarssl.obj \\r
601         $(DIROBJ)\polarssl_threadlock.obj \\r
602         $(DIROBJ)\pop3.obj \\r
603         $(DIROBJ)\progress.obj \\r
604         $(DIROBJ)\strcase.obj \\r
605         $(DIROBJ)\rand.obj \\r
606         $(DIROBJ)\rtsp.obj \\r
607         $(DIROBJ)\schannel.obj \\r
608         $(DIROBJ)\security.obj \\r
609         $(DIROBJ)\select.obj \\r
610         $(DIROBJ)\sendf.obj \\r
611         $(DIROBJ)\share.obj \\r
612         $(DIROBJ)\slist.obj \\r
613         $(DIROBJ)\smb.obj \\r
614         $(DIROBJ)\smtp.obj \\r
615         $(DIROBJ)\socks.obj \\r
616         $(DIROBJ)\socks_gssapi.obj \\r
617         $(DIROBJ)\socks_sspi.obj \\r
618         $(DIROBJ)\speedcheck.obj \\r
619         $(DIROBJ)\splay.obj \\r
620         $(DIROBJ)\ssh.obj \\r
621         $(DIROBJ)\system_win32.obj \\r
622         $(DIROBJ)\vauth.obj \\r
623         $(DIROBJ)\cleartext.obj \\r
624         $(DIROBJ)\cram.obj \\r
625         $(DIROBJ)\digest.obj \\r
626         $(DIROBJ)\digest_sspi.obj \\r
627         $(DIROBJ)\krb5_gssapi.obj \\r
628         $(DIROBJ)\krb5_sspi.obj \\r
629         $(DIROBJ)\ntlm.obj \\r
630         $(DIROBJ)\ntlm_sspi.obj \\r
631         $(DIROBJ)\oauth2.obj \\r
632         $(DIROBJ)\spnego_gssapi.obj \\r
633         $(DIROBJ)\spnego_sspi.obj \\r
634         $(DIROBJ)\vtls.obj \\r
635         $(DIROBJ)\openssl.obj \\r
636         $(DIROBJ)\strdup.obj \\r
637         $(DIROBJ)\strerror.obj \\r
638         $(DIROBJ)\strtok.obj \\r
639         $(DIROBJ)\strtoofft.obj \\r
640         $(DIROBJ)\telnet.obj \\r
641         $(DIROBJ)\tftp.obj \\r
642         $(DIROBJ)\timeval.obj \\r
643         $(DIROBJ)\transfer.obj \\r
644         $(DIROBJ)\url.obj \\r
645         $(DIROBJ)\version.obj \\r
646         $(DIROBJ)\warnless.obj \\r
647         $(DIROBJ)\wildcard.obj \\r
648         $(DIROBJ)\x509asn1.obj \\r
649         $(RESOURCE)\r
650 \r
651 all : $(TARGET)\r
652 \r
653 $(TARGET): $(X_OBJS)\r
654         $(LNK) $(LFLAGS) $(X_OBJS)\r
655         -xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_REL) . /y\r
656         -xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_DBG) . /y\r
657         -xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_REL) . /y\r
658         -xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_DBG) . /y\r
659         -xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_REL) . /y\r
660         -xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) . /y\r
661         -xcopy $(DIROBJ)\*.exp                  . /y\r
662         -xcopy $(DIROBJ)\*.pdb                  . /y\r
663 \r
664 $(X_OBJS): $(DIROBJ)\r
665 \r
666 $(DIROBJ):\r
667         @if not exist "$(DIROBJ)" mkdir $(DIROBJ)\r
668 \r
669 .SUFFIXES: .c .obj .res\r
670 \r
671 {.\}.c{$(DIROBJ)\}.obj:\r
672         $(CC) $(CFLAGS) /Fo"$@"  $<\r
673 \r
674 {.\vauth\}.c{$(DIROBJ)\}.obj:\r
675         $(CC) $(CFLAGS) /Fo"$@"  $<\r
676 \r
677 {.\vtls\}.c{$(DIROBJ)\}.obj:\r
678         $(CC) $(CFLAGS) /Fo"$@"  $<\r
679 \r
680 debug-dll\libcurl.res \\r
681 debug-dll-ssl-dll\libcurl.res \\r
682 debug-dll-zlib-dll\libcurl.res \\r
683 debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc\r
684         rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc\r
685 \r
686 release-dll\libcurl.res \\r
687 release-dll-ssl-dll\libcurl.res \\r
688 release-dll-zlib-dll\libcurl.res \\r
689 release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc\r
690         rc /dDEBUGBUILD=0 /Fo $@ libcurl.rc\r
691 !ENDIF  # End of case where a config was provided.\r