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