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