1 #***************************************************************************
\r
3 # Project ___| | | | _ \| |
\r
4 # / __| | | | |_) | |
\r
5 # | (__| |_| | _ <| |___
\r
6 # \___|\___/|_| \_\_____|
\r
8 # Copyright (C) 1999 - 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
\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
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
18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
\r
19 # KIND, either express or implied.
\r
21 #***************************************************************************
\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 # fiels and send back to the project, edit the version six, make your diff and
\r
28 #############################################################
\r
30 ## Makefile for building curl.exe with MSVC6
\r
31 ## Use: nmake -f makefile.vc6 [release | debug] [CFG=release-ssl]
\r
32 ## (default is release)
\r
33 ## "nmake -f makefile.vc6 CFG=release-ssl" statically links OpenSSL
\r
34 ## into curl.exe producing a standalone SSL-enabled executable.
\r
37 #############################################################
\r
39 PROGRAM_NAME = curl.exe
\r
41 # -------------------------------------------
\r
42 # Verify that current subdir is curl's 'src'
\r
43 # -------------------------------------------
\r
45 !IF ! EXIST(.\main.c)
\r
46 ! MESSAGE Can not process this makefile from outside of curl's 'src' subdirectory.
\r
47 ! MESSAGE Change to curl's 'src' subdirectory, and try again.
\r
48 ! ERROR See previous message.
\r
51 # ------------------------------------------------
\r
52 # Makefile.msvc.names provides libcurl file names
\r
53 # ------------------------------------------------
\r
55 !INCLUDE ..\Makefile.msvc.names
\r
59 !IFNDEF OPENSSL_PATH
\r
60 OPENSSL_PATH = ../../openssl-0.9.8r
\r
64 ZLIB_PATH = ../../zlib-1.2.5
\r
71 # USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
\r
72 # without an openssl installation and offers the ability to authenticate
\r
73 # using the "current logged in user". Since at least with MSVC6 the sspi.h
\r
74 # header is broken it is either required to install the Windows SDK,
\r
75 # or to fix sspi.h with adding this define at the beginning of sspi.h:
\r
76 # #define FreeCredentialHandle FreeCredentialsHandle
\r
78 # If, for some reason the Windows SDK is installed but not installed
\r
79 # in the default location, you can specify WINDOWS_SDK_PATH.
\r
80 # It can be downloaded from:
\r
81 # http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
\r
86 !IFNDEF WINDOWS_SDK_PATH
\r
87 WINDOWS_SDK_PATH = "$(PROGRAMFILES)\Microsoft SDK"
\r
91 ########################################################
\r
92 ## Nothing more to do below this line!
\r
93 ZLIB_CFLAGS = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
\r
94 ZLIB_LFLAGS = "/LIBPATH:$(ZLIB_PATH)"
\r
95 ZLIB_LIBS = zlib.lib
\r
96 ZLIB_IMP_LIBS = zdll.lib
\r
98 SSL_CFLAGS = /DUSE_SSLEAY
\r
99 SSL_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32"
\r
100 SSL_IMP_LFLAGS = /LIBPATH:"$(OPENSSL_PATH)/out32dll"
\r
101 SSL_LIBS = libeay32.lib ssleay32.lib gdi32.lib user32.lib advapi32.lib
\r
103 # Runtime library configuration
\r
107 !IF "$(RTLIBCFG)" == "static"
\r
113 CCR = cl.exe $(RTLIB) /O2 /DNDEBUG
\r
114 LINKR = link.exe /incremental:no /libpath:"../lib"
\r
115 RCR = rc.exe /dDEBUGBUILD=0
\r
118 CCD = cl.exe $(RTLIBD) /Gm /ZI /Od /D_DEBUG /GZ
\r
119 LINKD = link.exe /incremental:yes /debug /libpath:"../lib"
\r
120 RCD = rc.exe /dDEBUGBUILD=1
\r
122 CFLAGS = /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /D_BIND_TO_CURRENT_VCLIBS_VERSION=1
\r
123 LFLAGS = /nologo /out:$(PROGRAM_NAME) /subsystem:console /machine:$(MACHINE)
\r
124 RESFLAGS = /i../lib /i../include
\r
126 # This manifest thing is for VC8, enabled by the maketgz script that
\r
127 # builds the VC8 version of this makefile. Left commented out in the VC6
\r
129 #MANIFESTTOOL = mt -manifest $(PROGRAM_NAME).manifest -outputresource:$(PROGRAM_NAME);1
\r
131 !IFDEF WINDOWS_SSPI
\r
132 CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
\r
145 tool_cfgabler.obj \
\r
146 tool_convertr.obj \
\r
164 tool_cfgabled.obj \
\r
165 tool_convertd.obj \
\r
173 #################################################
\r
174 # If CFG not specified, use static libs
\r
176 CFLAGS = $(CFLAGS) /DCURL_STATICLIB
\r
177 LINKLIBS = $(LIBCURL_STA_LIB_REL)
\r
178 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG)
\r
180 #################################################
\r
181 # release dynamic library
\r
183 !IF "$(CFG)" == "release-dll"
\r
184 LINKLIBS = $(LIBCURL_IMP_LIB_REL)
\r
185 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG)
\r
188 #################################################
\r
189 # release static library with zlib
\r
191 !IF "$(CFG)" == "release-zlib"
\r
192 CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
\r
193 LINKLIBS = $(LIBCURL_STA_LIB_REL) $(ZLIB_LIBS)
\r
194 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_LIBS)
\r
195 LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
\r
198 #################################################
\r
199 # release static library with ssl
\r
201 !IF "$(CFG)" == "release-ssl"
\r
202 CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
\r
203 LINKLIBS = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)
\r
204 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)
\r
205 LFLAGS = $(LFLAGS) $(SSL_LFLAGS)
\r
208 #################################################
\r
209 # release dynamic library with dynamic ssl
\r
211 !IF "$(CFG)" == "release-dll-ssl-dll"
\r
212 CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
\r
213 LINKLIBS = $(LIBCURL_IMP_LIB_REL) $(SSL_LIBS)
\r
214 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(SSL_LIBS)
\r
215 LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
\r
218 #################################################
\r
219 # release static library with ssl and zlib
\r
221 !IF "$(CFG)" == "release-ssl-zlib"
\r
222 CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
\r
223 LINKLIBS = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_LIBS)
\r
224 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_LIBS)
\r
225 LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(ZLIB_LFLAGS)
\r
228 #################################################
\r
229 # release static library with dynamic ssl
\r
231 !IF "$(CFG)" == "release-ssl-dll"
\r
232 CFLAGS = $(CFLAGS) $(SSL_CFLAGS) /DCURL_STATICLIB
\r
233 LINKLIBS = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS)
\r
234 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS)
\r
235 LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS)
\r
238 #################################################
\r
239 # release static library with dynamic zlib
\r
241 !IF "$(CFG)" == "release-zlib-dll"
\r
242 CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
\r
243 LINKLIBS = $(LIBCURL_STA_LIB_REL) $(ZLIB_IMP_LIBS)
\r
244 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(ZLIB_IMP_LIBS)
\r
245 LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
\r
248 #################################################
\r
249 # release dynamic library with dynamic zlib
\r
251 !IF "$(CFG)" == "release-dll-zlib-dll"
\r
252 CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)
\r
253 LINKLIBS = $(LIBCURL_IMP_LIB_REL) $(ZLIB_IMP_LIBS)
\r
254 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(ZLIB_IMP_LIBS)
\r
255 LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS)
\r
258 #################################################
\r
259 # release static library with dynamic ssl and dynamic zlib
\r
261 !IF "$(CFG)" == "release-ssl-dll-zlib-dll"
\r
262 CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS) /DCURL_STATICLIB
\r
263 LINKLIBS = $(LIBCURL_STA_LIB_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)
\r
264 LINKLIBS_DEBUG = $(LIBCURL_STA_LIB_DBG) $(SSL_LIBS) $(ZLIB_IMP_LIBS)
\r
265 LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
\r
268 #################################################
\r
269 # release dynamic library with dynamic ssl and dynamic zlib
\r
271 !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
\r
272 CFLAGS = $(CFLAGS) $(SSL_CFLAGS) $(ZLIB_CFLAGS)
\r
273 LINKLIBS = $(LIBCURL_IMP_LIB_REL) $(SSL_LIBS) $(ZLIB_IMP_LIBS)
\r
274 LINKLIBS_DEBUG = $(LIBCURL_IMP_LIB_DBG) $(SSL_LIBS) $(ZLIB_IMP_LIBS)
\r
275 LFLAGS = $(LFLAGS) $(SSL_IMP_LFLAGS) $(ZLIB_LFLAGS)
\r
279 LINKLIBS = $(LINKLIBS) ws2_32.lib wldap32.lib
\r
280 LINKLIBS_DEBUG = $(LINKLIBS_DEBUG) ws2_32.lib wldap32.lib
\r
284 release: $(RELEASE_OBJS)
\r
285 $(LINKR) $(LFLAGS) $(LINKLIBS) $(RELEASE_OBJS)
\r
288 debug: $(DEBUG_OBJS)
\r
289 $(LINKD) $(LFLAGS) $(LINKLIBS_DEBUG) $(DEBUG_OBJS)
\r
293 hugehelpr.obj: hugehelp.c
\r
294 $(CCR) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
\r
295 writeoutr.obj: writeout.c
\r
296 $(CCR) $(CFLAGS) /Fo"$@" writeout.c
\r
297 urlglobr.obj: urlglob.c
\r
298 $(CCR) $(CFLAGS) /Fo"$@" urlglob.c
\r
299 getpassr.obj: getpass.c
\r
300 $(CCR) $(CFLAGS) /Fo"$@" getpass.c
\r
301 homedirr.obj: homedir.c
\r
302 $(CCR) $(CFLAGS) /Fo"$@" homedir.c
\r
303 curlutilr.obj: curlutil.c
\r
304 $(CCR) $(CFLAGS) /Fo"$@" curlutil.c
\r
305 os-specificr.obj: os-specific.c
\r
306 $(CCR) $(CFLAGS) /Fo"$@" os-specific.c
\r
307 nonblockr.obj: ../lib/nonblock.c
\r
308 $(CCR) $(CFLAGS) /Fo"$@" ../lib/nonblock.c
\r
309 rawstrr.obj: ../lib/rawstr.c
\r
310 $(CCR) $(CFLAGS) /Fo"$@" ../lib/rawstr.c
\r
311 strtoofftr.obj: ../lib/strtoofft.c
\r
312 $(CCR) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
\r
313 tool_cfgabler.obj: tool_cfgable.c
\r
314 $(CCR) $(CFLAGS) /Fo"$@" tool_cfgable.c
\r
315 tool_convertr.obj: tool_convert.c
\r
316 $(CCR) $(CFLAGS) /Fo"$@" tool_convert.c
\r
317 tool_mfilesr.obj: tool_mfiles.c
\r
318 $(CCR) $(CFLAGS) /Fo"$@" tool_mfiles.c
\r
319 tool_myfuncr.obj: tool_myfunc.c
\r
320 $(CCR) $(CFLAGS) /Fo"$@" tool_myfunc.c
\r
321 xattrr.obj: xattr.c
\r
322 $(CCR) $(CFLAGS) /Fo"$@" xattr.c
\r
324 $(CCR) $(CFLAGS) /Fo"$@" main.c
\r
325 curlr.res : curl.rc
\r
326 $(RCR) $(RESFLAGS) /Fo"$@" curl.rc
\r
329 hugehelpd.obj: hugehelp.c
\r
330 $(CCD) $(CFLAGS) /Zm200 /Fo"$@" hugehelp.c
\r
331 writeoutd.obj: writeout.c
\r
332 $(CCD) $(CFLAGS) /Fo"$@" writeout.c
\r
333 urlglobd.obj: urlglob.c
\r
334 $(CCD) $(CFLAGS) /Fo"$@" urlglob.c
\r
335 getpassd.obj: getpass.c
\r
336 $(CCD) $(CFLAGS) /Fo"$@" getpass.c
\r
337 homedird.obj: homedir.c
\r
338 $(CCD) $(CFLAGS) /Fo"$@" homedir.c
\r
339 curlutild.obj: curlutil.c
\r
340 $(CCD) $(CFLAGS) /Fo"$@" curlutil.c
\r
341 os-specificd.obj: os-specific.c
\r
342 $(CCD) $(CFLAGS) /Fo"$@" os-specific.c
\r
343 nonblockd.obj: ../lib/nonblock.c
\r
344 $(CCD) $(CFLAGS) /Fo"$@" ../lib/nonblock.c
\r
345 rawstrd.obj: ../lib/rawstr.c
\r
346 $(CCD) $(CFLAGS) /Fo"$@" ../lib/rawstr.c
\r
347 strtoofftd.obj: ../lib/strtoofft.c
\r
348 $(CCD) $(CFLAGS) /Fo"$@" ../lib/strtoofft.c
\r
349 tool_cfgabled.obj: tool_cfgable.c
\r
350 $(CCD) $(CFLAGS) /Fo"$@" tool_cfgable.c
\r
351 tool_convertd.obj: tool_convert.c
\r
352 $(CCD) $(CFLAGS) /Fo"$@" tool_convert.c
\r
353 tool_mfilesd.obj: tool_mfiles.c
\r
354 $(CCD) $(CFLAGS) /Fo"$@" tool_mfiles.c
\r
355 tool_myfuncd.obj: tool_myfunc.c
\r
356 $(CCD) $(CFLAGS) /Fo"$@" tool_myfunc.c
\r
357 xattrd.obj: xattr.c
\r
358 $(CCD) $(CFLAGS) /Fo"$@" xattr.c
\r
360 $(CCD) $(CFLAGS) /Fo"$@" main.c
\r
361 curld.res : curl.rc
\r
362 $(RCD) $(RESFLAGS) /Fo"$@" curl.rc
\r
365 @-erase $(PROGRAM_NAME) 2> NUL
\r
366 @-erase $(RELEASE_OBJS) 2> NUL
\r
367 @-erase $(DEBUG_OBJS) 2> NUL
\r
368 @-erase *.idb 2> NUL
\r
369 @-erase *.pdb 2> NUL
\r
370 @-erase *.pch 2> NUL
\r
371 @-erase *.ilk 2> NUL
\r