makelynx.bat 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  1. @echo off
  2. @rem $LynxId: makelynx.bat,v 1.16 2011/06/04 00:59:22 tom Exp $
  3. @echo Windows/Dos batch makefile for MingW32 and lynx.exe
  4. @echo Remember to precede this by "command /E:8192" for Windows prior to
  5. @echo W2000 and "cmd.exe /E:8192" for subsequent Window versions and to
  6. @echo set the MingW32 C_INCLUDE_PATH and %C_INCLUDE_PATH%..\..\bin paths
  7. @echo.
  8. @echo Usage: makelynx [option]
  9. @echo Default option: all
  10. @echo Specifying "src" causes the libwww code to be skipped.
  11. @echo Specifying "link" causes the batch file to skip to the final
  12. @echo linking phase.
  13. @echo.
  14. @echo Note that you have to edit early versions of i386-mingw32\include\stdlib.h
  15. @echo to put an "#ifndef WIN_EX" around the declaration for `sleep', or the
  16. @echo compile won't work. There is also an "#ifndef PDCURSES" around
  17. @echo the declaration for `beep' for the same reason.
  18. @echo.
  19. @echo To change the console library from libpdcurses to libslang,
  20. @echo put a "rem" before the `SET LIBRARY' line below.
  21. @echo.
  22. @echo If you don't have libz.a, either compile it
  23. @echo or put a "rem" in front of the following USE_ZLIB line.
  24. @echo This will cause the gzip.exe version of lynx
  25. @echo to be compiled. It doesn't work well at present:
  26. SET LIBRARY=PDCURSES
  27. SET USE_ZLIB=YES
  28. rem Uncomment these lines if the slang/curses headers and libraries
  29. rem are in the top-level lib directory:
  30. rem set C_INCLUDE_PATH=..\lib;..\..\..\lib;%C_INCLUDE_PATH%
  31. rem set LIBRARY_PATH=..\lib;..\..\..\lib;%LIBRARY_PATH%
  32. echo Your compiler may not support -march=pentiumpro.
  33. echo In that case, replace -march=pentiumpro with -mpentium or -m486 or nothing:
  34. if "%OS%" == "Windows_NT" goto then0
  35. rem command.com doesn't handle the 'a=b' option
  36. set CC=gcc -mpentium
  37. goto else0
  38. :then0
  39. rem assumes a cmd.exe, rather than command.com, environment
  40. set CC=gcc -march=pentiumpro -mthreads
  41. :else0
  42. rem These definitions come from the Microsoft.msc makefile, with some
  43. rem modification. Note that -Dx=y didn't work in older versions
  44. rem of Windows batch files, only -Dx, so a lynx_cfg.h was needed as
  45. rem a workaround.
  46. echo /* Generated lynx_cfg.h file in the lynx directory: */ > lynx_cfg.h
  47. echo. >> lynx_cfg.h
  48. echo. >> lynx_cfg.h
  49. echo #define ANSI_VARARGS 1 >> lynx_cfg.h
  50. echo #define BOXHORI 0 >> lynx_cfg.h
  51. echo #define BOXVERT 0 >> lynx_cfg.h
  52. echo #define CAN_PIPE_TO_MAILER 0 >> lynx_cfg.h
  53. echo #define HAVE_GETCWD 1 >> lynx_cfg.h
  54. echo #define HAVE_STRERROR 1 >> lynx_cfg.h
  55. echo #define LYNX_CFG_FILE "./lynx.cfg" >> lynx_cfg.h
  56. echo #define LY_MAXPATH 1024 >> lynx_cfg.h
  57. echo #define USE_BLAT_MAILER 1 >> lynx_cfg.h
  58. echo #define VC 2.14FM >> lynx_cfg.h
  59. echo #define _WIN_CC 1 >> lynx_cfg.h
  60. rem echo #define USE_SCROLLBAR 1 >> lynx_cfg.h
  61. SET DEFINES=-DCJK_EX
  62. SET DEFINES=%DEFINES% -DUSE_ALT_BINDINGS
  63. SET DEFINES=%DEFINES% -DEXP_NESTED_TABLES
  64. SET DEFINES=%DEFINES% -DUSE_JUSTIFY_ELTS
  65. SET DEFINES=%DEFINES% -DUSE_PERSISTENT_COOKIES
  66. SET DEFINES=%DEFINES% -DUSE_READPROGRESS
  67. if not "%OS%" == "Windows_NT" goto next11
  68. SET DEFINES=%DEFINES% -DLY_MAXPATH=1024
  69. rem The following is unnecessary and causes the
  70. rem compile to fail:
  71. rem SET DEFINES=%DEFINES% -DUSE_WINSOCK2_H
  72. :next11
  73. SET DEFINES=%DEFINES% -DACCESS_AUTH
  74. SET DEFINES=%DEFINES% -DDIRED_SUPPORT
  75. SET DEFINES=%DEFINES% -DDISP_PARTIAL
  76. SET DEFINES=%DEFINES% -DDOSPATH
  77. SET DEFINES=%DEFINES% -DHAVE_DIRENT_H
  78. SET DEFINES=%DEFINES% -DHAVE_KEYPAD
  79. SET DEFINES=%DEFINES% -DLONG_LIST
  80. SET DEFINES=%DEFINES% -DNOSIGHUP
  81. SET DEFINES=%DEFINES% -DNOUSERS
  82. SET DEFINES=%DEFINES% -DNO_CONFIG_INFO
  83. SET DEFINES=%DEFINES% -DNO_CUSERID
  84. SET DEFINES=%DEFINES% -DNO_FILIO_H
  85. SET DEFINES=%DEFINES% -DNO_TTYTYPE
  86. SET DEFINES=%DEFINES% -DNO_UNISTD_H
  87. SET DEFINES=%DEFINES% -DNO_UTMP
  88. SET DEFINES=%DEFINES% -DSH_EX
  89. SET DEFINES=%DEFINES% -DUSE_EXTERNALS
  90. SET DEFINES=%DEFINES% -DUSE_PRETTYSRC
  91. SET DEFINES=%DEFINES% -DUSE_SOURCE_CACHE
  92. SET DEFINES=%DEFINES% -DWIN32
  93. SET DEFINES=%DEFINES% -DWIN_EX
  94. SET DEFINES=%DEFINES% -D_WINDOWS
  95. if not "%USE_ZLIB%" == "YES" goto next1
  96. SET DEFINES=%DEFINES% -DUSE_ZLIB
  97. :next1
  98. if "%LIBRARY%" == "PDCURSES" goto else1
  99. SET DEFINES=%DEFINES% -DUSE_SLANG
  100. goto endif1
  101. :else1
  102. SET DEFINES=%DEFINES% -DFANCY_CURSES
  103. SET DEFINES=%DEFINES% -DCOLOR_CURSES
  104. SET DEFINES=%DEFINES% -DPDCURSES
  105. SET DEFINES=%DEFINES% -DUSE_MULTIBYTE_CURSES
  106. :endif1
  107. if not "%1" == "src" goto else
  108. cd src
  109. goto src
  110. :else
  111. if not "%1" == "link" goto endif
  112. cd src
  113. goto link
  114. :endif
  115. SET INCLUDES=-I. -I..\..\.. -I..\..\..\src
  116. set CFLAGS=-O3 %INCLUDES% %DEFINES%
  117. set COMPILE_CMD=%CC% -c %CFLAGS%
  118. cd WWW\Library\Implementation
  119. erase *.o
  120. %COMPILE_CMD% HTAABrow.c
  121. if errorlevel 1 PAUSE
  122. %COMPILE_CMD% HTAAProt.c
  123. if errorlevel 1 PAUSE
  124. %COMPILE_CMD% HTAAUtil.c
  125. if errorlevel 1 PAUSE
  126. %COMPILE_CMD% HTAccess.c
  127. if errorlevel 1 PAUSE
  128. %COMPILE_CMD% HTAnchor.c
  129. if errorlevel 1 PAUSE
  130. %COMPILE_CMD% HTAssoc.c
  131. if errorlevel 1 PAUSE
  132. %COMPILE_CMD% HTAtom.c
  133. if errorlevel 1 PAUSE
  134. %COMPILE_CMD% HTBTree.c
  135. if errorlevel 1 PAUSE
  136. %COMPILE_CMD% HTChunk.c
  137. if errorlevel 1 PAUSE
  138. %COMPILE_CMD% HTDOS.c
  139. if errorlevel 1 PAUSE
  140. %COMPILE_CMD% HTFile.c
  141. if errorlevel 1 PAUSE
  142. %COMPILE_CMD% HTFinger.c
  143. if errorlevel 1 PAUSE
  144. %COMPILE_CMD% HTFormat.c
  145. if errorlevel 1 PAUSE
  146. %COMPILE_CMD% HTFTP.c
  147. if errorlevel 1 PAUSE
  148. %COMPILE_CMD% HTFWriter.c
  149. if errorlevel 1 PAUSE
  150. %COMPILE_CMD% HTGopher.c
  151. if errorlevel 1 PAUSE
  152. %COMPILE_CMD% HTGroup.c
  153. if errorlevel 1 PAUSE
  154. %COMPILE_CMD% HTLex.c
  155. if errorlevel 1 PAUSE
  156. %COMPILE_CMD% HTList.c
  157. if errorlevel 1 PAUSE
  158. %COMPILE_CMD% HTMIME.c
  159. if errorlevel 1 PAUSE
  160. %COMPILE_CMD% HTMLDTD.c
  161. if errorlevel 1 PAUSE
  162. %COMPILE_CMD% HTMLGen.c
  163. if errorlevel 1 PAUSE
  164. %COMPILE_CMD% HTNews.c
  165. if errorlevel 1 PAUSE
  166. %COMPILE_CMD% HTParse.c
  167. if errorlevel 1 PAUSE
  168. %COMPILE_CMD% HTPlain.c
  169. if errorlevel 1 PAUSE
  170. %COMPILE_CMD% HTRules.c
  171. if errorlevel 1 PAUSE
  172. %COMPILE_CMD% HTString.c
  173. if errorlevel 1 PAUSE
  174. %COMPILE_CMD% HTStyle.c
  175. if errorlevel 1 PAUSE
  176. %COMPILE_CMD% HTTCP.c
  177. if errorlevel 1 PAUSE
  178. %COMPILE_CMD% HTTelnet.c
  179. if errorlevel 1 PAUSE
  180. %COMPILE_CMD% HTTP.c
  181. if errorlevel 1 PAUSE
  182. %COMPILE_CMD% HTUU.c
  183. if errorlevel 1 PAUSE
  184. %COMPILE_CMD% HTWSRC.c
  185. if errorlevel 1 PAUSE
  186. %COMPILE_CMD% SGML.c
  187. if errorlevel 1 PAUSE
  188. ar crv libwww.a *.o
  189. if errorlevel 1 PAUSE
  190. cd ..\..\..\src\chrtrans
  191. erase *.o
  192. SET INCLUDES=-I. -I.. -I..\.. -I..\..\WWW\Library\Implementation
  193. SET CFLAGS=-O3 %INCLUDES% %DEFINES%
  194. SET COMPILE_CMD=%CC% -c %CFLAGS%
  195. %COMPILE_CMD% makeuctb.c
  196. if errorlevel 1 PAUSE
  197. %CC% -o makeuctb.exe makeuctb.o
  198. if errorlevel 1 PAUSE
  199. call makew32.bat
  200. if errorlevel 1 PAUSE
  201. cd ..\
  202. :src
  203. SET INCLUDES=-I. -I.. -I.\chrtrans -I..\WWW\Library\Implementation
  204. SET CFLAGS=-O3 %INCLUDES% %DEFINES%
  205. SET COMPILE_CMD=%CC% -c %CFLAGS%
  206. SET PATH=..\WWW\Library\Implementation;%PATH%
  207. erase *.o
  208. %COMPILE_CMD% DefaultStyle.c
  209. if errorlevel 1 PAUSE
  210. %COMPILE_CMD% GridText.c
  211. if errorlevel 1 PAUSE
  212. if not exist TRSTable.c goto notrstable
  213. %COMPILE_CMD% TRSTable.c
  214. if errorlevel 1 PAUSE
  215. :notrstable
  216. if not exist Xsystem.c goto noxsystem
  217. %COMPILE_CMD% Xsystem.c
  218. if errorlevel 1 PAUSE
  219. :noxsystem
  220. %COMPILE_CMD% HTAlert.c
  221. if errorlevel 1 PAUSE
  222. %COMPILE_CMD% HTFWriter.c
  223. if errorlevel 1 PAUSE
  224. %COMPILE_CMD% HTInit.c
  225. if errorlevel 1 PAUSE
  226. %COMPILE_CMD% HTML.c
  227. if errorlevel 1 PAUSE
  228. %COMPILE_CMD% LYBookmark.c
  229. if errorlevel 1 PAUSE
  230. %COMPILE_CMD% LYCgi.c
  231. if errorlevel 1 PAUSE
  232. %COMPILE_CMD% LYCharSets.c
  233. if errorlevel 1 PAUSE
  234. %COMPILE_CMD% LYCharUtils.c
  235. if errorlevel 1 PAUSE
  236. %COMPILE_CMD% LYClean.c
  237. if errorlevel 1 PAUSE
  238. %COMPILE_CMD% LYCookie.c
  239. if errorlevel 1 PAUSE
  240. %COMPILE_CMD% LYCurses.c
  241. if errorlevel 1 PAUSE
  242. %COMPILE_CMD% LYDownload.c
  243. if errorlevel 1 PAUSE
  244. %COMPILE_CMD% LYEdit.c
  245. if errorlevel 1 PAUSE
  246. %COMPILE_CMD% LYEditmap.c
  247. if errorlevel 1 PAUSE
  248. %COMPILE_CMD% LYexit.c
  249. if errorlevel 1 PAUSE
  250. %COMPILE_CMD% LYExtern.c
  251. if errorlevel 1 PAUSE
  252. %COMPILE_CMD% LYForms.c
  253. if errorlevel 1 PAUSE
  254. %COMPILE_CMD% LYGetFile.c
  255. if errorlevel 1 PAUSE
  256. %COMPILE_CMD% LYHash.c
  257. if errorlevel 1 PAUSE
  258. %COMPILE_CMD% LYHistory.c
  259. if errorlevel 1 PAUSE
  260. %COMPILE_CMD% LYJump.c
  261. if errorlevel 1 PAUSE
  262. %COMPILE_CMD% LYKeymap.c
  263. if errorlevel 1 PAUSE
  264. %COMPILE_CMD% LYLeaks.c
  265. if errorlevel 1 PAUSE
  266. %COMPILE_CMD% LYList.c
  267. if errorlevel 1 PAUSE
  268. %COMPILE_CMD% LYLocal.c
  269. if errorlevel 1 PAUSE
  270. %COMPILE_CMD% LYMail.c
  271. if errorlevel 1 PAUSE
  272. %COMPILE_CMD% LYMain.c
  273. if errorlevel 1 PAUSE
  274. %COMPILE_CMD% LYMainLoop.c
  275. if errorlevel 1 PAUSE
  276. %COMPILE_CMD% LYMap.c
  277. if errorlevel 1 PAUSE
  278. %COMPILE_CMD% LYNews.c
  279. if errorlevel 1 PAUSE
  280. %COMPILE_CMD% LYOptions.c
  281. if errorlevel 1 PAUSE
  282. %COMPILE_CMD% LYPrettySrc.c
  283. if errorlevel 1 PAUSE
  284. %COMPILE_CMD% LYPrint.c
  285. if errorlevel 1 PAUSE
  286. %COMPILE_CMD% LYrcFile.c
  287. if errorlevel 1 PAUSE
  288. %COMPILE_CMD% LYReadCFG.c
  289. if errorlevel 1 PAUSE
  290. %COMPILE_CMD% LYSearch.c
  291. if errorlevel 1 PAUSE
  292. %COMPILE_CMD% LYSession.c
  293. if errorlevel 1 PAUSE
  294. %COMPILE_CMD% LYShowInfo.c
  295. if errorlevel 1 PAUSE
  296. %COMPILE_CMD% LYStrings.c
  297. if errorlevel 1 PAUSE
  298. %COMPILE_CMD% LYStyle.c
  299. if errorlevel 1 PAUSE
  300. %COMPILE_CMD% LYTraversal.c
  301. if errorlevel 1 PAUSE
  302. %COMPILE_CMD% LYUpload.c
  303. if errorlevel 1 PAUSE
  304. %COMPILE_CMD% LYUtils.c
  305. if errorlevel 1 PAUSE
  306. %COMPILE_CMD% UCAuto.c
  307. if errorlevel 1 PAUSE
  308. %COMPILE_CMD% UCAux.c
  309. if errorlevel 1 PAUSE
  310. %COMPILE_CMD% UCdomap.c
  311. if errorlevel 1 PAUSE
  312. :link
  313. if not "%LIBRARY%" == "PDCURSES" goto else2
  314. SET LIBS=-L..\WWW\Library\Implementation -lwww -lpdcurses
  315. goto endif2
  316. :else2
  317. SET LIBS=-L..\WWW\Library\Implementation -lwww -lslang
  318. :endif2
  319. SET LIBS=%LIBS% -lwsock32 -luser32
  320. if not "%USE_ZLIB%" == "YES" goto else4
  321. SET LIBS=%LIBS% -lz
  322. :else4
  323. %CC% -s -o lynx *.o %LIBS%
  324. if exist lynx.exe ECHO "Welcome to lynx!"