Makefile.vc6 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624
  1. #***************************************************************************
  2. # _ _ ____ _
  3. # Project ___| | | | _ \| |
  4. # / __| | | | |_) | |
  5. # | (__| |_| | _ <| |___
  6. # \___|\___/|_| \_\_____|
  7. #
  8. # Copyright (C) 1999 - 2011, 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. # fiels 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.8r
  62. !ENDIF
  63. !IFNDEF LIBSSH2_PATH
  64. LIBSSH2_PATH = ../../libssh2-1.2.8
  65. !ENDIF
  66. !IFNDEF ZLIB_PATH
  67. ZLIB_PATH = ../../zlib-1.2.5
  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-dll
  163. !IF "$(CFG)" == "release-ssl-dll"
  164. TARGET = $(LIBCURL_STA_LIB_REL)
  165. DIROBJ = $(CFG)
  166. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  167. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  168. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
  169. CFGSET = TRUE
  170. !ENDIF
  171. ######################
  172. # release-zlib-dll
  173. !IF "$(CFG)" == "release-zlib-dll"
  174. TARGET = $(LIBCURL_STA_LIB_REL)
  175. DIROBJ = $(CFG)
  176. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  177. LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  178. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
  179. CFGSET = TRUE
  180. !ENDIF
  181. ######################
  182. # release-ssl-dll-zlib-dll
  183. !IF "$(CFG)" == "release-ssl-dll-zlib-dll"
  184. TARGET = $(LIBCURL_STA_LIB_REL)
  185. DIROBJ = $(CFG)
  186. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  187. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  188. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  189. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  190. CFGSET = TRUE
  191. !ENDIF
  192. ######################
  193. # release-ssl-ssh2-zlib
  194. !IF "$(CFG)" == "release-ssl-ssh2-zlib"
  195. TARGET = $(LIB_NAME).lib
  196. DIROBJ = $(CFG)
  197. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  198. LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
  199. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  200. LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  201. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
  202. CFGSET = TRUE
  203. RESOURCE = $(LIBSSH2_PATH)/Release/src/libssh2.lib $(ZLIB_PATH)/zlib.lib
  204. !ENDIF
  205. ######################
  206. # debug-ssl-ssh2-zlib
  207. !IF "$(CFG)" == "debug-ssl-ssh2-zlib"
  208. TARGET = $(LIB_NAME_DEBUG).lib
  209. DIROBJ = $(CFG)
  210. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  211. LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
  212. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  213. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  214. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
  215. CFGSET = TRUE
  216. RESOURCE = $(LIBSSH2_PATH)/Release/src/libssh2.lib $(ZLIB_PATH)/zlib.lib
  217. !ENDIF
  218. ######################
  219. # release-dll
  220. !IF "$(CFG)" == "release-dll"
  221. TARGET = $(LIBCURL_DYN_LIB_REL)
  222. DIROBJ = $(CFG)
  223. LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  224. CC = $(CCNODBG) $(RTLIB)
  225. CFGSET = TRUE
  226. RESOURCE = $(DIROBJ)\libcurl.res
  227. !ENDIF
  228. ######################
  229. # release-dll-ssl-dll
  230. !IF "$(CFG)" == "release-dll-ssl-dll"
  231. TARGET = $(LIBCURL_DYN_LIB_REL)
  232. DIROBJ = $(CFG)
  233. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  234. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  235. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
  236. CFGSET = TRUE
  237. RESOURCE = $(DIROBJ)\libcurl.res
  238. !ENDIF
  239. ######################
  240. # release-dll-zlib-dll
  241. !IF "$(CFG)" == "release-dll-zlib-dll"
  242. TARGET = $(LIBCURL_DYN_LIB_REL)
  243. DIROBJ = $(CFG)
  244. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  245. LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  246. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
  247. CFGSET = TRUE
  248. RESOURCE = $(DIROBJ)\libcurl.res
  249. !ENDIF
  250. ######################
  251. # release-dll-ssl-dll-zlib-dll
  252. !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
  253. TARGET = $(LIBCURL_DYN_LIB_REL)
  254. DIROBJ = $(CFG)
  255. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  256. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  257. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  258. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
  259. CFGSET = TRUE
  260. RESOURCE = $(DIROBJ)\libcurl.res
  261. !ENDIF
  262. ######################
  263. # debug
  264. !IF "$(CFG)" == "debug"
  265. TARGET = $(LIBCURL_STA_LIB_DBG)
  266. DIROBJ = $(CFG)
  267. LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
  268. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
  269. CFGSET = TRUE
  270. !ENDIF
  271. ######################
  272. # debug-ssl
  273. !IF "$(CFG)" == "debug-ssl"
  274. TARGET = $(LIBCURL_STA_LIB_DBG)
  275. DIROBJ = $(CFG)
  276. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  277. LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  278. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
  279. CFGSET = TRUE
  280. !ENDIF
  281. ######################
  282. # debug-zlib
  283. !IF "$(CFG)" == "debug-zlib"
  284. TARGET = $(LIBCURL_STA_LIB_DBG)
  285. DIROBJ = $(CFG)
  286. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  287. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  288. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
  289. CFGSET = TRUE
  290. !ENDIF
  291. ######################
  292. # debug-ssl-zlib
  293. !IF "$(CFG)" == "debug-ssl-zlib"
  294. TARGET = $(LIBCURL_STA_LIB_DBG)
  295. DIROBJ = $(CFG)
  296. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  297. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  298. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  299. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  300. CFGSET = TRUE
  301. !ENDIF
  302. ######################
  303. # debug-ssl-dll
  304. !IF "$(CFG)" == "debug-ssl-dll"
  305. TARGET = $(LIBCURL_STA_LIB_DBG)
  306. DIROBJ = $(CFG)
  307. LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
  308. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  309. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
  310. CFGSET = TRUE
  311. !ENDIF
  312. ######################
  313. # debug-zlib-dll
  314. !IF "$(CFG)" == "debug-zlib-dll"
  315. TARGET = $(LIBCURL_STA_LIB_DBG)
  316. DIROBJ = $(CFG)
  317. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  318. LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  319. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
  320. CFGSET = TRUE
  321. !ENDIF
  322. ######################
  323. # debug-ssl-dll-zlib-dll
  324. !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
  325. TARGET = $(LIBCURL_STA_LIB_DBG)
  326. DIROBJ = $(CFG)
  327. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  328. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  329. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  330. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  331. CFGSET = TRUE
  332. !ENDIF
  333. ######################
  334. # debug-dll
  335. !IF "$(CFG)" == "debug-dll"
  336. TARGET = $(LIBCURL_DYN_LIB_DBG)
  337. DIROBJ = $(CFG)
  338. LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  339. CC = $(CCDEBUG) $(RTLIBD)
  340. CFGSET = TRUE
  341. RESOURCE = $(DIROBJ)\libcurl.res
  342. !ENDIF
  343. ######################
  344. # debug-dll-ssl-dll
  345. !IF "$(CFG)" == "debug-dll-ssl-dll"
  346. TARGET = $(LIBCURL_DYN_LIB_DBG)
  347. DIROBJ = $(CFG)
  348. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  349. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  350. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
  351. CFGSET = TRUE
  352. RESOURCE = $(DIROBJ)\libcurl.res
  353. !ENDIF
  354. ######################
  355. # debug-dll-zlib-dll
  356. !IF "$(CFG)" == "debug-dll-zlib-dll"
  357. TARGET = $(LIBCURL_DYN_LIB_DBG)
  358. DIROBJ = $(CFG)
  359. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  360. LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  361. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
  362. CFGSET = TRUE
  363. RESOURCE = $(DIROBJ)\libcurl.res
  364. !ENDIF
  365. ######################
  366. # debug-dll-ssl-dll-zlib-dll
  367. !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
  368. TARGET = $(LIBCURL_DYN_LIB_DBG)
  369. DIROBJ = $(CFG)
  370. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  371. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  372. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  373. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
  374. CFGSET = TRUE
  375. RESOURCE = $(DIROBJ)\libcurl.res
  376. !ENDIF
  377. #######################
  378. # Usage
  379. #
  380. !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
  381. !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
  382. !MESSAGE where <config> is one of:
  383. !MESSAGE release - release static library
  384. !MESSAGE release-ssl - release static library with ssl
  385. !MESSAGE release-zlib - release static library with zlib
  386. !MESSAGE release-ssl-zlib - release static library with ssl and zlib
  387. !MESSAGE release-ssl-ssh2-zlib - release static library with ssl, ssh2 and zlib
  388. !MESSAGE release-ssl-dll - release static library with dynamic ssl
  389. !MESSAGE release-zlib-dll - release static library with dynamic zlib
  390. !MESSAGE release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib
  391. !MESSAGE release-dll - release dynamic library
  392. !MESSAGE release-dll-ssl-dll - release dynamic library with dynamic ssl
  393. !MESSAGE release-dll-zlib-dll - release dynamic library with dynamic zlib
  394. !MESSAGE release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
  395. !MESSAGE debug-ssl-ssh2-zlib - debug static library with ssl, ssh2 and zlib
  396. !MESSAGE debug - debug static library
  397. !MESSAGE debug-ssl - debug static library with ssl
  398. !MESSAGE debug-zlib - debug static library with zlib
  399. !MESSAGE debug-ssl-zlib - debug static library with ssl and zlib
  400. !MESSAGE debug-ssl-dll - debug static library with dynamic ssl
  401. !MESSAGE debug-zlib-dll - debug static library with dynamic zlib
  402. !MESSAGE debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib
  403. !MESSAGE debug-dll - debug dynamic library
  404. !MESSAGE debug-dll-ssl-dll - debug dynamic library with dynamic ssl
  405. !MESSAGE debug-dll-zlib-dll - debug dynamic library with dynamic zlib1
  406. !MESSAGE debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib
  407. !MESSAGE <target> can be left blank in which case all is assumed
  408. !ERROR please choose a valid configuration "$(CFG)"
  409. !ENDIF
  410. #######################
  411. # Only the clean target can be used if a config was not provided.
  412. #
  413. !IF "$(CFGSET)" == "FALSE"
  414. clean:
  415. @-erase /s *.dll 2> NUL
  416. @-erase /s *.exp 2> NUL
  417. @-erase /s *.idb 2> NUL
  418. @-erase /s *.lib 2> NUL
  419. @-erase /s *.obj 2> NUL
  420. @-erase /s *.pch 2> NUL
  421. @-erase /s *.pdb 2> NUL
  422. @-erase /s *.res 2> NUL
  423. !ELSE
  424. # A config was provided, so the library can be built.
  425. #
  426. X_OBJS= \
  427. $(DIROBJ)\asyn-ares.obj \
  428. $(DIROBJ)\asyn-thread.obj \
  429. $(DIROBJ)\base64.obj \
  430. $(DIROBJ)\connect.obj \
  431. $(DIROBJ)\content_encoding.obj \
  432. $(DIROBJ)\cookie.obj \
  433. $(DIROBJ)\curl_addrinfo.obj \
  434. $(DIROBJ)\curl_fnmatch.obj \
  435. $(DIROBJ)\curl_gethostname.obj \
  436. $(DIROBJ)\curl_memrchr.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_sspi.obj \
  444. $(DIROBJ)\curl_threads.obj \
  445. $(DIROBJ)\dict.obj \
  446. $(DIROBJ)\easy.obj \
  447. $(DIROBJ)\escape.obj \
  448. $(DIROBJ)\fileinfo.obj \
  449. $(DIROBJ)\file.obj \
  450. $(DIROBJ)\formdata.obj \
  451. $(DIROBJ)\ftplistparser.obj \
  452. $(DIROBJ)\ftp.obj \
  453. $(DIROBJ)\getenv.obj \
  454. $(DIROBJ)\getinfo.obj \
  455. $(DIROBJ)\gopher.obj \
  456. $(DIROBJ)\gtls.obj \
  457. $(DIROBJ)\hash.obj \
  458. $(DIROBJ)\hmac.obj \
  459. $(DIROBJ)\hostasyn.obj \
  460. $(DIROBJ)\hostip4.obj \
  461. $(DIROBJ)\hostip6.obj \
  462. $(DIROBJ)\hostip.obj \
  463. $(DIROBJ)\hostsyn.obj \
  464. $(DIROBJ)\http_chunks.obj \
  465. $(DIROBJ)\http_digest.obj \
  466. $(DIROBJ)\http_negotiate.obj \
  467. $(DIROBJ)\http_negotiate_sspi.obj \
  468. $(DIROBJ)\http.obj \
  469. $(DIROBJ)\http_proxy.obj \
  470. $(DIROBJ)\if2ip.obj \
  471. $(DIROBJ)\imap.obj \
  472. $(DIROBJ)\inet_ntop.obj \
  473. $(DIROBJ)\inet_pton.obj \
  474. $(DIROBJ)\ldap.obj \
  475. $(DIROBJ)\llist.obj \
  476. $(DIROBJ)\md4.obj \
  477. $(DIROBJ)\md5.obj \
  478. $(DIROBJ)\memdebug.obj \
  479. $(DIROBJ)\mprintf.obj \
  480. $(DIROBJ)\multi.obj \
  481. $(DIROBJ)\netrc.obj \
  482. $(DIROBJ)\nonblock.obj \
  483. $(DIROBJ)\openldap.obj \
  484. $(DIROBJ)\parsedate.obj \
  485. $(DIROBJ)\pingpong.obj \
  486. $(DIROBJ)\polarssl.obj \
  487. $(DIROBJ)\pop3.obj \
  488. $(DIROBJ)\progress.obj \
  489. $(DIROBJ)\rawstr.obj \
  490. $(DIROBJ)\rtsp.obj \
  491. $(DIROBJ)\select.obj \
  492. $(DIROBJ)\sendf.obj \
  493. $(DIROBJ)\share.obj \
  494. $(DIROBJ)\slist.obj \
  495. $(DIROBJ)\smtp.obj \
  496. $(DIROBJ)\socks_gssapi.obj \
  497. $(DIROBJ)\socks.obj \
  498. $(DIROBJ)\socks_sspi.obj \
  499. $(DIROBJ)\speedcheck.obj \
  500. $(DIROBJ)\splay.obj \
  501. $(DIROBJ)\ssh.obj \
  502. $(DIROBJ)\sslgen.obj \
  503. $(DIROBJ)\ssluse.obj \
  504. $(DIROBJ)\strequal.obj \
  505. $(DIROBJ)\strerror.obj \
  506. $(DIROBJ)\strtok.obj \
  507. $(DIROBJ)\strtoofft.obj \
  508. $(DIROBJ)\telnet.obj \
  509. $(DIROBJ)\tftp.obj \
  510. $(DIROBJ)\timeval.obj \
  511. $(DIROBJ)\transfer.obj \
  512. $(DIROBJ)\url.obj \
  513. $(DIROBJ)\version.obj \
  514. $(DIROBJ)\warnless.obj \
  515. $(DIROBJ)\wildcard.obj \
  516. $(RESOURCE)
  517. all : $(TARGET)
  518. $(TARGET): $(X_OBJS)
  519. $(LNK) $(LFLAGS) $(X_OBJS)
  520. -xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_REL) . /y
  521. -xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_DBG) . /y
  522. -xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_REL) . /y
  523. -xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_DBG) . /y
  524. -xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_REL) . /y
  525. -xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) . /y
  526. -xcopy $(DIROBJ)\*.exp . /y
  527. -xcopy $(DIROBJ)\*.pdb . /y
  528. $(X_OBJS): $(DIROBJ)
  529. $(DIROBJ):
  530. @if not exist "$(DIROBJ)" mkdir $(DIROBJ)
  531. .SUFFIXES: .c .obj .res
  532. {.\}.c{$(DIROBJ)\}.obj:
  533. $(CC) $(CFLAGS) /Fo"$@" $<
  534. debug-dll\libcurl.res \
  535. debug-dll-ssl-dll\libcurl.res \
  536. debug-dll-zlib-dll\libcurl.res \
  537. debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
  538. rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc
  539. release-dll\libcurl.res \
  540. release-dll-ssl-dll\libcurl.res \
  541. release-dll-zlib-dll\libcurl.res \
  542. release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
  543. rc /dDEBUGBUILD=0 /Fo $@ libcurl.rc
  544. !ENDIF # End of case where a config was provided.