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