blob: 65dc8436c6ae8b208d76c4067e101d5feb70dd85 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
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 \
Bram Moolenaar3b5f9292016-01-28 22:37:01 +010020 channel.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000021 cmdline.txt \
Bram Moolenaare344bea2005-09-01 20:46:49 +000022 debug.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000023 debugger.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000024 develop.txt \
25 diff.txt \
26 digraph.txt \
27 editing.txt \
28 eval.txt \
29 farsi.txt \
30 filetype.txt \
31 fold.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000032 ft_ada.txt \
Bram Moolenaar3c2881d2017-03-21 19:18:29 +010033 ft_rust.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000034 ft_sql.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000035 gui.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000036 gui_w32.txt \
37 gui_x11.txt \
38 hangulin.txt \
39 hebrew.txt \
40 help.txt \
Bram Moolenaar91604412010-06-03 20:25:18 +020041 helphelp.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000042 howto.txt \
43 if_cscop.txt \
Bram Moolenaar0ba04292010-07-14 23:23:17 +020044 if_lua.txt \
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000045 if_mzsch.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000046 if_ole.txt \
47 if_perl.txt \
48 if_pyth.txt \
49 if_ruby.txt \
50 if_sniff.txt \
51 if_tcl.txt \
52 indent.txt \
53 index.txt \
54 insert.txt \
55 intro.txt \
56 map.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000057 mbyte.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000058 message.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000059 mlang.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000060 motion.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000061 netbeans.txt \
62 options.txt \
63 os_390.txt \
64 os_amiga.txt \
65 os_beos.txt \
66 os_dos.txt \
67 os_mac.txt \
68 os_mint.txt \
69 os_msdos.txt \
70 os_os2.txt \
71 os_qnx.txt \
72 os_risc.txt \
73 os_unix.txt \
74 os_vms.txt \
75 os_win32.txt \
76 pattern.txt \
Bram Moolenaard5ab34b2007-05-05 17:15:44 +000077 pi_getscript.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000078 pi_gzip.txt \
Bram Moolenaare2db6c92015-06-19 18:48:41 +020079 pi_logipat.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000080 pi_netrw.txt \
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000081 pi_paren.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000082 pi_spec.txt \
Bram Moolenaara3957102005-11-28 22:56:19 +000083 pi_tar.txt \
Bram Moolenaar25e2c9e2006-04-27 21:40:34 +000084 pi_vimball.txt \
Bram Moolenaara3957102005-11-28 22:56:19 +000085 pi_zip.txt \
Bram Moolenaar957f85d2019-05-12 21:43:48 +020086 popup.txt \
Bram Moolenaar8299df92004-07-10 09:47:34 +000087 print.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000088 quickfix.txt \
89 quickref.txt \
90 quotes.txt \
91 recover.txt \
92 remote.txt \
93 repeat.txt \
94 rileft.txt \
95 russian.txt \
96 scroll.txt \
97 sign.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000098 spell.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000099 sponsor.txt \
100 starting.txt \
101 syntax.txt \
Bram Moolenaar7e8fd632006-02-18 22:14:51 +0000102 tabpage.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103 tagsrch.txt \
104 term.txt \
Bram Moolenaare4f25e42017-07-07 11:54:15 +0200105 terminal.txt \
Bram Moolenaared997ad2019-07-21 16:42:00 +0200106 testing.txt \
Bram Moolenaar98aefe72018-12-13 22:20:09 +0100107 textprop.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000108 tips.txt \
109 todo.txt \
110 uganda.txt \
111 undo.txt \
112 usr_01.txt \
113 usr_02.txt \
114 usr_03.txt \
115 usr_04.txt \
116 usr_05.txt \
117 usr_06.txt \
118 usr_07.txt \
119 usr_08.txt \
120 usr_09.txt \
121 usr_10.txt \
122 usr_11.txt \
123 usr_12.txt \
124 usr_20.txt \
125 usr_21.txt \
126 usr_22.txt \
127 usr_23.txt \
128 usr_24.txt \
129 usr_25.txt \
130 usr_26.txt \
131 usr_27.txt \
132 usr_28.txt \
133 usr_29.txt \
134 usr_30.txt \
135 usr_31.txt \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000136 usr_32.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137 usr_40.txt \
138 usr_41.txt \
139 usr_42.txt \
140 usr_43.txt \
141 usr_44.txt \
142 usr_45.txt \
143 usr_90.txt \
144 usr_toc.txt \
145 various.txt \
146 version4.txt \
147 version5.txt \
148 version6.txt \
Bram Moolenaar8299df92004-07-10 09:47:34 +0000149 version7.txt \
Bram Moolenaar03413f42016-04-12 21:07:15 +0200150 version8.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000151 vi_diff.txt \
Bram Moolenaar8a7d6542020-01-26 15:56:19 +0100152 vim9.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000153 visual.txt \
154 windows.txt \
155 workshop.txt
156
157HTMLS = \
158 arabic.html \
159 autocmd.html \
160 change.html \
Bram Moolenaar3b5f9292016-01-28 22:37:01 +0100161 channel.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000162 cmdline.html \
Bram Moolenaare344bea2005-09-01 20:46:49 +0000163 debug.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000164 debugger.html \
165 develop.html \
166 diff.html \
167 digraph.html \
168 editing.html \
169 eval.html \
170 farsi.html \
171 filetype.html \
172 fold.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000173 ft_ada.html \
Bram Moolenaar3c2881d2017-03-21 19:18:29 +0100174 ft_rust.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000175 ft_sql.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000176 gui.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000177 gui_w32.html \
178 gui_x11.html \
179 hangulin.html \
180 hebrew.html \
Bram Moolenaarb2c03502010-07-02 20:20:09 +0200181 helphelp.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000182 howto.html \
183 if_cscop.html \
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200184 if_lua.html \
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000185 if_mzsch.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000186 if_ole.html \
187 if_perl.html \
188 if_pyth.html \
189 if_ruby.html \
190 if_sniff.html \
191 if_tcl.html \
192 indent.html \
193 index.html \
194 insert.html \
195 intro.html \
196 map.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000197 mbyte.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000198 message.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000199 mlang.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000200 motion.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000201 netbeans.html \
202 options.html \
203 os_390.html \
204 os_amiga.html \
205 os_beos.html \
206 os_dos.html \
207 os_mac.html \
208 os_mint.html \
209 os_msdos.html \
210 os_os2.html \
211 os_qnx.html \
212 os_risc.html \
213 os_unix.html \
214 os_vms.html \
215 os_win32.html \
216 pattern.html \
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000217 pi_getscript.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000218 pi_gzip.html \
Bram Moolenaare2db6c92015-06-19 18:48:41 +0200219 pi_logipat.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000220 pi_netrw.html \
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +0000221 pi_paren.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000222 pi_spec.html \
Bram Moolenaar25e2c9e2006-04-27 21:40:34 +0000223 pi_tar.html \
224 pi_vimball.html \
225 pi_zip.html \
Bram Moolenaar957f85d2019-05-12 21:43:48 +0200226 popup.html \
Bram Moolenaar8299df92004-07-10 09:47:34 +0000227 print.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228 quickfix.html \
229 quickref.html \
230 quotes.html \
231 recover.html \
232 remote.html \
233 repeat.html \
234 rileft.html \
235 russian.html \
236 scroll.html \
237 sign.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000238 spell.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000239 sponsor.html \
240 starting.html \
241 syntax.html \
Bram Moolenaar7e8fd632006-02-18 22:14:51 +0000242 tabpage.html \
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000243 tagsrch.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000244 term.html \
Bram Moolenaare4f25e42017-07-07 11:54:15 +0200245 terminal.html \
Bram Moolenaared997ad2019-07-21 16:42:00 +0200246 testing.html \
Bram Moolenaar98aefe72018-12-13 22:20:09 +0100247 textprop.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000248 tips.html \
249 todo.html \
250 uganda.html \
251 undo.html \
252 usr_01.html \
253 usr_02.html \
254 usr_03.html \
255 usr_04.html \
256 usr_05.html \
257 usr_06.html \
258 usr_07.html \
259 usr_08.html \
260 usr_09.html \
261 usr_10.html \
262 usr_11.html \
263 usr_12.html \
264 usr_20.html \
265 usr_21.html \
266 usr_22.html \
267 usr_23.html \
268 usr_24.html \
269 usr_25.html \
270 usr_26.html \
271 usr_27.html \
272 usr_28.html \
273 usr_29.html \
274 usr_30.html \
275 usr_31.html \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000276 usr_32.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000277 usr_40.html \
278 usr_41.html \
279 usr_42.html \
280 usr_43.html \
281 usr_44.html \
282 usr_45.html \
283 usr_90.html \
284 usr_toc.html \
285 various.html \
286 version4.html \
287 version5.html \
288 version6.html \
Bram Moolenaar8299df92004-07-10 09:47:34 +0000289 version7.html \
Bram Moolenaar03413f42016-04-12 21:07:15 +0200290 version8.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000291 vi_diff.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000292 vimindex.html \
Bram Moolenaar8a7d6542020-01-26 15:56:19 +0100293 vim9.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000294 visual.html \
295 windows.html \
296 workshop.html
297
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000298CONVERTED = \
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000299 vim-fr.UTF-8.1 \
300 evim-fr.UTF-8.1 \
301 vimdiff-fr.UTF-8.1 \
302 vimtutor-fr.UTF-8.1 \
303 xxd-fr.UTF-8.1 \
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000304 vim-it.UTF-8.1 \
305 evim-it.UTF-8.1 \
306 vimdiff-it.UTF-8.1 \
307 vimtutor-it.UTF-8.1 \
308 xxd-it.UTF-8.1 \
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000309 vim-pl.UTF-8.1 \
310 evim-pl.UTF-8.1 \
311 vimdiff-pl.UTF-8.1 \
312 vimtutor-pl.UTF-8.1 \
313 xxd-pl.UTF-8.1 \
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000314 vim-ru.UTF-8.1 \
315 evim-ru.UTF-8.1 \
316 vimdiff-ru.UTF-8.1 \
317 vimtutor-ru.UTF-8.1 \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000318 xxd-ru.UTF-8.1
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000319
Bram Moolenaar071d4272004-06-13 20:20:40 +0000320.SUFFIXES:
321.SUFFIXES: .c .o .txt .html
322
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000323all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000324
325# Use Vim to generate the tags file. Can only be used when Vim has been
326# compiled and installed. Supports multiple languages.
327vimtags: $(DOCS)
Bram Moolenaar23877732020-01-21 22:13:42 +0100328 @$(VIMEXE) --clean -esX -V1 -u doctags.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +0000329
330# Use "doctags" to generate the tags file. Only works for English!
331tags: doctags $(DOCS)
332 ./doctags $(DOCS) | LANG=C LC_ALL=C sort >tags
333 uniq -d -2 tags
334
335doctags: doctags.c
336 $(CC) doctags.c -o doctags
337
338vim.man: vim.1
339 nroff -man vim.1 | sed -e s/.//g > vim.man
340
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000341evim.man: evim.1
342 nroff -man evim.1 | sed -e s/.//g > evim.man
343
Bram Moolenaar071d4272004-06-13 20:20:40 +0000344vimdiff.man: vimdiff.1
345 nroff -man vimdiff.1 | sed -e s/.//g > vimdiff.man
346
347vimtutor.man: vimtutor.1
348 nroff -man vimtutor.1 | sed -e s/.//g > vimtutor.man
349
350xxd.man: xxd.1
351 nroff -man xxd.1 | sed -e s/.//g > xxd.man
352
353uganda.nsis.txt: uganda.txt
Bram Moolenaar7cb769a2017-11-16 17:36:02 +0100354 sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000355 uganda.txt | uniq >uganda.nsis.txt
356
357# Awk version of .txt to .html conversion.
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +0200358html: noerrors tags $(HTMLS)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000359 @if test -f errors.log; then more errors.log; fi
360
361noerrors:
362 -rm -f errors.log
363
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +0200364$(HTMLS): tags.ref
365
Bram Moolenaar071d4272004-06-13 20:20:40 +0000366.txt.html:
367 $(AWK) -f makehtml.awk $< >$@
368
Bram Moolenaar371d5402006-03-20 21:47:49 +0000369# index.html is the starting point for HTML, but for the help files it is
370# help.txt. Therefore use vimindex.html for index.txt.
371index.html: help.txt
372 $(AWK) -f makehtml.awk help.txt >index.html
373
374vimindex.html: index.txt
375 $(AWK) -f makehtml.awk index.txt >vimindex.html
376
Bram Moolenaar071d4272004-06-13 20:20:40 +0000377tags.ref tags.html: tags
378 $(AWK) -f maketags.awk tags >tags.html
379
380# Perl version of .txt to .html conversion.
381# There can't be two rules to produce a .html from a .txt file.
382# Just run over all .txt files each time one changes. It's fast anyway.
383perlhtml: tags $(DOCS)
384 ./vim2html.pl tags $(DOCS)
385
Bram Moolenaar2f058492017-11-30 20:27:52 +0100386# Check URLs in the help with "curl".
387test_urls:
388 vim -S test_urls.vim
389
Bram Moolenaar071d4272004-06-13 20:20:40 +0000390clean:
391 -rm doctags *.html tags.ref
392
393# These files are in the extra archive, skip if not present
394
395arabic.txt:
396 touch arabic.txt
397
398farsi.txt:
399 touch farsi.txt
400
401hebrew.txt:
402 touch hebrew.txt
403
404russian.txt:
405 touch russian.txt
406
Bram Moolenaar071d4272004-06-13 20:20:40 +0000407gui_w32.txt:
408 touch gui_w32.txt
409
410if_ole.txt:
411 touch if_ole.txt
412
413os_390.txt:
414 touch os_390.txt
415
416os_amiga.txt:
417 touch os_amiga.txt
418
419os_beos.txt:
420 touch os_beos.txt
421
422os_dos.txt:
423 touch os_dos.txt
424
425os_mac.txt:
426 touch os_mac.txt
427
428os_mint.txt:
429 touch os_mint.txt
430
431os_msdos.txt:
432 touch os_msdos.txt
433
434os_os2.txt:
435 touch os_os2.txt
436
437os_qnx.txt:
438 touch os_qnx.txt
439
440os_risc.txt:
441 touch os_risc.txt
442
443os_win32.txt:
444 touch os_win32.txt
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000445
Bram Moolenaarb475fb92006-03-02 22:40:52 +0000446# Note that $< works with GNU make while $> works for BSD make.
Bram Moolenaar3991dab2006-03-27 17:01:56 +0000447# Is there a solution that works for both??
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000448vim-fr.UTF-8.1: vim-fr.1
449 iconv -f latin1 -t utf-8 $< >$@
450
451evim-fr.UTF-8.1: evim-fr.1
452 iconv -f latin1 -t utf-8 $< >$@
453
454vimdiff-fr.UTF-8.1: vimdiff-fr.1
455 iconv -f latin1 -t utf-8 $< >$@
456
457vimtutor-fr.UTF-8.1: vimtutor-fr.1
458 iconv -f latin1 -t utf-8 $< >$@
459
460xxd-fr.UTF-8.1: xxd-fr.1
461 iconv -f latin1 -t utf-8 $< >$@
462
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000463vim-it.UTF-8.1: vim-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000464 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000465
466evim-it.UTF-8.1: evim-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000467 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000468
469vimdiff-it.UTF-8.1: vimdiff-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000470 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000471
472vimtutor-it.UTF-8.1: vimtutor-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000473 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000474
475xxd-it.UTF-8.1: xxd-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000476 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000477
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000478vim-pl.UTF-8.1: vim-pl.1
479 iconv -f latin2 -t utf-8 $< >$@
480
481evim-pl.UTF-8.1: evim-pl.1
482 iconv -f latin2 -t utf-8 $< >$@
483
484vimdiff-pl.UTF-8.1: vimdiff-pl.1
485 iconv -f latin2 -t utf-8 $< >$@
486
487vimtutor-pl.UTF-8.1: vimtutor-pl.1
488 iconv -f latin2 -t utf-8 $< >$@
489
490xxd-pl.UTF-8.1: xxd-pl.1
491 iconv -f latin2 -t utf-8 $< >$@
492
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000493vim-ru.UTF-8.1: vim-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000494 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000495
496evim-ru.UTF-8.1: evim-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000497 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000498
499vimdiff-ru.UTF-8.1: vimdiff-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000500 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000501
502vimtutor-ru.UTF-8.1: vimtutor-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000503 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000504
505xxd-ru.UTF-8.1: xxd-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000506 iconv -f KOI8-R -t utf-8 $< >$@