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