xref: /vim-8.2.3635/runtime/doc/Makefile (revision 11e3c5ba)
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