Makefile.vc6 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. #***************************************************************************
  2. # _ _ ____ _
  3. # Project ___| | | | _ \| |
  4. # / __| | | | |_) | |
  5. # | (__| |_| | _ <| |___
  6. # \___|\___/|_| \_\_____|
  7. #
  8. # Copyright (C) 1999 - 2014, 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 ..\winbuild\Makefile.msvc.names
  60. !IFNDEF OPENSSL_PATH
  61. OPENSSL_PATH = ../../openssl-0.9.8y
  62. !ENDIF
  63. !IFNDEF LIBSSH2_PATH
  64. LIBSSH2_PATH = ../../libssh2-1.4.3
  65. !ENDIF
  66. !IFNDEF ZLIB_PATH
  67. ZLIB_PATH = ../../zlib-1.2.8
  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 /DUSE_OPENSSL /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
  94. CFLAGSWINSSL = /DUSE_SCHANNEL
  95. CFLAGSSSH2 = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 /DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I "$(LIBSSH2_PATH)/include"
  96. CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
  97. CFLAGS = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL /D_BIND_TO_CURRENT_VCLIBS_VERSION=1
  98. CFLAGSLIB = /DCURL_STATICLIB
  99. LNKDLL = link.exe /DLL
  100. LNKLIB = link.exe /lib
  101. LFLAGS = /nologo /machine:$(MACHINE)
  102. SSLLIBS = libeay32.lib ssleay32.lib
  103. ZLIBLIBSDLL = zdll.lib
  104. ZLIBLIBS = zlib.lib
  105. WINLIBS = ws2_32.lib wldap32.lib advapi32.lib
  106. CFLAGS = $(CFLAGS)
  107. CFGSET = FALSE
  108. !IFDEF WINDOWS_SSPI
  109. CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
  110. !ENDIF
  111. !IFDEF USE_IPV6
  112. CFLAGS = $(CFLAGS) /DUSE_IPV6
  113. !ENDIF
  114. ##############################################################
  115. # Runtime library configuration
  116. RTLIB = /MD
  117. RTLIBD = /MDd
  118. !IF "$(RTLIBCFG)" == "static"
  119. RTLIB = /MT
  120. RTLIBD = /MTd
  121. !ENDIF
  122. ######################
  123. # release
  124. !IF "$(CFG)" == "release"
  125. TARGET = $(LIBCURL_STA_LIB_REL)
  126. DIROBJ = $(CFG)
  127. LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
  128. CC = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
  129. CFGSET = TRUE
  130. !ENDIF
  131. ######################
  132. # release-ssl
  133. !IF "$(CFG)" == "release-ssl"
  134. TARGET = $(LIBCURL_STA_LIB_REL)
  135. DIROBJ = $(CFG)
  136. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  137. LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  138. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
  139. CFGSET = TRUE
  140. !ENDIF
  141. ######################
  142. # release-winssl
  143. !IF "$(CFG)" == "release-winssl"
  144. TARGET = $(LIBCURL_STA_LIB_REL)
  145. DIROBJ = $(CFG)
  146. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  147. LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
  148. CC = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSLIB)
  149. CFGSET = TRUE
  150. !ENDIF
  151. ######################
  152. # release-zlib
  153. !IF "$(CFG)" == "release-zlib"
  154. TARGET = $(LIBCURL_STA_LIB_REL)
  155. DIROBJ = $(CFG)
  156. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  157. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  158. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
  159. CFGSET = TRUE
  160. !ENDIF
  161. ######################
  162. # release-ssl-zlib
  163. !IF "$(CFG)" == "release-ssl-zlib"
  164. TARGET = $(LIBCURL_STA_LIB_REL)
  165. DIROBJ = $(CFG)
  166. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  167. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  168. LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  169. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  170. CFGSET = TRUE
  171. !ENDIF
  172. ######################
  173. # release-winssl-zlib
  174. !IF "$(CFG)" == "release-winssl-zlib"
  175. TARGET = $(LIBCURL_STA_LIB_REL)
  176. DIROBJ = $(CFG)
  177. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  178. LNK = $(LNKLIB) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  179. CC = $(CCNODBG) $(RTLIB) $(CFLAGSWINSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  180. CFGSET = TRUE
  181. !ENDIF
  182. ######################
  183. # release-ssl-ssh2-zlib
  184. !IF "$(CFG)" == "release-ssl-ssh2-zlib"
  185. TARGET = $(LIBCURL_STA_LIB_REL)
  186. DIROBJ = $(CFG)
  187. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  188. LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
  189. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  190. LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  191. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
  192. CFGSET = TRUE
  193. !ENDIF
  194. ######################
  195. # release-ssl-dll
  196. !IF "$(CFG)" == "release-ssl-dll"
  197. TARGET = $(LIBCURL_STA_LIB_REL)
  198. DIROBJ = $(CFG)
  199. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  200. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  201. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
  202. CFGSET = TRUE
  203. !ENDIF
  204. ######################
  205. # release-zlib-dll
  206. !IF "$(CFG)" == "release-zlib-dll"
  207. TARGET = $(LIBCURL_STA_LIB_REL)
  208. DIROBJ = $(CFG)
  209. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  210. LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  211. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
  212. CFGSET = TRUE
  213. !ENDIF
  214. ######################
  215. # release-ssl-dll-zlib-dll
  216. !IF "$(CFG)" == "release-ssl-dll-zlib-dll"
  217. TARGET = $(LIBCURL_STA_LIB_REL)
  218. DIROBJ = $(CFG)
  219. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  220. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  221. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  222. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  223. CFGSET = TRUE
  224. !ENDIF
  225. ######################
  226. # release-dll
  227. !IF "$(CFG)" == "release-dll"
  228. TARGET = $(LIBCURL_DYN_LIB_REL)
  229. DIROBJ = $(CFG)
  230. LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  231. CC = $(CCNODBG) $(RTLIB)
  232. CFGSET = TRUE
  233. RESOURCE = $(DIROBJ)\libcurl.res
  234. !ENDIF
  235. ######################
  236. # release-dll-ssl-dll
  237. !IF "$(CFG)" == "release-dll-ssl-dll"
  238. TARGET = $(LIBCURL_DYN_LIB_REL)
  239. DIROBJ = $(CFG)
  240. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  241. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  242. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
  243. CFGSET = TRUE
  244. RESOURCE = $(DIROBJ)\libcurl.res
  245. !ENDIF
  246. ######################
  247. # release-dll-zlib-dll
  248. !IF "$(CFG)" == "release-dll-zlib-dll"
  249. TARGET = $(LIBCURL_DYN_LIB_REL)
  250. DIROBJ = $(CFG)
  251. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  252. LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  253. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
  254. CFGSET = TRUE
  255. RESOURCE = $(DIROBJ)\libcurl.res
  256. !ENDIF
  257. ######################
  258. # release-dll-ssl-dll-zlib-dll
  259. !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
  260. TARGET = $(LIBCURL_DYN_LIB_REL)
  261. DIROBJ = $(CFG)
  262. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  263. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  264. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_REL)
  265. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
  266. CFGSET = TRUE
  267. RESOURCE = $(DIROBJ)\libcurl.res
  268. !ENDIF
  269. ######################
  270. # debug
  271. !IF "$(CFG)" == "debug"
  272. TARGET = $(LIBCURL_STA_LIB_DBG)
  273. DIROBJ = $(CFG)
  274. LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
  275. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
  276. CFGSET = TRUE
  277. !ENDIF
  278. ######################
  279. # debug-ssl
  280. !IF "$(CFG)" == "debug-ssl"
  281. TARGET = $(LIBCURL_STA_LIB_DBG)
  282. DIROBJ = $(CFG)
  283. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  284. LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  285. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
  286. CFGSET = TRUE
  287. !ENDIF
  288. ######################
  289. # debug-zlib
  290. !IF "$(CFG)" == "debug-zlib"
  291. TARGET = $(LIBCURL_STA_LIB_DBG)
  292. DIROBJ = $(CFG)
  293. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  294. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  295. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
  296. CFGSET = TRUE
  297. !ENDIF
  298. ######################
  299. # debug-ssl-zlib
  300. !IF "$(CFG)" == "debug-ssl-zlib"
  301. TARGET = $(LIBCURL_STA_LIB_DBG)
  302. DIROBJ = $(CFG)
  303. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  304. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  305. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  306. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  307. CFGSET = TRUE
  308. !ENDIF
  309. ######################
  310. # debug-ssl-ssh2-zlib
  311. !IF "$(CFG)" == "debug-ssl-ssh2-zlib"
  312. TARGET = $(LIBCURL_STA_LIB_DBG)
  313. DIROBJ = $(CFG)
  314. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  315. LFLAGSSSH2 = "/LIBPATH:$(LIBSSH2_PATH)"
  316. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  317. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSSSH2) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  318. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSSSH2) $(CFLAGSZLIB) $(CFLAGSLIB)
  319. CFGSET = TRUE
  320. !ENDIF
  321. ######################
  322. # debug-ssl-dll
  323. !IF "$(CFG)" == "debug-ssl-dll"
  324. TARGET = $(LIBCURL_STA_LIB_DBG)
  325. DIROBJ = $(CFG)
  326. LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
  327. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  328. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
  329. CFGSET = TRUE
  330. !ENDIF
  331. ######################
  332. # debug-zlib-dll
  333. !IF "$(CFG)" == "debug-zlib-dll"
  334. TARGET = $(LIBCURL_STA_LIB_DBG)
  335. DIROBJ = $(CFG)
  336. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  337. LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  338. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
  339. CFGSET = TRUE
  340. !ENDIF
  341. ######################
  342. # debug-ssl-dll-zlib-dll
  343. !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
  344. TARGET = $(LIBCURL_STA_LIB_DBG)
  345. DIROBJ = $(CFG)
  346. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  347. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  348. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  349. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  350. CFGSET = TRUE
  351. !ENDIF
  352. ######################
  353. # debug-dll
  354. !IF "$(CFG)" == "debug-dll"
  355. TARGET = $(LIBCURL_DYN_LIB_DBG)
  356. DIROBJ = $(CFG)
  357. LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  358. CC = $(CCDEBUG) $(RTLIBD)
  359. CFGSET = TRUE
  360. RESOURCE = $(DIROBJ)\libcurl.res
  361. !ENDIF
  362. ######################
  363. # debug-dll-ssl-dll
  364. !IF "$(CFG)" == "debug-dll-ssl-dll"
  365. TARGET = $(LIBCURL_DYN_LIB_DBG)
  366. DIROBJ = $(CFG)
  367. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  368. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  369. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
  370. CFGSET = TRUE
  371. RESOURCE = $(DIROBJ)\libcurl.res
  372. !ENDIF
  373. ######################
  374. # debug-dll-zlib-dll
  375. !IF "$(CFG)" == "debug-dll-zlib-dll"
  376. TARGET = $(LIBCURL_DYN_LIB_DBG)
  377. DIROBJ = $(CFG)
  378. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  379. LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  380. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
  381. CFGSET = TRUE
  382. RESOURCE = $(DIROBJ)\libcurl.res
  383. !ENDIF
  384. ######################
  385. # debug-dll-ssl-dll-zlib-dll
  386. !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
  387. TARGET = $(LIBCURL_DYN_LIB_DBG)
  388. DIROBJ = $(CFG)
  389. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  390. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  391. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) /PDB:$(DIROBJ)\$(LIBCURL_DYN_LIB_PDB)
  392. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
  393. CFGSET = TRUE
  394. RESOURCE = $(DIROBJ)\libcurl.res
  395. !ENDIF
  396. #######################
  397. # Usage
  398. #
  399. !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
  400. !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
  401. !MESSAGE where <config> is one of:
  402. !MESSAGE release - release static library
  403. !MESSAGE release-ssl - release static library with ssl
  404. !MESSAGE release-zlib - release static library with zlib
  405. !MESSAGE release-ssl-zlib - release static library with ssl and zlib
  406. !MESSAGE release-ssl-ssh2-zlib - release static library with ssl, ssh2 and zlib
  407. !MESSAGE release-ssl-dll - release static library with dynamic ssl
  408. !MESSAGE release-zlib-dll - release static library with dynamic zlib
  409. !MESSAGE release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib
  410. !MESSAGE release-dll - release dynamic library
  411. !MESSAGE release-dll-ssl-dll - release dynamic library with dynamic ssl
  412. !MESSAGE release-dll-zlib-dll - release dynamic library with dynamic zlib
  413. !MESSAGE release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
  414. !MESSAGE debug - debug static library
  415. !MESSAGE debug-ssl - debug static library with ssl
  416. !MESSAGE debug-zlib - debug static library with zlib
  417. !MESSAGE debug-ssl-zlib - debug static library with ssl and zlib
  418. !MESSAGE debug-ssl-ssh2-zlib - debug static library with ssl, ssh2 and zlib
  419. !MESSAGE debug-ssl-dll - debug static library with dynamic ssl
  420. !MESSAGE debug-zlib-dll - debug static library with dynamic zlib
  421. !MESSAGE debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib
  422. !MESSAGE debug-dll - debug dynamic library
  423. !MESSAGE debug-dll-ssl-dll - debug dynamic library with dynamic ssl
  424. !MESSAGE debug-dll-zlib-dll - debug dynamic library with dynamic zlib1
  425. !MESSAGE debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib
  426. !MESSAGE <target> can be left blank in which case all is assumed
  427. !ERROR please choose a valid configuration "$(CFG)"
  428. !ENDIF
  429. #######################
  430. # Only the clean target can be used if a config was not provided.
  431. #
  432. !IF "$(CFGSET)" == "FALSE"
  433. clean:
  434. @-erase /s *.dll 2> NUL
  435. @-erase /s *.exp 2> NUL
  436. @-erase /s *.idb 2> NUL
  437. @-erase /s *.lib 2> NUL
  438. @-erase /s *.obj 2> NUL
  439. @-erase /s *.pch 2> NUL
  440. @-erase /s *.pdb 2> NUL
  441. @-erase /s *.res 2> NUL
  442. !ELSE
  443. # A config was provided, so the library can be built.
  444. #
  445. X_OBJS= \
  446. $(DIROBJ)\amigaos.obj \
  447. $(DIROBJ)\asyn-ares.obj \
  448. $(DIROBJ)\asyn-thread.obj \
  449. $(DIROBJ)\axtls.obj \
  450. $(DIROBJ)\base64.obj \
  451. $(DIROBJ)\bundles.obj \
  452. $(DIROBJ)\conncache.obj \
  453. $(DIROBJ)\connect.obj \
  454. $(DIROBJ)\content_encoding.obj \
  455. $(DIROBJ)\cookie.obj \
  456. $(DIROBJ)\curl_addrinfo.obj \
  457. $(DIROBJ)\curl_darwinssl.obj \
  458. $(DIROBJ)\curl_fnmatch.obj \
  459. $(DIROBJ)\curl_gethostname.obj \
  460. $(DIROBJ)\curl_gssapi.obj \
  461. $(DIROBJ)\curl_memrchr.obj \
  462. $(DIROBJ)\curl_multibyte.obj \
  463. $(DIROBJ)\curl_ntlm.obj \
  464. $(DIROBJ)\curl_ntlm_core.obj \
  465. $(DIROBJ)\curl_ntlm_msgs.obj \
  466. $(DIROBJ)\curl_ntlm_wb.obj \
  467. $(DIROBJ)\curl_rtmp.obj \
  468. $(DIROBJ)\curl_sasl.obj \
  469. $(DIROBJ)\curl_sasl_sspi.obj \
  470. $(DIROBJ)\curl_schannel.obj \
  471. $(DIROBJ)\curl_sspi.obj \
  472. $(DIROBJ)\curl_threads.obj \
  473. $(DIROBJ)\cyassl.obj \
  474. $(DIROBJ)\dict.obj \
  475. $(DIROBJ)\dotdot.obj \
  476. $(DIROBJ)\easy.obj \
  477. $(DIROBJ)\escape.obj \
  478. $(DIROBJ)\file.obj \
  479. $(DIROBJ)\fileinfo.obj \
  480. $(DIROBJ)\formdata.obj \
  481. $(DIROBJ)\ftp.obj \
  482. $(DIROBJ)\ftplistparser.obj \
  483. $(DIROBJ)\getenv.obj \
  484. $(DIROBJ)\getinfo.obj \
  485. $(DIROBJ)\gopher.obj \
  486. $(DIROBJ)\gtls.obj \
  487. $(DIROBJ)\hash.obj \
  488. $(DIROBJ)\hmac.obj \
  489. $(DIROBJ)\hostasyn.obj \
  490. $(DIROBJ)\hostcheck.obj \
  491. $(DIROBJ)\hostip.obj \
  492. $(DIROBJ)\hostip4.obj \
  493. $(DIROBJ)\hostip6.obj \
  494. $(DIROBJ)\hostsyn.obj \
  495. $(DIROBJ)\http.obj \
  496. $(DIROBJ)\http_chunks.obj \
  497. $(DIROBJ)\http_digest.obj \
  498. $(DIROBJ)\http_negotiate.obj \
  499. $(DIROBJ)\http_negotiate_sspi.obj \
  500. $(DIROBJ)\http_proxy.obj \
  501. $(DIROBJ)\idn_win32.obj \
  502. $(DIROBJ)\if2ip.obj \
  503. $(DIROBJ)\imap.obj \
  504. $(DIROBJ)\inet_ntop.obj \
  505. $(DIROBJ)\inet_pton.obj \
  506. $(DIROBJ)\krb5.obj \
  507. $(DIROBJ)\ldap.obj \
  508. $(DIROBJ)\llist.obj \
  509. $(DIROBJ)\md4.obj \
  510. $(DIROBJ)\md5.obj \
  511. $(DIROBJ)\memdebug.obj \
  512. $(DIROBJ)\mprintf.obj \
  513. $(DIROBJ)\multi.obj \
  514. $(DIROBJ)\netrc.obj \
  515. $(DIROBJ)\non-ascii.obj \
  516. $(DIROBJ)\nonblock.obj \
  517. $(DIROBJ)\nss.obj \
  518. $(DIROBJ)\openldap.obj \
  519. $(DIROBJ)\parsedate.obj \
  520. $(DIROBJ)\pingpong.obj \
  521. $(DIROBJ)\pipeline.obj \
  522. $(DIROBJ)\polarssl.obj \
  523. $(DIROBJ)\polarssl_threadlock.obj \
  524. $(DIROBJ)\pop3.obj \
  525. $(DIROBJ)\progress.obj \
  526. $(DIROBJ)\rawstr.obj \
  527. $(DIROBJ)\rtsp.obj \
  528. $(DIROBJ)\security.obj \
  529. $(DIROBJ)\select.obj \
  530. $(DIROBJ)\sendf.obj \
  531. $(DIROBJ)\share.obj \
  532. $(DIROBJ)\slist.obj \
  533. $(DIROBJ)\smtp.obj \
  534. $(DIROBJ)\socks.obj \
  535. $(DIROBJ)\socks_gssapi.obj \
  536. $(DIROBJ)\socks_sspi.obj \
  537. $(DIROBJ)\speedcheck.obj \
  538. $(DIROBJ)\splay.obj \
  539. $(DIROBJ)\ssh.obj \
  540. $(DIROBJ)\vtls.obj \
  541. $(DIROBJ)\openssl.obj \
  542. $(DIROBJ)\strdup.obj \
  543. $(DIROBJ)\strequal.obj \
  544. $(DIROBJ)\strerror.obj \
  545. $(DIROBJ)\strtok.obj \
  546. $(DIROBJ)\strtoofft.obj \
  547. $(DIROBJ)\telnet.obj \
  548. $(DIROBJ)\tftp.obj \
  549. $(DIROBJ)\timeval.obj \
  550. $(DIROBJ)\transfer.obj \
  551. $(DIROBJ)\url.obj \
  552. $(DIROBJ)\version.obj \
  553. $(DIROBJ)\warnless.obj \
  554. $(DIROBJ)\wildcard.obj \
  555. $(RESOURCE)
  556. all : $(TARGET)
  557. $(TARGET): $(X_OBJS)
  558. $(LNK) $(LFLAGS) $(X_OBJS)
  559. -xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_REL) . /y
  560. -xcopy $(DIROBJ)\$(LIBCURL_STA_LIB_DBG) . /y
  561. -xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_REL) . /y
  562. -xcopy $(DIROBJ)\$(LIBCURL_DYN_LIB_DBG) . /y
  563. -xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_REL) . /y
  564. -xcopy $(DIROBJ)\$(LIBCURL_IMP_LIB_DBG) . /y
  565. -xcopy $(DIROBJ)\*.exp . /y
  566. -xcopy $(DIROBJ)\*.pdb . /y
  567. $(X_OBJS): $(DIROBJ)
  568. $(DIROBJ):
  569. @if not exist "$(DIROBJ)" mkdir $(DIROBJ)
  570. .SUFFIXES: .c .obj .res
  571. {.\}.c{$(DIROBJ)\}.obj:
  572. $(CC) $(CFLAGS) /Fo"$@" $<
  573. {.\vtls\}.c{$(DIROBJ)\}.obj:
  574. $(CC) $(CFLAGS) /Fo"$@" $<
  575. debug-dll\libcurl.res \
  576. debug-dll-ssl-dll\libcurl.res \
  577. debug-dll-zlib-dll\libcurl.res \
  578. debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
  579. rc /dDEBUGBUILD=1 /Fo $@ libcurl.rc
  580. release-dll\libcurl.res \
  581. release-dll-ssl-dll\libcurl.res \
  582. release-dll-zlib-dll\libcurl.res \
  583. release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
  584. rc /dDEBUGBUILD=0 /Fo $@ libcurl.rc
  585. !ENDIF # End of case where a config was provided.