Makefile 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550
  1. #
  2. # Makefile for the Vim documentation on Unix
  3. #
  4. # If you get "don't know how to make scratch", first run make in the source
  5. # directory. Or remove the include below.
  6. AWK = awk
  7. # Set to $(VIMTARGET) when executed from src/Makefile.
  8. VIMEXE = vim
  9. # include the config.mk from the source directory. It's only needed to set
  10. # AWK, used for "make html". Comment this out if the include gives problems.
  11. include ../../src/auto/config.mk
  12. DOCS = \
  13. arabic.txt \
  14. autocmd.txt \
  15. builtin.txt \
  16. change.txt \
  17. channel.txt \
  18. cmdline.txt \
  19. debug.txt \
  20. debugger.txt \
  21. develop.txt \
  22. diff.txt \
  23. digraph.txt \
  24. editing.txt \
  25. eval.txt \
  26. farsi.txt \
  27. filetype.txt \
  28. fold.txt \
  29. ft_ada.txt \
  30. ft_context.txt \
  31. ft_mp.txt \
  32. ft_ps1.txt \
  33. ft_raku.txt \
  34. ft_rust.txt \
  35. ft_sql.txt \
  36. gui.txt \
  37. gui_w32.txt \
  38. gui_x11.txt \
  39. hangulin.txt \
  40. hebrew.txt \
  41. help.txt \
  42. helphelp.txt \
  43. howto.txt \
  44. if_cscop.txt \
  45. if_lua.txt \
  46. if_mzsch.txt \
  47. if_ole.txt \
  48. if_perl.txt \
  49. if_pyth.txt \
  50. if_ruby.txt \
  51. if_sniff.txt \
  52. if_tcl.txt \
  53. indent.txt \
  54. index.txt \
  55. insert.txt \
  56. intro.txt \
  57. map.txt \
  58. mbyte.txt \
  59. message.txt \
  60. mlang.txt \
  61. motion.txt \
  62. netbeans.txt \
  63. options.txt \
  64. os_390.txt \
  65. os_amiga.txt \
  66. os_beos.txt \
  67. os_dos.txt \
  68. os_haiku.txt \
  69. os_mac.txt \
  70. os_mint.txt \
  71. os_msdos.txt \
  72. os_os2.txt \
  73. os_qnx.txt \
  74. os_risc.txt \
  75. os_unix.txt \
  76. os_vms.txt \
  77. os_win32.txt \
  78. pattern.txt \
  79. pi_getscript.txt \
  80. pi_gzip.txt \
  81. pi_logipat.txt \
  82. pi_netrw.txt \
  83. pi_paren.txt \
  84. pi_spec.txt \
  85. pi_tar.txt \
  86. pi_vimball.txt \
  87. pi_zip.txt \
  88. popup.txt \
  89. print.txt \
  90. quickfix.txt \
  91. quickref.txt \
  92. quotes.txt \
  93. recover.txt \
  94. remote.txt \
  95. repeat.txt \
  96. rileft.txt \
  97. russian.txt \
  98. scroll.txt \
  99. sign.txt \
  100. spell.txt \
  101. sponsor.txt \
  102. starting.txt \
  103. syntax.txt \
  104. tabpage.txt \
  105. tagsrch.txt \
  106. term.txt \
  107. terminal.txt \
  108. testing.txt \
  109. textprop.txt \
  110. tips.txt \
  111. todo.txt \
  112. uganda.txt \
  113. undo.txt \
  114. userfunc.txt \
  115. usr_01.txt \
  116. usr_02.txt \
  117. usr_03.txt \
  118. usr_04.txt \
  119. usr_05.txt \
  120. usr_06.txt \
  121. usr_07.txt \
  122. usr_08.txt \
  123. usr_09.txt \
  124. usr_10.txt \
  125. usr_11.txt \
  126. usr_12.txt \
  127. usr_20.txt \
  128. usr_21.txt \
  129. usr_22.txt \
  130. usr_23.txt \
  131. usr_24.txt \
  132. usr_25.txt \
  133. usr_26.txt \
  134. usr_27.txt \
  135. usr_28.txt \
  136. usr_29.txt \
  137. usr_30.txt \
  138. usr_31.txt \
  139. usr_32.txt \
  140. usr_40.txt \
  141. usr_41.txt \
  142. usr_42.txt \
  143. usr_43.txt \
  144. usr_44.txt \
  145. usr_45.txt \
  146. usr_50.txt \
  147. usr_51.txt \
  148. usr_52.txt \
  149. usr_90.txt \
  150. usr_toc.txt \
  151. various.txt \
  152. version4.txt \
  153. version5.txt \
  154. version6.txt \
  155. version7.txt \
  156. version8.txt \
  157. version9.txt \
  158. vi_diff.txt \
  159. vim9.txt \
  160. vim9class.txt \
  161. visual.txt \
  162. windows.txt \
  163. workshop.txt
  164. HTMLS = \
  165. arabic.html \
  166. autocmd.html \
  167. builtin.html \
  168. change.html \
  169. channel.html \
  170. cmdline.html \
  171. debug.html \
  172. debugger.html \
  173. develop.html \
  174. diff.html \
  175. digraph.html \
  176. editing.html \
  177. eval.html \
  178. farsi.html \
  179. filetype.html \
  180. fold.html \
  181. ft_ada.html \
  182. ft_context.html \
  183. ft_mp.html \
  184. ft_ps1.html \
  185. ft_raku.html \
  186. ft_rust.html \
  187. ft_sql.html \
  188. gui.html \
  189. gui_w32.html \
  190. gui_x11.html \
  191. hangulin.html \
  192. hebrew.html \
  193. helphelp.html \
  194. howto.html \
  195. if_cscop.html \
  196. if_lua.html \
  197. if_mzsch.html \
  198. if_ole.html \
  199. if_perl.html \
  200. if_pyth.html \
  201. if_ruby.html \
  202. if_sniff.html \
  203. if_tcl.html \
  204. indent.html \
  205. index.html \
  206. insert.html \
  207. intro.html \
  208. map.html \
  209. mbyte.html \
  210. message.html \
  211. mlang.html \
  212. motion.html \
  213. netbeans.html \
  214. options.html \
  215. os_390.html \
  216. os_amiga.html \
  217. os_beos.html \
  218. os_dos.html \
  219. os_haiku.html \
  220. os_mac.html \
  221. os_mint.html \
  222. os_msdos.html \
  223. os_os2.html \
  224. os_qnx.html \
  225. os_risc.html \
  226. os_unix.html \
  227. os_vms.html \
  228. os_win32.html \
  229. pattern.html \
  230. pi_getscript.html \
  231. pi_gzip.html \
  232. pi_logipat.html \
  233. pi_netrw.html \
  234. pi_paren.html \
  235. pi_spec.html \
  236. pi_tar.html \
  237. pi_vimball.html \
  238. pi_zip.html \
  239. popup.html \
  240. print.html \
  241. quickfix.html \
  242. quickref.html \
  243. quotes.html \
  244. recover.html \
  245. remote.html \
  246. repeat.html \
  247. rileft.html \
  248. russian.html \
  249. scroll.html \
  250. sign.html \
  251. spell.html \
  252. sponsor.html \
  253. starting.html \
  254. syntax.html \
  255. tabpage.html \
  256. tagsrch.html \
  257. term.html \
  258. terminal.html \
  259. testing.html \
  260. textprop.html \
  261. tips.html \
  262. todo.html \
  263. uganda.html \
  264. undo.html \
  265. userfunc.html \
  266. usr_01.html \
  267. usr_02.html \
  268. usr_03.html \
  269. usr_04.html \
  270. usr_05.html \
  271. usr_06.html \
  272. usr_07.html \
  273. usr_08.html \
  274. usr_09.html \
  275. usr_10.html \
  276. usr_11.html \
  277. usr_12.html \
  278. usr_20.html \
  279. usr_21.html \
  280. usr_22.html \
  281. usr_23.html \
  282. usr_24.html \
  283. usr_25.html \
  284. usr_26.html \
  285. usr_27.html \
  286. usr_28.html \
  287. usr_29.html \
  288. usr_30.html \
  289. usr_31.html \
  290. usr_32.html \
  291. usr_40.html \
  292. usr_41.html \
  293. usr_42.html \
  294. usr_43.html \
  295. usr_44.html \
  296. usr_45.html \
  297. usr_50.html \
  298. usr_51.html \
  299. usr_52.html \
  300. usr_90.html \
  301. usr_toc.html \
  302. various.html \
  303. version4.html \
  304. version5.html \
  305. version6.html \
  306. version7.html \
  307. version8.html \
  308. version9.html \
  309. vi_diff.html \
  310. vimindex.html \
  311. vim9.html \
  312. vim9class.html \
  313. visual.html \
  314. windows.html \
  315. workshop.html
  316. CONVERTED = \
  317. vim-fr.UTF-8.1 \
  318. evim-fr.UTF-8.1 \
  319. vimdiff-fr.UTF-8.1 \
  320. vimtutor-fr.UTF-8.1 \
  321. xxd-fr.UTF-8.1 \
  322. vim-it.UTF-8.1 \
  323. evim-it.UTF-8.1 \
  324. vimdiff-it.UTF-8.1 \
  325. vimtutor-it.UTF-8.1 \
  326. xxd-it.UTF-8.1 \
  327. vim-pl.UTF-8.1 \
  328. evim-pl.UTF-8.1 \
  329. vimdiff-pl.UTF-8.1 \
  330. vimtutor-pl.UTF-8.1 \
  331. xxd-pl.UTF-8.1 \
  332. vim-ru.UTF-8.1 \
  333. evim-ru.UTF-8.1 \
  334. vimdiff-ru.UTF-8.1 \
  335. vimtutor-ru.UTF-8.1 \
  336. xxd-ru.UTF-8.1 \
  337. vim-tr.UTF-8.1 \
  338. evim-tr.UTF-8.1 \
  339. vimdiff-tr.UTF-8.1 \
  340. vimtutor-tr.UTF-8.1
  341. .SUFFIXES:
  342. .SUFFIXES: .c .o .txt .html
  343. all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
  344. # Use Vim to generate the tags file. Can only be used when Vim has been
  345. # compiled and installed. Supports multiple languages.
  346. vimtags: $(DOCS)
  347. @$(VIMEXE) --clean -esX -V1 -u doctags.vim
  348. # Use "doctags" to generate the tags file. Only works for English!
  349. tags: doctags $(DOCS)
  350. ./doctags $(DOCS) | LANG=C LC_ALL=C sort >tags
  351. uniq -d -2 tags
  352. doctags: doctags.c
  353. $(CC) doctags.c -o doctags
  354. vim.man: vim.1
  355. nroff -man vim.1 | sed -e s/.//g > vim.man
  356. evim.man: evim.1
  357. nroff -man evim.1 | sed -e s/.//g > evim.man
  358. vimdiff.man: vimdiff.1
  359. nroff -man vimdiff.1 | sed -e s/.//g > vimdiff.man
  360. vimtutor.man: vimtutor.1
  361. nroff -man vimtutor.1 | sed -e s/.//g > vimtutor.man
  362. xxd.man: xxd.1
  363. nroff -man xxd.1 | sed -e s/.//g > xxd.man
  364. uganda.nsis.txt: uganda.txt
  365. sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
  366. uganda.txt | uniq >uganda.nsis.txt
  367. # Awk version of .txt to .html conversion.
  368. html: noerrors tags $(HTMLS)
  369. @if test -f errors.log; then more errors.log; fi
  370. noerrors:
  371. -rm -f errors.log
  372. $(HTMLS): tags.ref
  373. .txt.html:
  374. $(AWK) -f makehtml.awk $< >$@
  375. # index.html is the starting point for HTML, but for the help files it is
  376. # help.txt. Therefore use vimindex.html for index.txt.
  377. index.html: help.txt
  378. $(AWK) -f makehtml.awk help.txt >index.html
  379. vimindex.html: index.txt
  380. $(AWK) -f makehtml.awk index.txt >vimindex.html
  381. tags.ref tags.html: tags
  382. $(AWK) -f maketags.awk tags >tags.html
  383. # Perl version of .txt to .html conversion.
  384. # There can't be two rules to produce a .html from a .txt file.
  385. # Just run over all .txt files each time one changes. It's fast anyway.
  386. perlhtml: tags $(DOCS)
  387. ./vim2html.pl tags $(DOCS)
  388. # Check URLs in the help with "curl".
  389. test_urls:
  390. vim -S test_urls.vim
  391. clean:
  392. -rm -f doctags *.html tags.ref
  393. # These files are in the extra archive, skip if not present
  394. arabic.txt:
  395. touch arabic.txt
  396. farsi.txt:
  397. touch farsi.txt
  398. hebrew.txt:
  399. touch hebrew.txt
  400. russian.txt:
  401. touch russian.txt
  402. gui_w32.txt:
  403. touch gui_w32.txt
  404. if_ole.txt:
  405. touch if_ole.txt
  406. os_390.txt:
  407. touch os_390.txt
  408. os_amiga.txt:
  409. touch os_amiga.txt
  410. os_beos.txt:
  411. touch os_beos.txt
  412. os_dos.txt:
  413. touch os_dos.txt
  414. os_haiku.txt:
  415. touch os_haiku.txt
  416. os_mac.txt:
  417. touch os_mac.txt
  418. os_mint.txt:
  419. touch os_mint.txt
  420. os_msdos.txt:
  421. touch os_msdos.txt
  422. os_os2.txt:
  423. touch os_os2.txt
  424. os_qnx.txt:
  425. touch os_qnx.txt
  426. os_risc.txt:
  427. touch os_risc.txt
  428. os_win32.txt:
  429. touch os_win32.txt
  430. # Note that $< works with GNU make while $> works for BSD make.
  431. # Is there a solution that works for both??
  432. vim-fr.UTF-8.1: vim-fr.1
  433. iconv -f latin1 -t utf-8 $< >$@
  434. evim-fr.UTF-8.1: evim-fr.1
  435. iconv -f latin1 -t utf-8 $< >$@
  436. vimdiff-fr.UTF-8.1: vimdiff-fr.1
  437. iconv -f latin1 -t utf-8 $< >$@
  438. vimtutor-fr.UTF-8.1: vimtutor-fr.1
  439. iconv -f latin1 -t utf-8 $< >$@
  440. xxd-fr.UTF-8.1: xxd-fr.1
  441. iconv -f latin1 -t utf-8 $< >$@
  442. vim-it.UTF-8.1: vim-it.1
  443. iconv -f latin1 -t utf-8 $< >$@
  444. evim-it.UTF-8.1: evim-it.1
  445. iconv -f latin1 -t utf-8 $< >$@
  446. vimdiff-it.UTF-8.1: vimdiff-it.1
  447. iconv -f latin1 -t utf-8 $< >$@
  448. vimtutor-it.UTF-8.1: vimtutor-it.1
  449. iconv -f latin1 -t utf-8 $< >$@
  450. xxd-it.UTF-8.1: xxd-it.1
  451. iconv -f latin1 -t utf-8 $< >$@
  452. vim-pl.UTF-8.1: vim-pl.1
  453. iconv -f latin2 -t utf-8 $< >$@
  454. evim-pl.UTF-8.1: evim-pl.1
  455. iconv -f latin2 -t utf-8 $< >$@
  456. vimdiff-pl.UTF-8.1: vimdiff-pl.1
  457. iconv -f latin2 -t utf-8 $< >$@
  458. vimtutor-pl.UTF-8.1: vimtutor-pl.1
  459. iconv -f latin2 -t utf-8 $< >$@
  460. xxd-pl.UTF-8.1: xxd-pl.1
  461. iconv -f latin2 -t utf-8 $< >$@
  462. vim-ru.UTF-8.1: vim-ru.1
  463. iconv -f KOI8-R -t utf-8 $< >$@
  464. evim-ru.UTF-8.1: evim-ru.1
  465. iconv -f KOI8-R -t utf-8 $< >$@
  466. vimdiff-ru.UTF-8.1: vimdiff-ru.1
  467. iconv -f KOI8-R -t utf-8 $< >$@
  468. vimtutor-ru.UTF-8.1: vimtutor-ru.1
  469. iconv -f KOI8-R -t utf-8 $< >$@
  470. xxd-ru.UTF-8.1: xxd-ru.1
  471. iconv -f KOI8-R -t utf-8 $< >$@
  472. vim-tr.UTF-8.1: vim-tr.1
  473. iconv -f latin5 -t utf-8 $< >$@
  474. evim-tr.UTF-8.1: evim-tr.1
  475. iconv -f latin5 -t utf-8 $< >$@
  476. vimdiff-tr.UTF-8.1: vimdiff-tr.1
  477. iconv -f latin5 -t utf-8 $< >$@
  478. vimtutor-tr.UTF-8.1: vimtutor-tr.1
  479. iconv -f latin5 -t utf-8 $< >$@