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