Makefile.vc6 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. #############################################################
  2. #
  3. # Makefile for building libcurl with MSVC6
  4. #
  5. # Usage: see usage message below
  6. # Should be invoked from \lib directory
  7. # Edit the paths and desired library name
  8. # SSL path is only required if you intend compiling
  9. # with SSL.
  10. #
  11. # This make file leaves the result either a .lib or .dll file
  12. # in the \lib directory. It should be called from the \lib
  13. # directory.
  14. #
  15. # An option would have been to allow the source directory to
  16. # be specified, but I saw no requirement.
  17. #
  18. # Another option would have been to leave the .lib and .dll
  19. # files in the "cfg" directory, but then the make file
  20. # in \src would need to be changed.
  21. #
  22. ##############################################################
  23. #
  24. # Stem for static libs and DLLs
  25. #
  26. LIB_NAME = libcurl
  27. LIB_NAME_DEBUG = libcurld
  28. #
  29. # Stem for DLL import libs
  30. #
  31. IMPLIB_NAME = libcurl_imp
  32. IMPLIB_NAME_DEBUG = libcurld_imp
  33. !IFNDEF OPENSSL_PATH
  34. OPENSSL_PATH = ../../openssl-0.9.7e
  35. !ENDIF
  36. !IFNDEF ZLIB_PATH
  37. ZLIB_PATH = ../../zlib-1.2.1
  38. !ENDIF
  39. # USE_WINDOWS_SSPI uses windows libraries to allow NTLM authentication
  40. # without an openssl installation and offers the ability to authenticate
  41. # using the "current logged in user". It does however require that the
  42. # Windows SDK be installed.
  43. #
  44. # If, for some reason the Windows SDK is installed but not installed
  45. # in the default location, you can specify WINDOWS_SDK_PATH.
  46. # It can be downloaded from:
  47. # http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
  48. # USE_WINDOWS_SSPI = 1
  49. !IFDEF WINDOWS_SSPI
  50. !IFNDEF WINDOWS_SDK_PATH
  51. WINDOWS_SDK_PATH = "C:\Program Files\Microsoft SDK"
  52. !ENDIF
  53. !ENDIF
  54. # Use the high resolution time by default. Comment this out to use low
  55. # resolution time and not require winmm.lib
  56. USEMM_LIBS = YES
  57. #############################################################
  58. ## Nothing more to do below this line!
  59. CCNODBG = cl.exe /O2 /DNDEBUG
  60. CCDEBUG = cl.exe /Od /Gm /Zi /D_DEBUG /GZ
  61. CFLAGSSSL = /DUSE_SSLEAY /I "$(OPENSSL_PATH)/inc32" /I "$(OPENSSL_PATH)/inc32/openssl"
  62. CFLAGSZLIB = /DHAVE_ZLIB_H /DHAVE_ZLIB /DHAVE_LIBZ /I "$(ZLIB_PATH)"
  63. CFLAGS = /I. /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL
  64. CFLAGSLIB = /DCURL_STATICLIB
  65. LNKDLL = link.exe /DLL
  66. LNKLIB = link.exe /lib
  67. LFLAGS = /nologo
  68. SSLLIBS = libeay32.lib ssleay32.lib
  69. ZLIBLIBSDLL= zdll.lib
  70. ZLIBLIBS = zlib.lib
  71. !IFDEF USEMM_LIBS
  72. WINLIBS = wsock32.lib winmm.lib
  73. !ELSE
  74. WINLIBS = wsock32.lib
  75. CFLAGS = $(CFLAGS) /DWITHOUT_MM_LIB
  76. !ENDIF
  77. # RSAglue.lib was formerly needed in the SSLLIBS
  78. CFGSET = FALSE
  79. !IFDEF WINDOWS_SSPI
  80. CFLAGS = $(CFLAGS) /DUSE_WINDOWS_SSPI /I$(WINDOWS_SDK_PATH)\include
  81. !ENDIF
  82. ##############################################################
  83. # Runtime library configuration
  84. RTLIB = /MD
  85. RTLIBD = /MDd
  86. !IF "$(RTLIBCFG)" == "static"
  87. RTLIB = /MT
  88. RTLIBD = /MTd
  89. !ENDIF
  90. ######################
  91. # release
  92. !IF "$(CFG)" == "release"
  93. TARGET = $(LIB_NAME).lib
  94. DIROBJ = $(CFG)
  95. LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
  96. CC = $(CCNODBG) $(RTLIB) $(CFLAGSLIB)
  97. CFGSET = TRUE
  98. !ENDIF
  99. ######################
  100. # release-zlib
  101. !IF "$(CFG)" == "release-zlib"
  102. TARGET = $(LIB_NAME).lib
  103. DIROBJ = $(CFG)
  104. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  105. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  106. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
  107. CFGSET = TRUE
  108. !ENDIF
  109. ######################
  110. # release-dll
  111. !IF "$(CFG)" == "release-dll"
  112. TARGET = $(LIB_NAME).dll
  113. DIROBJ = $(CFG)
  114. LNK = $(LNKDLL) $(WINLIBS) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
  115. CC = $(CCNODBG) $(RTLIB)
  116. CFGSET = TRUE
  117. RESOURCE = $(DIROBJ)\libcurl.res
  118. !ENDIF
  119. ######################
  120. # release-ssl
  121. !IF "$(CFG)" == "release-ssl"
  122. TARGET = $(LIB_NAME).lib
  123. DIROBJ = $(CFG)
  124. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  125. LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  126. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSLIB)
  127. CFGSET = TRUE
  128. !ENDIF
  129. ######################
  130. # release-ssl-dll
  131. !IF "$(CFG)" == "release-ssl-dll"
  132. TARGET = $(LIB_NAME).lib
  133. DIROBJ = $(CFG)
  134. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  135. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  136. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
  137. CFGSET = TRUE
  138. !ENDIF
  139. ######################
  140. # release-ssl-zlib
  141. !IF "$(CFG)" == "release-ssl-zlib"
  142. TARGET = $(LIB_NAME).lib
  143. DIROBJ = $(CFG)
  144. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  145. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  146. LNK = $(LNKLIB) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  147. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  148. CFGSET = TRUE
  149. !ENDIF
  150. ######################
  151. # release-dll-ssl-dll
  152. !IF "$(CFG)" == "release-dll-ssl-dll"
  153. TARGET = $(LIB_NAME).dll
  154. DIROBJ = $(CFG)
  155. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  156. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
  157. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL)
  158. CFGSET = TRUE
  159. RESOURCE = $(DIROBJ)\libcurl.res
  160. !ENDIF
  161. ######################
  162. # release-zlib-dll
  163. !IF "$(CFG)" == "release-zlib-dll"
  164. TARGET = $(LIB_NAME).lib
  165. DIROBJ = $(CFG)
  166. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  167. LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  168. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB) $(CFLAGSLIB)
  169. CFGSET = TRUE
  170. !ENDIF
  171. ######################
  172. # release-ssl-dll-zlib-dll
  173. !IF "$(CFG)" == "release-ssl-dll-zlib-dll"
  174. TARGET = $(LIB_NAME).lib
  175. DIROBJ = $(CFG)
  176. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  177. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  178. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  179. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  180. CFGSET = TRUE
  181. !ENDIF
  182. ######################
  183. # release-dll-zlib-dll
  184. !IF "$(CFG)" == "release-dll-zlib-dll"
  185. TARGET = $(LIB_NAME).dll
  186. DIROBJ = $(CFG)
  187. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  188. LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
  189. CC = $(CCNODBG) $(RTLIB) $(CFLAGSZLIB)
  190. CFGSET = TRUE
  191. RESOURCE = $(DIROBJ)\libcurl.res
  192. !ENDIF
  193. ######################
  194. # release-dll-ssl-dll-zlib-dll
  195. !IF "$(CFG)" == "release-dll-ssl-dll-zlib-dll"
  196. TARGET = $(LIB_NAME).dll
  197. DIROBJ = $(CFG)
  198. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  199. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  200. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME).lib
  201. CC = $(CCNODBG) $(RTLIB) $(CFLAGSSSL) $(CFLAGSZLIB)
  202. CFGSET = TRUE
  203. RESOURCE = $(DIROBJ)\libcurl.res
  204. !ENDIF
  205. ######################
  206. # debug
  207. !IF "$(CFG)" == "debug"
  208. TARGET = $(LIB_NAME_DEBUG).lib
  209. DIROBJ = $(CFG)
  210. LNK = $(LNKLIB) /out:$(DIROBJ)\$(TARGET)
  211. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSLIB)
  212. CFGSET = TRUE
  213. !ENDIF
  214. ######################
  215. # debug-ssl
  216. !IF "$(CFG)" == "debug-ssl"
  217. TARGET = $(LIB_NAME_DEBUG).lib
  218. DIROBJ = $(CFG)
  219. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  220. LNK = $(LNKLIB) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  221. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
  222. CFGSET = TRUE
  223. !ENDIF
  224. ######################
  225. # debug-zlib
  226. !IF "$(CFG)" == "debug-zlib"
  227. TARGET = $(LIB_NAME_DEBUG).lib
  228. DIROBJ = $(CFG)
  229. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  230. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  231. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
  232. CFGSET = TRUE
  233. !ENDIF
  234. ######################
  235. # debug-ssl-dll
  236. !IF "$(CFG)" == "debug-ssl-dll"
  237. TARGET = $(LIB_NAME_DEBUG).lib
  238. DIROBJ = $(CFG)
  239. LFLAGSSSL = /LIBPATH:$(OPENSSL_PATH)\out32dll
  240. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /out:$(DIROBJ)\$(TARGET)
  241. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSLIB)
  242. CFGSET = TRUE
  243. !ENDIF
  244. ######################
  245. # debug-ssl-zlib
  246. !IF "$(CFG)" == "debug-ssl-zlib"
  247. TARGET = $(LIB_NAME_DEBUG).lib
  248. DIROBJ = $(CFG)
  249. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  250. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32"
  251. LNK = $(LNKLIB) $(ZLIBLIBS) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  252. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  253. CFGSET = TRUE
  254. !ENDIF
  255. ######################
  256. # debug-zlib-dll
  257. !IF "$(CFG)" == "debug-zlib-dll"
  258. TARGET = $(LIB_NAME_DEBUG).lib
  259. DIROBJ = $(CFG)
  260. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  261. LNK = $(LNKLIB) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  262. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB) $(CFLAGSLIB)
  263. CFGSET = TRUE
  264. !ENDIF
  265. ######################
  266. # debug-ssl-dll-zlib-dll
  267. !IF "$(CFG)" == "debug-ssl-dll-zlib-dll"
  268. TARGET = $(LIB_NAME_DEBUG).lib
  269. DIROBJ = $(CFG)
  270. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  271. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  272. LNK = $(LNKLIB) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /out:$(DIROBJ)\$(TARGET)
  273. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB) $(CFLAGSLIB)
  274. CFGSET = TRUE
  275. !ENDIF
  276. ######################
  277. # debug-dll
  278. !IF "$(CFG)" == "debug-dll"
  279. TARGET = $(LIB_NAME_DEBUG).dll
  280. DIROBJ = $(CFG)
  281. LNK = $(LNKDLL) $(WINLIBS) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
  282. CC = $(CCDEBUG) $(RTLIBD)
  283. CFGSET = TRUE
  284. RESOURCE = $(DIROBJ)\libcurl.res
  285. !ENDIF
  286. ######################
  287. # debug-dll-ssl-dll
  288. !IF "$(CFG)" == "debug-dll-ssl-dll"
  289. TARGET = $(LIB_NAME_DEBUG).dll
  290. DIROBJ = $(CFG)
  291. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  292. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(LFLAGSSSL) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
  293. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL)
  294. CFGSET = TRUE
  295. RESOURCE = $(DIROBJ)\libcurl.res
  296. !ENDIF
  297. ######################
  298. # debug-dll-zlib-dll
  299. !IF "$(CFG)" == "debug-dll-zlib-dll"
  300. TARGET = $(LIB_NAME_DEBUG).dll
  301. DIROBJ = $(CFG)
  302. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  303. LNK = $(LNKDLL) $(WINLIBS) $(ZLIBLIBSDLL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
  304. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSZLIB)
  305. CFGSET = TRUE
  306. RESOURCE = $(DIROBJ)\libcurl.res
  307. !ENDIF
  308. ######################
  309. # debug-dll-ssl-dll-zlib-dll
  310. !IF "$(CFG)" == "debug-dll-ssl-dll-zlib-dll"
  311. TARGET = $(LIB_NAME_DEBUG).dll
  312. DIROBJ = $(CFG)
  313. LFLAGSZLIB = "/LIBPATH:$(ZLIB_PATH)"
  314. LFLAGSSSL = "/LIBPATH:$(OPENSSL_PATH)\out32dll"
  315. LNK = $(LNKDLL) $(WINLIBS) $(SSLLIBS) $(ZLIBLIBSDLL) $(LFLAGSSSL) $(LFLAGSZLIB) /DEBUG /out:$(DIROBJ)\$(TARGET) /IMPLIB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib /PDB:$(DIROBJ)\$(IMPLIB_NAME_DEBUG).pdb
  316. CC = $(CCDEBUG) $(RTLIBD) $(CFLAGSSSL) $(CFLAGSZLIB)
  317. CFGSET = TRUE
  318. RESOURCE = $(DIROBJ)\libcurl.res
  319. !ENDIF
  320. #######################
  321. # Usage
  322. #
  323. !IF "$(CFGSET)" == "FALSE" && "$(CFG)" != ""
  324. !MESSAGE Usage: nmake /f makefile.vc6 CFG=<config> <target>
  325. !MESSAGE where <config> is one of:
  326. !MESSAGE release - release static library
  327. !MESSAGE release-ssl - release static library with ssl
  328. !MESSAGE release-zlib - release static library with zlib
  329. !MESSAGE release-ssl-zlib - release static library with ssl and zlib
  330. !MESSAGE release-ssl-dll - release static library with dynamic ssl
  331. !MESSAGE release-zlib-dll - release static library with dynamic zlib
  332. !MESSAGE release-ssl-dll-zlib-dll - release static library with dynamic ssl and dynamic zlib
  333. !MESSAGE release-dll - release dynamic library
  334. !MESSAGE release-dll-ssl-dll - release dynamic library with dynamic ssl
  335. !MESSAGE release-dll-zlib-dll - release dynamic library with dynamic zlib
  336. !MESSAGE release-dll-ssl-dll-zlib-dll - release dynamic library with dynamic ssl and dynamic zlib
  337. !MESSAGE debug - debug static library
  338. !MESSAGE debug-ssl - debug static library with ssl
  339. !MESSAGE debug-zlib - debug static library with zlib
  340. !MESSAGE debug-ssl-zlib - debug static library with ssl and zlib
  341. !MESSAGE debug-ssl-dll - debug static library with dynamic ssl
  342. !MESSAGE debug-zlib-dll - debug static library with dynamic zlib
  343. !MESSAGE debug-ssl-dll-zlib-dll - debug static library with dynamic ssl and dynamic zlib
  344. !MESSAGE debug-dll - debug dynamic library
  345. !MESSAGE debug-dll-ssl-dll - debug dynamic library with dynamic ssl
  346. !MESSAGE debug-dll-zlib-dll - debug dynamic library with dynamic zlib1
  347. !MESSAGE debug-dll-ssl-dll-zlib-dll - debug dynamic library with dynamic ssl and dynamic zlib
  348. !MESSAGE <target> can be left blank in which case all is assumed
  349. !ERROR please choose a valid configuration "$(CFG)"
  350. !ENDIF
  351. #######################
  352. # Only the clean target can be used if a config was not provided.
  353. #
  354. !IF "$(CFGSET)" == "FALSE"
  355. clean:
  356. @-erase /s *.dll 2> NUL
  357. @-erase /s *.exp 2> NUL
  358. @-erase /s *.idb 2> NUL
  359. @-erase /s *.lib 2> NUL
  360. @-erase /s *.obj 2> NUL
  361. @-erase /s *.pch 2> NUL
  362. @-erase /s *.pdb 2> NUL
  363. @-erase /s *.res 2> NUL
  364. !ELSE
  365. # A config was provided, so the library can be built.
  366. #
  367. X_OBJS= \
  368. $(DIROBJ)\base64.obj \
  369. $(DIROBJ)\cookie.obj \
  370. $(DIROBJ)\transfer.obj \
  371. $(DIROBJ)\escape.obj \
  372. $(DIROBJ)\formdata.obj \
  373. $(DIROBJ)\ftp.obj \
  374. $(DIROBJ)\http.obj \
  375. $(DIROBJ)\http_chunks.obj \
  376. $(DIROBJ)\ldap.obj \
  377. $(DIROBJ)\dict.obj \
  378. $(DIROBJ)\telnet.obj \
  379. $(DIROBJ)\parsedate.obj \
  380. $(DIROBJ)\getenv.obj \
  381. $(DIROBJ)\gtls.obj \
  382. $(DIROBJ)\inet_pton.obj \
  383. $(DIROBJ)\hostip.obj \
  384. $(DIROBJ)\hostasyn.obj \
  385. $(DIROBJ)\hostsyn.obj \
  386. $(DIROBJ)\hostares.obj \
  387. $(DIROBJ)\hostthre.obj \
  388. $(DIROBJ)\hostip4.obj \
  389. $(DIROBJ)\hostip6.obj \
  390. $(DIROBJ)\inet_ntop.obj \
  391. $(DIROBJ)\if2ip.obj \
  392. $(DIROBJ)\mprintf.obj \
  393. $(DIROBJ)\netrc.obj \
  394. $(DIROBJ)\progress.obj \
  395. $(DIROBJ)\sendf.obj \
  396. $(DIROBJ)\speedcheck.obj \
  397. $(DIROBJ)\sslgen.obj \
  398. $(DIROBJ)\ssluse.obj \
  399. $(DIROBJ)\timeval.obj \
  400. $(DIROBJ)\url.obj \
  401. $(DIROBJ)\file.obj \
  402. $(DIROBJ)\getinfo.obj \
  403. $(DIROBJ)\version.obj \
  404. $(DIROBJ)\easy.obj \
  405. $(DIROBJ)\strequal.obj \
  406. $(DIROBJ)\strtok.obj \
  407. $(DIROBJ)\strtoofft.obj \
  408. $(DIROBJ)\connect.obj \
  409. $(DIROBJ)\hash.obj \
  410. $(DIROBJ)\llist.obj \
  411. $(DIROBJ)\share.obj \
  412. $(DIROBJ)\multi.obj \
  413. $(DIROBJ)\http_digest.obj \
  414. $(DIROBJ)\http_negotiate.obj \
  415. $(DIROBJ)\http_ntlm.obj \
  416. $(DIROBJ)\md5.obj \
  417. $(DIROBJ)\memdebug.obj \
  418. $(DIROBJ)\strerror.obj \
  419. $(DIROBJ)\select.obj \
  420. $(DIROBJ)\content_encoding.obj \
  421. $(DIROBJ)\tftp.obj \
  422. $(DIROBJ)\splay.obj \
  423. $(DIROBJ)\socks.obj \
  424. $(RESOURCE)
  425. all : $(TARGET)
  426. $(TARGET): $(X_OBJS)
  427. $(LNK) $(LFLAGS) $(X_OBJS)
  428. -xcopy $(DIROBJ)\$(LIB_NAME).dll . /y
  429. -xcopy $(DIROBJ)\$(LIB_NAME).lib . /y
  430. -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).dll . /y
  431. -xcopy $(DIROBJ)\$(LIB_NAME_DEBUG).lib . /y
  432. -xcopy $(DIROBJ)\$(IMPLIB_NAME).lib . /y
  433. -xcopy $(DIROBJ)\$(IMPLIB_NAME_DEBUG).lib . /y
  434. -xcopy $(DIROBJ)\*.exp . /y
  435. -xcopy $(DIROBJ)\*.pdb . /y
  436. $(X_OBJS): $(DIROBJ)
  437. $(DIROBJ):
  438. @if not exist "$(DIROBJ)" mkdir $(DIROBJ)
  439. .SUFFIXES: .c .obj .res
  440. {.\}.c{$(DIROBJ)\}.obj:
  441. $(CC) $(CFLAGS) /Fo"$@" $<
  442. debug-dll\libcurl.res \
  443. debug-dll-ssl-dll\libcurl.res \
  444. debug-dll-zlib-dll\libcurl.res \
  445. debug-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
  446. rc /dCURLDEBUG=1 /Fo $@ libcurl.rc
  447. release-dll\libcurl.res \
  448. release-dll-ssl-dll\libcurl.res \
  449. release-dll-zlib-dll\libcurl.res \
  450. release-dll-ssl-dll-zlib-dll\libcurl.res: libcurl.rc
  451. rc /dCURLDEBUG=0 /Fo $@ libcurl.rc
  452. !ENDIF # End of case where a config was provided.