makefile.msc 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484
  1. #
  2. # Makefile for `Lynx' browser for Microsoft Visual C++ 4.2 or later
  3. #
  4. ###############################################################################
  5. # These are the symbols that you may wish to set on the command line:
  6. # DEBUG - nonempty for debugging
  7. # ETC_LIB - the directory containing PDCurses and ZLib (libraries and headers)
  8. # OPT_CS - nonempty to use color-style
  9. # OPT_SOCK - nonempty to build with winsock2
  10. # OPT_SSL - nonempty to build with OpenSSL
  11. # SSL_DIR - directory containing OpenSSL
  12. # SCREEN - name of screen-library (pdcurses)
  13. # PROGNAME - name of executable (lynx.exe)
  14. ###############################################################################
  15. CC = cl
  16. LD = link
  17. SRC_DIR = src
  18. WWW_DIR = WWW\Library\Implementation
  19. # pdcurses.lib panel.lib dirent.obj curses.h panel.h dirent.h
  20. !if "$(ETC_LIB)" == ""
  21. ETC_LIB = lib
  22. !endif
  23. # Select a screen-library
  24. !if "$(SCREEN)" == ""
  25. SCREEN = pdcurses
  26. !endif
  27. # Enable the CS_DEFS and CS_OBJS lines if you wish to build the color-style
  28. # configuration.
  29. !if "$(OPT_CS)" != ""
  30. CS_DEFS = /D "CHAR_BIT=8" /D "USE_COLOR_STYLE"
  31. CS_OBJS = "LYHash.obj" "LYStyle.obj"
  32. !endif
  33. # Enable SOCK_DEFS if you wish to build with winsock2.
  34. !if "$(OPT_SOCK)" != ""
  35. SOCK_DEFS = /D "USE_WINSOCK2_H" /D "_WIN32_WINNT=0x0400"
  36. !endif
  37. # Enable these to build with OpenSSL, adjusting SSL_DIR as needed.
  38. !if "$(OPT_SSL)" != ""
  39. !if "$(SSL_DIR)" == ""
  40. SSL_DIR = C:\OpenSSL
  41. !endif
  42. SSL_DEFS = /D "USE_SSL" -I "$(SSL_DIR)\include" -I"$(SSL_DIR)\include\openssl"
  43. SSL_LIBS = "$(SSL_DIR)\lib\ssleay32.lib" "$(SSL_DIR)\lib\libeay32.lib"
  44. !endif
  45. !if "$(SCREEN)" == "pdcurses"
  46. SCREEN_DEFS = /D "PDCURSES" /D "COLOR_CURSES" /D "FANCY_CURSES"
  47. SCREEN_LIB = pdcurses
  48. !else
  49. SCREEN_DEFS = /D "USE_SLANG"
  50. SCREEN_LIB = wslang32
  51. !endif
  52. INCLUDES = \
  53. /I "." \
  54. /I "$(SRC_DIR)" \
  55. /I "$(SRC_DIR)\chrtrans" \
  56. /I "$(WWW_DIR)" \
  57. /I "$(ETC_LIB)"
  58. DEFS = $(CS_DEFS) $(SOCK_DEFS) $(SSL_DEFS) $(SCREEN_DEFS) \
  59. /D "ACCESS_AUTH" \
  60. /D "CJK_EX" \
  61. /D "DIRED_SUPPORT" \
  62. /D "DISP_PARTIAL" \
  63. /D "DOSPATH" \
  64. /D "EXP_ALT_BINDINGS" \
  65. /D "EXP_CMD_LOGGING" \
  66. /D "EXP_JUSTIFY_ELTS" \
  67. /D "EXP_NESTED_TABLES" \
  68. /D "HAVE_KEYPAD" \
  69. /D "LONG_LIST" \
  70. /D "NDEBUG" \
  71. /D "NOSIGHUP" \
  72. /D "NOUSERS" \
  73. /D "NO_CONFIG_INFO" \
  74. /D "NO_CUSERID" \
  75. /D "NO_FILIO_H" \
  76. /D "NO_TTYTYPE" \
  77. /D "NO_UNISTD_H" \
  78. /D "NO_UTMP" \
  79. /D "OK_OVERRIDE" \
  80. /D "SH_EX" \
  81. /D "USE_EXTERNALS" \
  82. /D "USE_FILE_UPLOAD" \
  83. /D "USE_MULTIBYTE_CURSES" \
  84. /D "USE_PERSISTENT_COOKIES" \
  85. /D "USE_PRETTYSRC" \
  86. /D "USE_READPROGRESS" \
  87. /D "USE_SCROLLBAR" \
  88. /D "USE_SOURCE_CACHE" \
  89. /D "USE_ZLIB" \
  90. /D "WIN32" \
  91. /D "WIN_EX" \
  92. /D "_CONSOLE" \
  93. /D "_MBCS" \
  94. /D "_WINDOWS" \
  95. /D "__WIN32__" \
  96. /D LY_MAXPATH="1024" \
  97. /D _WIN_CC="1" \
  98. /D VC="2.14FM"
  99. !if "$(DEBUG)" == ""
  100. CFLAGS = /nologo /MT /W3 /GX /O2 /c
  101. LDFLAGS = /nologo /subsystem:console /incremental:no /machine:I386
  102. !else
  103. CFLAGS = /nologo /MT /W3 /GX /Zi /c
  104. LDFLAGS = /debug /nologo /subsystem:console /incremental:no /machine:I386
  105. !endif
  106. LIBS = kernel32.lib user32.lib wsock32.lib /NODEFAULTLIB:libc\
  107. $(ETC_LIB)\$(SCREEN_LIB).lib $(ETC_LIB)\zlib.lib dirent.obj $(SSL_LIBS)
  108. COMPILE = $(CC) $(CFLAGS) $(INCLUDES) $(DEFS)
  109. LINK = $(LD) $(LDFLAGS) /map:lynx.map /out:$@
  110. OBJS = $(CS_OBJS) \
  111. "DefaultStyle.obj" \
  112. "GridText.obj" \
  113. "HTAABrow.obj" \
  114. "HTAAProt.obj" \
  115. "HTAAUtil.obj" \
  116. "HTAccess.obj" \
  117. "HTAlert.obj" \
  118. "HTAnchor.obj" \
  119. "HTAssoc.obj" \
  120. "HTAtom.obj" \
  121. "HTBTree.obj" \
  122. "HTChunk.obj" \
  123. "HTDOS.obj" \
  124. "HTFTP.obj" \
  125. "HTFWriter.obj" \
  126. "HTFile.obj" \
  127. "HTFinger.obj" \
  128. "HTFormat.obj" \
  129. "HTGopher.obj" \
  130. "HTGroup.obj" \
  131. "HTInit.obj" \
  132. "HTLex.obj" \
  133. "HTList.obj" \
  134. "HTMIME.obj" \
  135. "HTML.obj" \
  136. "HTMLDTD.obj" \
  137. "HTMLGen.obj" \
  138. "HTNews.obj" \
  139. "HTParse.obj" \
  140. "HTPlain.obj" \
  141. "HTRules.obj" \
  142. "HTString.obj" \
  143. "HTStyle.obj" \
  144. "HTTCP.obj" \
  145. "HTTP.obj" \
  146. "HTTelnet.obj" \
  147. "HTUU.obj" \
  148. "HTWSRC.obj" \
  149. "LYBookmark.obj" \
  150. "LYCgi.obj" \
  151. "LYCharSets.obj" \
  152. "LYCharUtils.obj" \
  153. "LYClean.obj" \
  154. "LYCookie.obj" \
  155. "LYCurses.obj" \
  156. "LYDownload.obj" \
  157. "LYEdit.obj" \
  158. "LYEditmap.obj" \
  159. "LYExtern.obj" \
  160. "LYForms.obj" \
  161. "LYGetFile.obj" \
  162. "LYHistory.obj" \
  163. "LYJump.obj" \
  164. "LYKeymap.obj" \
  165. "LYLeaks.obj" \
  166. "LYList.obj" \
  167. "LYLocal.obj" \
  168. "LYMail.obj" \
  169. "LYMain.obj" \
  170. "LYMainLoop.obj" \
  171. "LYMap.obj" \
  172. "LYNews.obj" \
  173. "LYOptions.obj" \
  174. "LYPrettySrc.obj" \
  175. "LYPrint.obj" \
  176. "LYReadCFG.obj" \
  177. "LYSearch.obj" \
  178. "LYShowInfo.obj" \
  179. "LYStrings.obj" \
  180. "LYTraversal.obj" \
  181. "LYUpload.obj" \
  182. "LYUtils.obj" \
  183. "LYexit.obj" \
  184. "LYrcFile.obj" \
  185. "SGML.obj" \
  186. "TRSTable.obj" \
  187. "UCAuto.obj" \
  188. "UCAux.obj" \
  189. "UCdomap.obj" \
  190. "Xsystem.obj"
  191. # Dependencies for building
  192. .SUFFIXES : .i
  193. .c.i :
  194. $(CC) $(INCLUDES) $(DEFS) /P $<
  195. !if "$(PROGNAME)" == ""
  196. PROGNAME = lynx.exe
  197. !endif
  198. all : $(PROGNAME)
  199. clean :
  200. -del *.map
  201. -del *.obj
  202. -del/f/s/q *.i
  203. $(PROGNAME) : $(OBJS) dirent.obj
  204. $(LINK) $(OBJS) $(LIBS)
  205. DefaultStyle.obj : $(SRC_DIR)\DefaultStyle.c
  206. $(COMPILE) $(SRC_DIR)\DefaultStyle.c
  207. GridText.obj : $(SRC_DIR)\GridText.c
  208. $(COMPILE) $(SRC_DIR)\GridText.c
  209. HTAlert.obj : $(SRC_DIR)\HTAlert.c
  210. $(COMPILE) $(SRC_DIR)\HTAlert.c
  211. HTFWriter.obj : $(SRC_DIR)\HTFWriter.c
  212. $(COMPILE) $(SRC_DIR)\HTFWriter.c
  213. HTInit.obj : $(SRC_DIR)\HTInit.c
  214. $(COMPILE) $(SRC_DIR)\HTInit.c
  215. HTML.obj : $(SRC_DIR)\HTML.c
  216. $(COMPILE) $(SRC_DIR)\HTML.c
  217. LYBookmark.obj : $(SRC_DIR)\LYBookmark.c
  218. $(COMPILE) $(SRC_DIR)\LYBookmark.c
  219. LYCgi.obj : $(SRC_DIR)\LYCgi.c
  220. $(COMPILE) $(SRC_DIR)\LYCgi.c
  221. LYCharSets.obj : $(SRC_DIR)\LYCharSets.c
  222. $(COMPILE) $(SRC_DIR)\LYCharSets.c
  223. LYCharUtils.obj : $(SRC_DIR)\LYCharUtils.c
  224. $(COMPILE) $(SRC_DIR)\LYCharUtils.c
  225. LYClean.obj : $(SRC_DIR)\LYClean.c
  226. $(COMPILE) $(SRC_DIR)\LYClean.c
  227. LYCookie.obj : $(SRC_DIR)\LYCookie.c
  228. $(COMPILE) $(SRC_DIR)\LYCookie.c
  229. LYCurses.obj : $(SRC_DIR)\LYCurses.c
  230. $(COMPILE) $(SRC_DIR)\LYCurses.c
  231. LYDownload.obj : $(SRC_DIR)\LYDownload.c
  232. $(COMPILE) $(SRC_DIR)\LYDownload.c
  233. LYEdit.obj : $(SRC_DIR)\LYEdit.c
  234. $(COMPILE) $(SRC_DIR)\LYEdit.c
  235. LYEditmap.obj : $(SRC_DIR)\LYEditmap.c
  236. $(COMPILE) $(SRC_DIR)\LYEditmap.c
  237. LYexit.obj : $(SRC_DIR)\LYexit.c
  238. $(COMPILE) $(SRC_DIR)\LYexit.c
  239. LYExtern.obj : $(SRC_DIR)\LYExtern.c
  240. $(COMPILE) $(SRC_DIR)\LYExtern.c
  241. LYForms.obj : $(SRC_DIR)\LYForms.c
  242. $(COMPILE) $(SRC_DIR)\LYForms.c
  243. LYGetFile.obj : $(SRC_DIR)\LYGetFile.c
  244. $(COMPILE) $(SRC_DIR)\LYGetFile.c
  245. LYHash.obj : $(SRC_DIR)\LYHash.c
  246. $(COMPILE) $(SRC_DIR)\LYHash.c
  247. LYHistory.obj : $(SRC_DIR)\LYHistory.c
  248. $(COMPILE) $(SRC_DIR)\LYHistory.c
  249. LYJump.obj : $(SRC_DIR)\LYJump.c
  250. $(COMPILE) $(SRC_DIR)\LYJump.c
  251. LYKeymap.obj : $(SRC_DIR)\LYKeymap.c
  252. $(COMPILE) $(SRC_DIR)\LYKeymap.c
  253. LYLeaks.obj : $(SRC_DIR)\LYLeaks.c
  254. $(COMPILE) $(SRC_DIR)\LYLeaks.c
  255. LYList.obj : $(SRC_DIR)\LYList.c
  256. $(COMPILE) $(SRC_DIR)\LYList.c
  257. LYLocal.obj : $(SRC_DIR)\LYLocal.c
  258. $(COMPILE) $(SRC_DIR)\LYLocal.c
  259. LYMail.obj : $(SRC_DIR)\LYMail.c
  260. $(COMPILE) $(SRC_DIR)\LYMail.c
  261. LYMain.obj : $(SRC_DIR)\LYMain.c
  262. $(COMPILE) $(SRC_DIR)\LYMain.c
  263. LYMainLoop.obj : $(SRC_DIR)\LYMainLoop.c
  264. $(COMPILE) $(SRC_DIR)\LYMainLoop.c
  265. LYMap.obj : $(SRC_DIR)\LYMap.c
  266. $(COMPILE) $(SRC_DIR)\LYMap.c
  267. LYNews.obj : $(SRC_DIR)\LYNews.c
  268. $(COMPILE) $(SRC_DIR)\LYNews.c
  269. LYOptions.obj : $(SRC_DIR)\LYOptions.c
  270. $(COMPILE) $(SRC_DIR)\LYOptions.c
  271. LYPrettySrc.obj : $(SRC_DIR)\LYPrettySrc.c
  272. $(COMPILE) $(SRC_DIR)\LYPrettySrc.c
  273. LYPrint.obj : $(SRC_DIR)\LYPrint.c
  274. $(COMPILE) $(SRC_DIR)\LYPrint.c
  275. LYrcFile.obj : $(SRC_DIR)\LYrcFile.c
  276. $(COMPILE) $(SRC_DIR)\LYrcFile.c
  277. LYReadCFG.obj : $(SRC_DIR)\LYReadCFG.c
  278. $(COMPILE) $(SRC_DIR)\LYReadCFG.c
  279. LYSearch.obj : $(SRC_DIR)\LYSearch.c
  280. $(COMPILE) $(SRC_DIR)\LYSearch.c
  281. LYShowInfo.obj : $(SRC_DIR)\LYShowInfo.c
  282. $(COMPILE) $(SRC_DIR)\LYShowInfo.c
  283. LYStrings.obj : $(SRC_DIR)\LYStrings.c
  284. $(COMPILE) $(SRC_DIR)\LYStrings.c
  285. LYStyle.obj : $(SRC_DIR)\LYStyle.c
  286. $(COMPILE) $(SRC_DIR)\LYStyle.c
  287. LYTraversal.obj : $(SRC_DIR)\LYTraversal.c
  288. $(COMPILE) $(SRC_DIR)\LYTraversal.c
  289. LYUpload.obj : $(SRC_DIR)\LYUpload.c
  290. $(COMPILE) $(SRC_DIR)\LYUpload.c
  291. LYUtils.obj : $(SRC_DIR)\LYUtils.c
  292. $(COMPILE) $(SRC_DIR)\LYUtils.c
  293. TRSTable.obj : $(SRC_DIR)\TRSTable.c
  294. $(COMPILE) $(SRC_DIR)\TRSTable.c
  295. mktime.obj : $(SRC_DIR)\mktime.c
  296. $(COMPILE) $(SRC_DIR)\mktime.c
  297. strstr.obj : $(SRC_DIR)\strstr.c
  298. $(COMPILE) $(SRC_DIR)\strstr.c
  299. UCAuto.obj : $(SRC_DIR)\UCAuto.c
  300. $(COMPILE) $(SRC_DIR)\UCAuto.c
  301. UCAux.obj : $(SRC_DIR)\UCAux.c
  302. $(COMPILE) $(SRC_DIR)\UCAux.c
  303. UCdomap.obj : $(SRC_DIR)\UCdomap.c
  304. $(COMPILE) $(SRC_DIR)\UCdomap.c
  305. Xsystem.obj : $(SRC_DIR)\Xsystem.c
  306. $(COMPILE) $(SRC_DIR)\Xsystem.c
  307. dirent.obj : $(ETC_LIB)\dirent.c
  308. $(COMPILE) $(ETC_LIB)\dirent.c
  309. HTAABrow.obj : $(WWW_DIR)\HTAABrow.c
  310. $(COMPILE) $(WWW_DIR)\HTAABrow.c
  311. HTAAFile.obj : $(WWW_DIR)\HTAAFile.c
  312. $(COMPILE) $(WWW_DIR)\HTAAFile.c
  313. HTAAProt.obj : $(WWW_DIR)\HTAAProt.c
  314. $(COMPILE) $(WWW_DIR)\HTAAProt.c
  315. HTAAUtil.obj : $(WWW_DIR)\HTAAUtil.c
  316. $(COMPILE) $(WWW_DIR)\HTAAUtil.c
  317. HTAccess.obj : $(WWW_DIR)\HTAccess.c
  318. $(COMPILE) $(WWW_DIR)\HTAccess.c
  319. HTAnchor.obj : $(WWW_DIR)\HTAnchor.c
  320. $(COMPILE) $(WWW_DIR)\HTAnchor.c
  321. HTAssoc.obj : $(WWW_DIR)\HTAssoc.c
  322. $(COMPILE) $(WWW_DIR)\HTAssoc.c
  323. HTAtom.obj : $(WWW_DIR)\HTAtom.c
  324. $(COMPILE) $(WWW_DIR)\HTAtom.c
  325. HTBTree.obj : $(WWW_DIR)\HTBTree.c
  326. $(COMPILE) $(WWW_DIR)\HTBTree.c
  327. HTChunk.obj : $(WWW_DIR)\HTChunk.c
  328. $(COMPILE) $(WWW_DIR)\HTChunk.c
  329. HTDOS.obj : $(WWW_DIR)\HTDOS.c
  330. $(COMPILE) $(WWW_DIR)\HTDOS.c
  331. HTFile.obj : $(WWW_DIR)\HTFile.c
  332. $(COMPILE) $(WWW_DIR)\HTFile.c
  333. HTFinger.obj : $(WWW_DIR)\HTFinger.c
  334. $(COMPILE) $(WWW_DIR)\HTFinger.c
  335. HTFormat.obj : $(WWW_DIR)\HTFormat.c
  336. $(COMPILE) $(WWW_DIR)\HTFormat.c
  337. HTFTP.obj : $(WWW_DIR)\HTFTP.c
  338. $(COMPILE) $(WWW_DIR)\HTFTP.c
  339. HTGopher.obj : $(WWW_DIR)\HTGopher.c
  340. $(COMPILE) $(WWW_DIR)\HTGopher.c
  341. HTGroup.obj : $(WWW_DIR)\HTGroup.c
  342. $(COMPILE) $(WWW_DIR)\HTGroup.c
  343. HTLex.obj : $(WWW_DIR)\HTLex.c
  344. $(COMPILE) $(WWW_DIR)\HTLex.c
  345. HTList.obj : $(WWW_DIR)\HTList.c
  346. $(COMPILE) $(WWW_DIR)\HTList.c
  347. HTMIME.obj : $(WWW_DIR)\HTMIME.c
  348. $(COMPILE) $(WWW_DIR)\HTMIME.c
  349. HTMLDTD.obj : $(WWW_DIR)\HTMLDTD.c
  350. $(COMPILE) $(WWW_DIR)\HTMLDTD.c
  351. HTMLGen.obj : $(WWW_DIR)\HTMLGen.c
  352. $(COMPILE) $(WWW_DIR)\HTMLGen.c
  353. HTNews.obj : $(WWW_DIR)\HTNews.c
  354. $(COMPILE) $(WWW_DIR)\HTNews.c
  355. HTParse.obj : $(WWW_DIR)\HTParse.c
  356. $(COMPILE) $(WWW_DIR)\HTParse.c
  357. HTPlain.obj : $(WWW_DIR)\HTPlain.c
  358. $(COMPILE) $(WWW_DIR)\HTPlain.c
  359. HTRules.obj : $(WWW_DIR)\HTRules.c
  360. $(COMPILE) $(WWW_DIR)\HTRules.c
  361. HTString.obj : $(WWW_DIR)\HTString.c
  362. $(COMPILE) $(WWW_DIR)\HTString.c
  363. HTStyle.obj : $(WWW_DIR)\HTStyle.c
  364. $(COMPILE) $(WWW_DIR)\HTStyle.c
  365. HTTCP.obj : $(WWW_DIR)\HTTCP.c
  366. $(COMPILE) $(WWW_DIR)\HTTCP.c
  367. HTTelnet.obj : $(WWW_DIR)\HTTelnet.c
  368. $(COMPILE) $(WWW_DIR)\HTTelnet.c
  369. HTTP.obj : $(WWW_DIR)\HTTP.c
  370. $(COMPILE) $(WWW_DIR)\HTTP.c
  371. HTUU.obj : $(WWW_DIR)\HTUU.c
  372. $(COMPILE) $(WWW_DIR)\HTUU.c
  373. HTWSRC.obj : $(WWW_DIR)\HTWSRC.c
  374. $(COMPILE) $(WWW_DIR)\HTWSRC.c
  375. SGML.obj : $(WWW_DIR)\SGML.c
  376. $(COMPILE) $(WWW_DIR)\SGML.c