blob: 33a09be42944ae2469bbe2603a8435f066e53bd2 [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 \
33 ft_sql.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000034 gui.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000035 gui_w32.txt \
36 gui_x11.txt \
37 hangulin.txt \
38 hebrew.txt \
39 help.txt \
Bram Moolenaar91604412010-06-03 20:25:18 +020040 helphelp.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000041 howto.txt \
42 if_cscop.txt \
Bram Moolenaar0ba04292010-07-14 23:23:17 +020043 if_lua.txt \
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000044 if_mzsch.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000045 if_ole.txt \
46 if_perl.txt \
47 if_pyth.txt \
48 if_ruby.txt \
49 if_sniff.txt \
50 if_tcl.txt \
51 indent.txt \
52 index.txt \
53 insert.txt \
54 intro.txt \
55 map.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000056 mbyte.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000057 message.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000058 mlang.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000059 motion.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000060 netbeans.txt \
61 options.txt \
62 os_390.txt \
63 os_amiga.txt \
64 os_beos.txt \
65 os_dos.txt \
66 os_mac.txt \
67 os_mint.txt \
68 os_msdos.txt \
69 os_os2.txt \
70 os_qnx.txt \
71 os_risc.txt \
72 os_unix.txt \
73 os_vms.txt \
74 os_win32.txt \
75 pattern.txt \
Bram Moolenaard5ab34b2007-05-05 17:15:44 +000076 pi_getscript.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000077 pi_gzip.txt \
Bram Moolenaare2db6c92015-06-19 18:48:41 +020078 pi_logipat.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000079 pi_netrw.txt \
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +000080 pi_paren.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000081 pi_spec.txt \
Bram Moolenaara3957102005-11-28 22:56:19 +000082 pi_tar.txt \
Bram Moolenaar25e2c9e2006-04-27 21:40:34 +000083 pi_vimball.txt \
Bram Moolenaara3957102005-11-28 22:56:19 +000084 pi_zip.txt \
Bram Moolenaar8299df92004-07-10 09:47:34 +000085 print.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000086 quickfix.txt \
87 quickref.txt \
88 quotes.txt \
89 recover.txt \
90 remote.txt \
91 repeat.txt \
92 rileft.txt \
93 russian.txt \
94 scroll.txt \
95 sign.txt \
Bram Moolenaara7241f52008-06-24 20:39:31 +000096 spell.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +000097 sponsor.txt \
98 starting.txt \
99 syntax.txt \
Bram Moolenaar7e8fd632006-02-18 22:14:51 +0000100 tabpage.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000101 tagsrch.txt \
102 term.txt \
103 tips.txt \
104 todo.txt \
105 uganda.txt \
106 undo.txt \
107 usr_01.txt \
108 usr_02.txt \
109 usr_03.txt \
110 usr_04.txt \
111 usr_05.txt \
112 usr_06.txt \
113 usr_07.txt \
114 usr_08.txt \
115 usr_09.txt \
116 usr_10.txt \
117 usr_11.txt \
118 usr_12.txt \
119 usr_20.txt \
120 usr_21.txt \
121 usr_22.txt \
122 usr_23.txt \
123 usr_24.txt \
124 usr_25.txt \
125 usr_26.txt \
126 usr_27.txt \
127 usr_28.txt \
128 usr_29.txt \
129 usr_30.txt \
130 usr_31.txt \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000131 usr_32.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000132 usr_40.txt \
133 usr_41.txt \
134 usr_42.txt \
135 usr_43.txt \
136 usr_44.txt \
137 usr_45.txt \
138 usr_90.txt \
139 usr_toc.txt \
140 various.txt \
141 version4.txt \
142 version5.txt \
143 version6.txt \
Bram Moolenaar8299df92004-07-10 09:47:34 +0000144 version7.txt \
Bram Moolenaar03413f42016-04-12 21:07:15 +0200145 version8.txt \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000146 vi_diff.txt \
147 visual.txt \
148 windows.txt \
149 workshop.txt
150
151HTMLS = \
152 arabic.html \
153 autocmd.html \
154 change.html \
Bram Moolenaar3b5f9292016-01-28 22:37:01 +0100155 channel.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000156 cmdline.html \
Bram Moolenaare344bea2005-09-01 20:46:49 +0000157 debug.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000158 debugger.html \
159 develop.html \
160 diff.html \
161 digraph.html \
162 editing.html \
163 eval.html \
164 farsi.html \
165 filetype.html \
166 fold.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000167 ft_ada.html \
168 ft_sql.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000169 gui.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000170 gui_w32.html \
171 gui_x11.html \
172 hangulin.html \
173 hebrew.html \
Bram Moolenaarb2c03502010-07-02 20:20:09 +0200174 helphelp.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000175 howto.html \
176 if_cscop.html \
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200177 if_lua.html \
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000178 if_mzsch.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000179 if_ole.html \
180 if_perl.html \
181 if_pyth.html \
182 if_ruby.html \
183 if_sniff.html \
184 if_tcl.html \
185 indent.html \
186 index.html \
187 insert.html \
188 intro.html \
189 map.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000190 mbyte.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000191 message.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000192 mlang.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000193 motion.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000194 netbeans.html \
195 options.html \
196 os_390.html \
197 os_amiga.html \
198 os_beos.html \
199 os_dos.html \
200 os_mac.html \
201 os_mint.html \
202 os_msdos.html \
203 os_os2.html \
204 os_qnx.html \
205 os_risc.html \
206 os_unix.html \
207 os_vms.html \
208 os_win32.html \
209 pattern.html \
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000210 pi_getscript.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000211 pi_gzip.html \
Bram Moolenaare2db6c92015-06-19 18:48:41 +0200212 pi_logipat.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000213 pi_netrw.html \
Bram Moolenaar5e3cb7e2006-02-27 23:58:35 +0000214 pi_paren.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000215 pi_spec.html \
Bram Moolenaar25e2c9e2006-04-27 21:40:34 +0000216 pi_tar.html \
217 pi_vimball.html \
218 pi_zip.html \
Bram Moolenaar8299df92004-07-10 09:47:34 +0000219 print.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000220 quickfix.html \
221 quickref.html \
222 quotes.html \
223 recover.html \
224 remote.html \
225 repeat.html \
226 rileft.html \
227 russian.html \
228 scroll.html \
229 sign.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000230 spell.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000231 sponsor.html \
232 starting.html \
233 syntax.html \
Bram Moolenaar7e8fd632006-02-18 22:14:51 +0000234 tabpage.html \
Bram Moolenaard5ab34b2007-05-05 17:15:44 +0000235 tagsrch.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000236 term.html \
237 tips.html \
238 todo.html \
239 uganda.html \
240 undo.html \
241 usr_01.html \
242 usr_02.html \
243 usr_03.html \
244 usr_04.html \
245 usr_05.html \
246 usr_06.html \
247 usr_07.html \
248 usr_08.html \
249 usr_09.html \
250 usr_10.html \
251 usr_11.html \
252 usr_12.html \
253 usr_20.html \
254 usr_21.html \
255 usr_22.html \
256 usr_23.html \
257 usr_24.html \
258 usr_25.html \
259 usr_26.html \
260 usr_27.html \
261 usr_28.html \
262 usr_29.html \
263 usr_30.html \
264 usr_31.html \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000265 usr_32.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000266 usr_40.html \
267 usr_41.html \
268 usr_42.html \
269 usr_43.html \
270 usr_44.html \
271 usr_45.html \
272 usr_90.html \
273 usr_toc.html \
274 various.html \
275 version4.html \
276 version5.html \
277 version6.html \
Bram Moolenaar8299df92004-07-10 09:47:34 +0000278 version7.html \
Bram Moolenaar03413f42016-04-12 21:07:15 +0200279 version8.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000280 vi_diff.html \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000281 vimindex.html \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000282 visual.html \
283 windows.html \
284 workshop.html
285
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000286CONVERTED = \
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000287 vim-fr.UTF-8.1 \
288 evim-fr.UTF-8.1 \
289 vimdiff-fr.UTF-8.1 \
290 vimtutor-fr.UTF-8.1 \
291 xxd-fr.UTF-8.1 \
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000292 vim-it.UTF-8.1 \
293 evim-it.UTF-8.1 \
294 vimdiff-it.UTF-8.1 \
295 vimtutor-it.UTF-8.1 \
296 xxd-it.UTF-8.1 \
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000297 vim-pl.UTF-8.1 \
298 evim-pl.UTF-8.1 \
299 vimdiff-pl.UTF-8.1 \
300 vimtutor-pl.UTF-8.1 \
301 xxd-pl.UTF-8.1 \
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000302 vim-ru.UTF-8.1 \
303 evim-ru.UTF-8.1 \
304 vimdiff-ru.UTF-8.1 \
305 vimtutor-ru.UTF-8.1 \
Bram Moolenaara7241f52008-06-24 20:39:31 +0000306 xxd-ru.UTF-8.1
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000307
Bram Moolenaar071d4272004-06-13 20:20:40 +0000308.SUFFIXES:
309.SUFFIXES: .c .o .txt .html
310
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000311all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000312
313# Use Vim to generate the tags file. Can only be used when Vim has been
314# compiled and installed. Supports multiple languages.
315vimtags: $(DOCS)
Bram Moolenaar426e5c92008-01-11 20:02:02 +0000316 $(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
Bram Moolenaar071d4272004-06-13 20:20:40 +0000317
318# Use "doctags" to generate the tags file. Only works for English!
319tags: doctags $(DOCS)
320 ./doctags $(DOCS) | LANG=C LC_ALL=C sort >tags
321 uniq -d -2 tags
322
323doctags: doctags.c
324 $(CC) doctags.c -o doctags
325
326vim.man: vim.1
327 nroff -man vim.1 | sed -e s/.//g > vim.man
328
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000329evim.man: evim.1
330 nroff -man evim.1 | sed -e s/.//g > evim.man
331
Bram Moolenaar071d4272004-06-13 20:20:40 +0000332vimdiff.man: vimdiff.1
333 nroff -man vimdiff.1 | sed -e s/.//g > vimdiff.man
334
335vimtutor.man: vimtutor.1
336 nroff -man vimtutor.1 | sed -e s/.//g > vimtutor.man
337
338xxd.man: xxd.1
339 nroff -man xxd.1 | sed -e s/.//g > xxd.man
340
341uganda.nsis.txt: uganda.txt
342 sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
343 uganda.txt | uniq >uganda.nsis.txt
344
345# Awk version of .txt to .html conversion.
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +0200346html: noerrors tags $(HTMLS)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000347 @if test -f errors.log; then more errors.log; fi
348
349noerrors:
350 -rm -f errors.log
351
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +0200352$(HTMLS): tags.ref
353
Bram Moolenaar071d4272004-06-13 20:20:40 +0000354.txt.html:
355 $(AWK) -f makehtml.awk $< >$@
356
Bram Moolenaar371d5402006-03-20 21:47:49 +0000357# index.html is the starting point for HTML, but for the help files it is
358# help.txt. Therefore use vimindex.html for index.txt.
359index.html: help.txt
360 $(AWK) -f makehtml.awk help.txt >index.html
361
362vimindex.html: index.txt
363 $(AWK) -f makehtml.awk index.txt >vimindex.html
364
Bram Moolenaar071d4272004-06-13 20:20:40 +0000365tags.ref tags.html: tags
366 $(AWK) -f maketags.awk tags >tags.html
367
368# Perl version of .txt to .html conversion.
369# There can't be two rules to produce a .html from a .txt file.
370# Just run over all .txt files each time one changes. It's fast anyway.
371perlhtml: tags $(DOCS)
372 ./vim2html.pl tags $(DOCS)
373
374clean:
375 -rm doctags *.html tags.ref
376
377# These files are in the extra archive, skip if not present
378
379arabic.txt:
380 touch arabic.txt
381
382farsi.txt:
383 touch farsi.txt
384
385hebrew.txt:
386 touch hebrew.txt
387
388russian.txt:
389 touch russian.txt
390
Bram Moolenaar071d4272004-06-13 20:20:40 +0000391gui_w32.txt:
392 touch gui_w32.txt
393
394if_ole.txt:
395 touch if_ole.txt
396
397os_390.txt:
398 touch os_390.txt
399
400os_amiga.txt:
401 touch os_amiga.txt
402
403os_beos.txt:
404 touch os_beos.txt
405
406os_dos.txt:
407 touch os_dos.txt
408
409os_mac.txt:
410 touch os_mac.txt
411
412os_mint.txt:
413 touch os_mint.txt
414
415os_msdos.txt:
416 touch os_msdos.txt
417
418os_os2.txt:
419 touch os_os2.txt
420
421os_qnx.txt:
422 touch os_qnx.txt
423
424os_risc.txt:
425 touch os_risc.txt
426
427os_win32.txt:
428 touch os_win32.txt
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000429
Bram Moolenaarb475fb92006-03-02 22:40:52 +0000430# Note that $< works with GNU make while $> works for BSD make.
Bram Moolenaar3991dab2006-03-27 17:01:56 +0000431# Is there a solution that works for both??
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000432vim-fr.UTF-8.1: vim-fr.1
433 iconv -f latin1 -t utf-8 $< >$@
434
435evim-fr.UTF-8.1: evim-fr.1
436 iconv -f latin1 -t utf-8 $< >$@
437
438vimdiff-fr.UTF-8.1: vimdiff-fr.1
439 iconv -f latin1 -t utf-8 $< >$@
440
441vimtutor-fr.UTF-8.1: vimtutor-fr.1
442 iconv -f latin1 -t utf-8 $< >$@
443
444xxd-fr.UTF-8.1: xxd-fr.1
445 iconv -f latin1 -t utf-8 $< >$@
446
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000447vim-it.UTF-8.1: vim-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000448 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000449
450evim-it.UTF-8.1: evim-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000451 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000452
453vimdiff-it.UTF-8.1: vimdiff-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000454 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000455
456vimtutor-it.UTF-8.1: vimtutor-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000457 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000458
459xxd-it.UTF-8.1: xxd-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000460 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000461
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000462vim-pl.UTF-8.1: vim-pl.1
463 iconv -f latin2 -t utf-8 $< >$@
464
465evim-pl.UTF-8.1: evim-pl.1
466 iconv -f latin2 -t utf-8 $< >$@
467
468vimdiff-pl.UTF-8.1: vimdiff-pl.1
469 iconv -f latin2 -t utf-8 $< >$@
470
471vimtutor-pl.UTF-8.1: vimtutor-pl.1
472 iconv -f latin2 -t utf-8 $< >$@
473
474xxd-pl.UTF-8.1: xxd-pl.1
475 iconv -f latin2 -t utf-8 $< >$@
476
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000477vim-ru.UTF-8.1: vim-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000478 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000479
480evim-ru.UTF-8.1: evim-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000481 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000482
483vimdiff-ru.UTF-8.1: vimdiff-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000484 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000485
486vimtutor-ru.UTF-8.1: vimtutor-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000487 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000488
489xxd-ru.UTF-8.1: xxd-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000490 iconv -f KOI8-R -t utf-8 $< >$@