2
0

Makefile.vc6 20 KB

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