Introduced curl_sspi.c and curl_sspi.h for the implementation of functions
[platform/upstream/curl.git] / lib / Makefile.vc6
1 #***************************************************************************\r
2 #                                  _   _ ____  _\r
3 #  Project                     ___| | | |  _ \| |\r
4 #                             / __| | | | |_) | |\r
5 #                            | (__| |_| |  _ <| |___\r
6 #                             \___|\___/|_| \_\_____|\r
7 #\r
8 # Copyright (C) 1999 - 2009, 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 http://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 # $Id: Makefile.am,v 1.139 2008-11-03 08:50:58 bagder Exp $\r
22 ###########################################################################\r
23 #\r
24 # Makefile for building libcurl with MSVC6\r
25 #\r
26 # Usage: see usage message below\r
27 #        Should be invoked from \lib directory\r
28 #        Edit the paths and desired library name\r
29 #        SSL path is only required if you intend compiling\r
30 #        with SSL.\r
31 #\r
32 # This make file leaves the result either a .lib or .dll file\r
33 # in the \lib directory. It should be called from the \lib\r
34 # directory.\r
35 #\r
36 # An option would have been to allow the source directory to\r
37 # be specified, but I saw no requirement.\r
38 #\r
39 # Another option would have been to leave the .lib and .dll\r
40 # files in the "cfg" directory, but then the make file\r
41 # in \src would need to be changed.\r
42 #\r
43 ##############################################################\r
44 \r
45 #\r
46 # Stem for static libs and DLLs\r
47 #\r
48 LIB_NAME       = libcurl\r
49 LIB_NAME_DEBUG = libcurld\r
50 \r
51 #\r
52 # Stem for DLL import libs\r
53 #\r
54 IMPLIB_NAME       = libcurl_imp\r
55 IMPLIB_NAME_DEBUG = libcurld_imp\r
56 \r
57 !IFNDEF OPENSSL_PATH\r
58 OPENSSL_PATH   = ../../openssl-0.9.8g\r
59 !ENDIF\r
60 \r
61 !IFNDEF ZLIB_PATH\r
62 ZLIB_PATH  = ../../zlib-1.2.3\r
63 !ENDIF\r
64 \r
65 !IFNDEF MACHINE\r
66 MACHINE  = X86\r
67 !ENDIF\r
68 \r
69 # USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication\r
70 # without an openssl installation and offers the ability to authenticate\r
71 # using the "current logged in user". Since at least with MSVC6 the sspi.h\r
72 # header is broken it is either required to install the Windows SDK,\r
73 # or to fix sspi.h with adding this define at the beginning of sspi.h:\r
74 # #define FreeCredentialHandle FreeCredentialsHandle\r
75 #\r
76 # If, for some reason the Windows SDK is installed but not installed\r
77 # in the default location, you can specify WINDOWS_SDK_PATH.\r
78 # It can be downloaded from:\r
79 # http://www.microsoft.com/msdownload/platformsdk/sdkupdate/\r
80 \r
81 # WINDOWS_SSPI = 1\r
82 \r
83 !IFDEF WINDOWS_SSPI\r
84 !IFNDEF WINDOWS_SDK_PATH\r
85 WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"\r
86 !ENDIF\r
87 !ENDIF\r
88 \r
89 #############################################################\r
90 ## Nothing more to do below this line!\r
91 \r
92 CCNODBG    = cl.exe /O2 /DNDEBUG\r
93 CCDEBUG    = cl.exe /Od /Gm /Zi /D_DEBUG /GZ\r
94 CFLAGSSSL  = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"\r
95 CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"\r
96 CFLAGS     = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL\r
97 CFLAGSLIB  = /DCURL_STATICLIB\r
98 LNKDLL     = link.exe /DLL\r
99 LNKLIB     = link.exe /lib\r
100 LFLAGS     = /nologo /machine:$(MACHINE)\r
101 SSLLIBS    = libeay32.lib ssleay32.lib\r
102 ZLIBLIBSDLL= zdll.lib\r
103 ZLIBLIBS   = zlib.lib\r
104 WINLIBS    = wsock32.lib wldap32.lib\r
105 CFLAGS     = $(CFLAGS)\r
106 \r
107 CFGSET     = FALSE\r
108 \r
109 !IFDEF WINDOWS_SSPI\r
110 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include\r
111 !ENDIF\r
112 \r
113 ##############################################################\r
114 # Runtime library configuration\r
115 \r
116 RTLIB   = /MD\r
117 RTLIBD  = /MDd\r
118 \r
119 !IF "$(RTLIBCFG)" == "static"\r
120 RTLIB  = /MT\r
121 RTLIBD = /MTd\r
122 !ENDIF\r
123 \r
124 \r
125 ######################\r
126 # release\r
127 \r
128 !IF "$(CFG)" == "release"\r
129 TARGET = $(LIB_NAME).lib\r
130 DIROBJ = $(CFG)\r
131 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)\r
132 CC     = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)\r
133 CFGSET = TRUE\r
134 !ENDIF\r
135 \r
136 ######################\r
137 # release-zlib\r
138 \r
139 !IF "$(CFG)" == "release-zlib"\r
140 TARGET   = $(LIB_NAME).lib\r
141 DIROBJ   = $(CFG)\r
142 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
143 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
144 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)\r
145 CFGSET   = TRUE\r
146 !ENDIF\r
147 \r
148 ######################\r
149 # release-dll\r
150 \r
151 !IF "$(CFG)" == "release-dll"\r
152 TARGET = $(LIB_NAME).dll\r
153 DIROBJ = $(CFG)\r
154 LNK    = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
155 CC     = $(CCNODBG) $(RTLIB)\r
156 CFGSET = TRUE\r
157 RESOURCE = $(DIROBJ)\libcurl.res\r
158 !ENDIF\r
159 \r
160 ######################\r
161 # release-ssl\r
162 \r
163 !IF "$(CFG)" == "release-ssl"\r
164 TARGET   = $(LIB_NAME).lib\r
165 DIROBJ   = $(CFG)\r
166 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
167 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
168 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)\r
169 CFGSET   = TRUE\r
170 !ENDIF\r
171 \r
172 ######################\r
173 # release-ssl-dll\r
174 \r
175 !IF "$(CFG)" == "release-ssl-dll"\r
176 TARGET   = $(LIB_NAME).lib\r
177 DIROBJ   = $(CFG)\r
178 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
179 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
180 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)\r
181 CFGSET   = TRUE\r
182 !ENDIF\r
183 \r
184 ######################\r
185 # release-ssl-zlib\r
186 \r
187 !IF "$(CFG)" == "release-ssl-zlib"\r
188 TARGET   = $(LIB_NAME).lib\r
189 DIROBJ   = $(CFG)\r
190 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
191 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
192 LNK      = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
193 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
194 CFGSET   = TRUE\r
195 !ENDIF\r
196 \r
197 ######################\r
198 # release-dll-ssl-dll\r
199 \r
200 !IF "$(CFG)" == "release-dll-ssl-dll"\r
201 TARGET   = $(LIB_NAME).dll\r
202 DIROBJ   = $(CFG)\r
203 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
204 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
205 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)\r
206 CFGSET   = TRUE\r
207 RESOURCE = $(DIROBJ)\libcurl.res\r
208 !ENDIF\r
209 \r
210 ######################\r
211 # release-zlib-dll\r
212 \r
213 !IF "$(CFG)" == "release-zlib-dll"\r
214 TARGET   = $(LIB_NAME).lib\r
215 DIROBJ   = $(CFG)\r
216 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
217 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
218 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)\r
219 CFGSET   = TRUE\r
220 !ENDIF\r
221 \r
222 ######################\r
223 # release-ssl-dll-zlib-dll\r
224 \r
225 !IF "$(CFG)" == "release-ssl-dll-zlib-dll"\r
226 TARGET   = $(LIB_NAME).lib\r
227 DIROBJ   = $(CFG)\r
228 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
229 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
230 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
231 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
232 CFGSET   = TRUE\r
233 !ENDIF\r
234 \r
235 ######################\r
236 # release-dll-zlib-dll\r
237 \r
238 !IF "$(CFG)" == "release-dll-zlib-dll"\r
239 TARGET   = $(LIB_NAME).dll\r
240 DIROBJ   = $(CFG)\r
241 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
242 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
243 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)\r
244 CFGSET   = TRUE\r
245 RESOURCE = $(DIROBJ)\libcurl.res\r
246 !ENDIF\r
247 \r
248 ######################\r
249 # release-dll-ssl-dll-zlib-dll\r
250 \r
251 !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"\r
252 TARGET   = $(LIB_NAME).dll\r
253 DIROBJ   = $(CFG)\r
254 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
255 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
256 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib\r
257 CC       = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)\r
258 CFGSET   = TRUE\r
259 RESOURCE = $(DIROBJ)\libcurl.res\r
260 !ENDIF\r
261 \r
262 ######################\r
263 # debug\r
264 \r
265 !IF "$(CFG)" == "debug"\r
266 TARGET = $(LIB_NAME_DEBUG).lib\r
267 DIROBJ = $(CFG)\r
268 LNK    = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)\r
269 CC     = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)\r
270 CFGSET = TRUE\r
271 !ENDIF\r
272 \r
273 ######################\r
274 # debug-ssl\r
275 \r
276 !IF "$(CFG)" == "debug-ssl"\r
277 TARGET   = $(LIB_NAME_DEBUG).lib\r
278 DIROBJ   = $(CFG)\r
279 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
280 LNK      = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
281 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)\r
282 CFGSET   = TRUE\r
283 !ENDIF\r
284 \r
285 ######################\r
286 # debug-zlib\r
287 \r
288 !IF "$(CFG)" == "debug-zlib"\r
289 TARGET   = $(LIB_NAME_DEBUG).lib\r
290 DIROBJ   = $(CFG)\r
291 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
292 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
293 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)\r
294 CFGSET   = TRUE\r
295 !ENDIF\r
296 \r
297 ######################\r
298 # debug-ssl-dll\r
299 \r
300 !IF "$(CFG)" == "debug-ssl-dll"\r
301 TARGET   = $(LIB_NAME_DEBUG).lib\r
302 DIROBJ   = $(CFG)\r
303 LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll\r
304 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)\r
305 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)\r
306 CFGSET   = TRUE\r
307 !ENDIF\r
308 \r
309 ######################\r
310 # debug-ssl-zlib\r
311 \r
312 !IF "$(CFG)" == "debug-ssl-zlib"\r
313 TARGET   = $(LIB_NAME_DEBUG).lib\r
314 DIROBJ   = $(CFG)\r
315 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
316 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"\r
317 LNK      = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
318 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
319 CFGSET   = TRUE\r
320 !ENDIF\r
321 \r
322 ######################\r
323 # debug-zlib-dll\r
324 \r
325 !IF "$(CFG)" == "debug-zlib-dll"\r
326 TARGET   = $(LIB_NAME_DEBUG).lib\r
327 DIROBJ   = $(CFG)\r
328 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
329 LNK      = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
330 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)\r
331 CFGSET   = TRUE\r
332 !ENDIF\r
333 \r
334 ######################\r
335 # debug-ssl-dll-zlib-dll\r
336 \r
337 !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"\r
338 TARGET   = $(LIB_NAME_DEBUG).lib\r
339 DIROBJ   = $(CFG)\r
340 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
341 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
342 LNK      = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)\r
343 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)\r
344 CFGSET   = TRUE\r
345 !ENDIF\r
346 \r
347 ######################\r
348 # debug-dll\r
349 \r
350 !IF "$(CFG)" == "debug-dll"\r
351 TARGET = $(LIB_NAME_DEBUG).dll\r
352 DIROBJ = $(CFG)\r
353 LNK    = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
354 CC     = $(CCDEBUG) $(RTLIBD) \r
355 CFGSET = TRUE\r
356 RESOURCE = $(DIROBJ)\libcurl.res\r
357 !ENDIF\r
358 \r
359 ######################\r
360 # debug-dll-ssl-dll\r
361 \r
362 !IF "$(CFG)" == "debug-dll-ssl-dll"\r
363 TARGET   = $(LIB_NAME_DEBUG).dll\r
364 DIROBJ   = $(CFG)\r
365 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
366 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
367 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)\r
368 CFGSET   = TRUE\r
369 RESOURCE = $(DIROBJ)\libcurl.res\r
370 !ENDIF\r
371 \r
372 ######################\r
373 # debug-dll-zlib-dll\r
374 \r
375 !IF "$(CFG)" == "debug-dll-zlib-dll"\r
376 TARGET   = $(LIB_NAME_DEBUG).dll\r
377 DIROBJ   = $(CFG)\r
378 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
379 LNK      = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
380 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)\r
381 CFGSET   = TRUE\r
382 RESOURCE = $(DIROBJ)\libcurl.res\r
383 !ENDIF\r
384 \r
385 ######################\r
386 # debug-dll-ssl-dll-zlib-dll\r
387 \r
388 !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"\r
389 TARGET   = $(LIB_NAME_DEBUG).dll\r
390 DIROBJ   = $(CFG)\r
391 LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"\r
392 LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"\r
393 LNK      = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb\r
394 CC       = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)\r
395 CFGSET   = TRUE\r
396 RESOURCE = $(DIROBJ)\libcurl.res\r
397 !ENDIF\r
398 \r
399 #######################\r
400 # Usage\r
401 #\r
402 !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""\r
403 !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>\r
404 !MESSAGE where <config> is one of:\r
405 !MESSAGE   release                      - release static library\r
406 !MESSAGE   release-ssl                  - release static library with ssl\r
407 !MESSAGE   release-zlib                 - release static library with zlib\r
408 !MESSAGE   release-ssl-zlib             - release static library with ssl and zlib\r
409 !MESSAGE   release-ssl-dll              - release static library with dynamic ssl\r
410 !MESSAGE   release-zlib-dll             - release static library with dynamic zlib\r
411 !MESSAGE   release-ssl-dll-zlib-dll     - release static library with dynamic ssl and dynamic zlib\r
412 !MESSAGE   release-dll                  - release dynamic library\r
413 !MESSAGE   release-dll-ssl-dll          - release dynamic library with dynamic ssl\r
414 !MESSAGE   release-dll-zlib-dll         - release dynamic library with dynamic zlib\r
415 !MESSAGE   release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib\r
416 !MESSAGE   debug                        - debug static library\r
417 !MESSAGE   debug-ssl                    - debug static library with ssl\r
418 !MESSAGE   debug-zlib                   - debug static library with zlib\r
419 !MESSAGE   debug-ssl-zlib               - debug static library with ssl and zlib\r
420 !MESSAGE   debug-ssl-dll                - debug static library with dynamic ssl\r
421 !MESSAGE   debug-zlib-dll               - debug static library with dynamic zlib\r
422 !MESSAGE   debug-ssl-dll-zlib-dll       - debug static library with dynamic ssl and dynamic zlib\r
423 !MESSAGE   debug-dll                    - debug dynamic library\r
424 !MESSAGE   debug-dll-ssl-dll            - debug dynamic library with dynamic ssl\r
425 !MESSAGE   debug-dll-zlib-dll           - debug dynamic library with dynamic zlib1\r
426 !MESSAGE   debug-dll-ssl-dll-zlib-dll   - debug dynamic library with dynamic ssl and dynamic zlib\r
427 !MESSAGE <target> can be left blank in which case all is assumed\r
428 !ERROR please choose a valid configuration "$(CFG)"\r
429 !ENDIF\r
430 \r
431 #######################\r
432 # Only the clean target can be used if a config was not provided.\r
433 #\r
434 !IF "$(CFGSET)" == "FALSE"\r
435 clean:\r
436         @-erase /s *.dll 2> NUL\r
437         @-erase /s *.exp 2> NUL\r
438         @-erase /s *.idb 2> NUL\r
439         @-erase /s *.lib 2> NUL\r
440         @-erase /s *.obj 2> NUL\r
441         @-erase /s *.pch 2> NUL\r
442         @-erase /s *.pdb 2> NUL\r
443         @-erase /s *.res 2> NUL\r
444 !ELSE\r
445 # A config was provided, so the library can be built.\r
446 #\r
447 X_OBJS= \\r
448         $(DIROBJ)\base64.obj \\r
449         $(DIROBJ)\connect.obj \\r
450         $(DIROBJ)\content_encoding.obj \\r
451         $(DIROBJ)\cookie.obj \\r
452         $(DIROBJ)\curl_addrinfo.obj \\r
453         $(DIROBJ)\curl_sspi.obj \\r
454         $(DIROBJ)\dict.obj \\r
455         $(DIROBJ)\easy.obj \\r
456         $(DIROBJ)\escape.obj \\r
457         $(DIROBJ)\file.obj \\r
458         $(DIROBJ)\formdata.obj \\r
459         $(DIROBJ)\ftp.obj \\r
460         $(DIROBJ)\getenv.obj \\r
461         $(DIROBJ)\getinfo.obj \\r
462         $(DIROBJ)\gtls.obj \\r
463         $(DIROBJ)\hash.obj \\r
464         $(DIROBJ)\hostares.obj \\r
465         $(DIROBJ)\hostasyn.obj \\r
466         $(DIROBJ)\hostip.obj \\r
467         $(DIROBJ)\hostip4.obj \\r
468         $(DIROBJ)\hostip6.obj \\r
469         $(DIROBJ)\hostsyn.obj \\r
470         $(DIROBJ)\hostthre.obj \\r
471         $(DIROBJ)\http.obj \\r
472         $(DIROBJ)\http_chunks.obj \\r
473         $(DIROBJ)\http_digest.obj \\r
474         $(DIROBJ)\http_negotiate.obj \\r
475         $(DIROBJ)\http_ntlm.obj \\r
476         $(DIROBJ)\if2ip.obj \\r
477         $(DIROBJ)\inet_ntop.obj \\r
478         $(DIROBJ)\inet_pton.obj \\r
479         $(DIROBJ)\ldap.obj \\r
480         $(DIROBJ)\llist.obj \\r
481         $(DIROBJ)\md5.obj \\r
482         $(DIROBJ)\memdebug.obj \\r
483         $(DIROBJ)\mprintf.obj \\r
484         $(DIROBJ)\multi.obj \\r
485         $(DIROBJ)\netrc.obj \\r
486         $(DIROBJ)\parsedate.obj \\r
487         $(DIROBJ)\progress.obj \\r
488         $(DIROBJ)\rawstr.obj \\r
489         $(DIROBJ)\select.obj \\r
490         $(DIROBJ)\sendf.obj \\r
491         $(DIROBJ)\share.obj \\r
492         $(DIROBJ)\socks.obj \\r
493         $(DIROBJ)\socks_sspi.obj \\r
494         $(DIROBJ)\speedcheck.obj \\r
495         $(DIROBJ)\splay.obj \\r
496         $(DIROBJ)\ssh.obj \\r
497         $(DIROBJ)\sslgen.obj \\r
498         $(DIROBJ)\ssluse.obj \\r
499         $(DIROBJ)\strequal.obj \\r
500         $(DIROBJ)\strerror.obj \\r
501         $(DIROBJ)\strtok.obj \\r
502         $(DIROBJ)\strtoofft.obj \\r
503         $(DIROBJ)\telnet.obj \\r
504         $(DIROBJ)\tftp.obj \\r
505         $(DIROBJ)\timeval.obj \\r
506         $(DIROBJ)\transfer.obj \\r
507         $(DIROBJ)\url.obj \\r
508         $(DIROBJ)\version.obj \\r
509         $(RESOURCE)\r
510 \r
511 all : $(TARGET)\r
512 \r
513 $(TARGET): $(X_OBJS)\r
514         $(LNK) $(LFLAGS) $(X_OBJS)\r
515         -xcopy $(DIROBJ)\$(LIB_NAME).dll       . /y\r
516         -xcopy $(DIROBJ)\$(LIB_NAME).lib       . /y\r
517         -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y\r
518         -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y\r
519         -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib    . /y\r
520         -xcopy $(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib . /y\r
521         -xcopy $(DIROBJ)\*.exp                 . /y\r
522         -xcopy $(DIROBJ)\*.pdb                 . /y\r
523 \r
524 $(X_OBJS): $(DIROBJ)\r
525 \r
526 $(DIROBJ):\r
527         @if not exist "$(DIROBJ)" mkdir $(DIROBJ)\r
528 \r
529 .SUFFIXES: .c .obj .res\r
530 \r
531 {.\}.c{$(DIROBJ)\}.obj:\r
532         $(CC) $(CFLAGS) /Fo"$@"  $<\r
533 \r
534 debug-dll\libcurl.res \\r
535 debug-dll-ssl-dll\libcurl.res \\r
536 debug-dll-zlib-dll\libcurl.res \\r
537 debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc\r
538         rc /dCURLDEBUG=1 /Fo $@ libcurl.rc\r
539 \r
540 release-dll\libcurl.res \\r
541 release-dll-ssl-dll\libcurl.res \\r
542 release-dll-zlib-dll\libcurl.res \\r
543 release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc\r
544         rc /dCURLDEBUG=0 /Fo $@ libcurl.rc\r
545 !ENDIF  # End of case where a config was provided.\r