blob: e27893380f515109999636e27490b06601ded114 [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
Aliaksei Budaveib8110912024-07-06 11:37:04 +02009VIMPROG = ../../src/vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
11# include the config.mk from the source directory. It's only needed to set
12# AWK, used for "make html". Comment this out if the include gives problems.
13include ../../src/auto/config.mk
14
Restorerb23c1fc2023-11-04 08:57:09 +000015# Common components
Restorer424da592023-11-11 18:26:00 +000016include Make_all.mak
Bram Moolenaar4317d9b2005-03-18 20:25:31 +000017
Bram Moolenaar071d4272004-06-13 20:20:40 +000018.SUFFIXES:
19.SUFFIXES: .c .o .txt .html
Restorer459867b2024-01-22 22:42:44 +030020.PHONY: all vimtags noerrors perlhtml clean test_urls
Bram Moolenaar071d4272004-06-13 20:20:40 +000021
Bram Moolenaare37d50a2008-08-06 17:06:04 +000022all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
Bram Moolenaar071d4272004-06-13 20:20:40 +000023
24# Use Vim to generate the tags file. Can only be used when Vim has been
Shane Harper4c3616d2024-07-22 20:09:26 +020025# compiled. Supports multiple languages.
Bram Moolenaar071d4272004-06-13 20:20:40 +000026vimtags: $(DOCS)
RestorerZcd33faf2024-07-04 17:47:16 +020027 @$(VIMPROG) --clean -esX -V1 -u doctags.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000028
29# Use "doctags" to generate the tags file. Only works for English!
30tags: doctags $(DOCS)
Restorer459867b2024-01-22 22:42:44 +030031 ./doctags $(DOCS) | LANG=C LC_ALL=C sort >$@
Bram Moolenaar071d4272004-06-13 20:20:40 +000032 uniq -d -2 tags
33
34doctags: doctags.c
35 $(CC) doctags.c -o doctags
36
37vim.man: vim.1
RestorerZ9b7d55e2024-08-16 21:13:50 +020038 nroff -man $? | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
Bram Moolenaare37d50a2008-08-06 17:06:04 +000040evim.man: evim.1
RestorerZ9b7d55e2024-08-16 21:13:50 +020041 nroff -man $? | sed -e s/.//g > $@
Bram Moolenaare37d50a2008-08-06 17:06:04 +000042
Bram Moolenaar071d4272004-06-13 20:20:40 +000043vimdiff.man: vimdiff.1
RestorerZ9b7d55e2024-08-16 21:13:50 +020044 nroff -man $? | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000045
46vimtutor.man: vimtutor.1
RestorerZ9b7d55e2024-08-16 21:13:50 +020047 nroff -man $? | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000048
49xxd.man: xxd.1
RestorerZ9b7d55e2024-08-16 21:13:50 +020050 nroff -man $? | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
Bram Moolenaar071d4272004-06-13 20:20:40 +000052# Awk version of .txt to .html conversion.
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +020053html: noerrors tags $(HTMLS)
Bram Moolenaar071d4272004-06-13 20:20:40 +000054 @if test -f errors.log; then more errors.log; fi
55
56noerrors:
57 -rm -f errors.log
58
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +020059$(HTMLS): tags.ref
60
Bram Moolenaar071d4272004-06-13 20:20:40 +000061.txt.html:
62 $(AWK) -f makehtml.awk $< >$@
63
Bram Moolenaar371d5402006-03-20 21:47:49 +000064# index.html is the starting point for HTML, but for the help files it is
65# help.txt. Therefore use vimindex.html for index.txt.
66index.html: help.txt
RestorerZ9b7d55e2024-08-16 21:13:50 +020067 $(AWK) -f makehtml.awk $? >$@
Bram Moolenaar371d5402006-03-20 21:47:49 +000068
69vimindex.html: index.txt
RestorerZ9b7d55e2024-08-16 21:13:50 +020070 $(AWK) -f makehtml.awk $? >$@
Bram Moolenaar371d5402006-03-20 21:47:49 +000071
Bram Moolenaar071d4272004-06-13 20:20:40 +000072tags.ref tags.html: tags
73 $(AWK) -f maketags.awk tags >tags.html
74
75# Perl version of .txt to .html conversion.
76# There can't be two rules to produce a .html from a .txt file.
77# Just run over all .txt files each time one changes. It's fast anyway.
78perlhtml: tags $(DOCS)
79 ./vim2html.pl tags $(DOCS)
80
Bram Moolenaar2f058492017-11-30 20:27:52 +010081# Check URLs in the help with "curl".
82test_urls:
RestorerZcd33faf2024-07-04 17:47:16 +020083 $(VIMPROG) --clean -S test_urls.vim
Bram Moolenaar2f058492017-11-30 20:27:52 +010084
Bram Moolenaar071d4272004-06-13 20:20:40 +000085clean:
Christian Brabandtdeda23f2024-11-16 12:47:06 +010086 -rm -f doctags *.html tags.ref tags-* vim-stylesheet.css
Bram Moolenaar071d4272004-06-13 20:20:40 +000087
88# These files are in the extra archive, skip if not present
89
90arabic.txt:
Restorer459867b2024-01-22 22:42:44 +030091 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
93farsi.txt:
Restorer459867b2024-01-22 22:42:44 +030094 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000095
96hebrew.txt:
Restorer459867b2024-01-22 22:42:44 +030097 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
99russian.txt:
Restorer459867b2024-01-22 22:42:44 +0300100 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000101
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102gui_w32.txt:
Restorer459867b2024-01-22 22:42:44 +0300103 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000104
105if_ole.txt:
Restorer459867b2024-01-22 22:42:44 +0300106 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000107
108os_390.txt:
Restorer459867b2024-01-22 22:42:44 +0300109 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000110
111os_amiga.txt:
Restorer459867b2024-01-22 22:42:44 +0300112 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000113
114os_beos.txt:
Restorer459867b2024-01-22 22:42:44 +0300115 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000116
117os_dos.txt:
Restorer459867b2024-01-22 22:42:44 +0300118 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000119
Bram Moolenaarb3f74062020-02-26 16:16:53 +0100120os_haiku.txt:
Restorer459867b2024-01-22 22:42:44 +0300121 touch $@
Bram Moolenaarb3f74062020-02-26 16:16:53 +0100122
Bram Moolenaar071d4272004-06-13 20:20:40 +0000123os_mac.txt:
Restorer459867b2024-01-22 22:42:44 +0300124 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000125
126os_mint.txt:
Restorer459867b2024-01-22 22:42:44 +0300127 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000128
129os_msdos.txt:
Restorer459867b2024-01-22 22:42:44 +0300130 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000131
132os_os2.txt:
Restorer459867b2024-01-22 22:42:44 +0300133 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000134
135os_qnx.txt:
Restorer459867b2024-01-22 22:42:44 +0300136 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137
138os_risc.txt:
Restorer459867b2024-01-22 22:42:44 +0300139 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140
141os_win32.txt:
Restorer459867b2024-01-22 22:42:44 +0300142 touch $@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000143
Christian Brabandt5f2a9592025-03-15 10:04:39 +0100144pi_netrw.txt: ../pack/dist/opt/netrw/doc/netrw.txt
145 cp ../pack/dist/opt/netrw/doc/netrw.txt $@
146
Phạm Bình An189e24b2024-12-03 21:59:52 +0100147vietnamese.txt:
148 touch $@
149
RestorerZ9b7d55e2024-08-16 21:13:50 +0200150# In *BSD, the variable '$<' is used in suffix-transformation rules (in GNU this
151# is called "implicit rules", and in MS Windows it is called "inference rules").
152# For code portability, it is better to use the '$?' variable for explicit rules.
153# Especially since there is only one dependency and it should presumably always
154# be newer than the target file.
Restorer424da592023-11-11 18:26:00 +0000155vim-da.UTF-8.1: vim-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200156 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000157
Restorer424da592023-11-11 18:26:00 +0000158vimdiff-da.UTF-8.1: vimdiff-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200159 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000160
Restorer424da592023-11-11 18:26:00 +0000161vimtutor-da.UTF-8.1: vimtutor-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200162 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000163
Restorer424da592023-11-11 18:26:00 +0000164vim-de.UTF-8.1: vim-de.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200165 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000166
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000167vim-fr.UTF-8.1: vim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200168 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000169
170evim-fr.UTF-8.1: evim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200171 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000172
173vimdiff-fr.UTF-8.1: vimdiff-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200174 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000175
176vimtutor-fr.UTF-8.1: vimtutor-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200177 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000178
179xxd-fr.UTF-8.1: xxd-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200180 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000181
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000182vim-it.UTF-8.1: vim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200183 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000184
185evim-it.UTF-8.1: evim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200186 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000187
188vimdiff-it.UTF-8.1: vimdiff-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200189 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000190
191vimtutor-it.UTF-8.1: vimtutor-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200192 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000193
194xxd-it.UTF-8.1: xxd-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200195 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000196
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000197vim-pl.UTF-8.1: vim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200198 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000199
200evim-pl.UTF-8.1: evim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200201 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000202
203vimdiff-pl.UTF-8.1: vimdiff-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200204 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000205
206vimtutor-pl.UTF-8.1: vimtutor-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200207 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000208
209xxd-pl.UTF-8.1: xxd-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200210 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000211
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000212vim-ru.UTF-8.1: vim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200213 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000214
215evim-ru.UTF-8.1: evim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200216 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000217
218vimdiff-ru.UTF-8.1: vimdiff-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200219 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000220
221vimtutor-ru.UTF-8.1: vimtutor-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200222 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000223
224xxd-ru.UTF-8.1: xxd-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200225 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200226
227vim-tr.UTF-8.1: vim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200228 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200229
230evim-tr.UTF-8.1: evim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200231 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200232
233vimdiff-tr.UTF-8.1: vimdiff-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200234 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200235
236vimtutor-tr.UTF-8.1: vimtutor-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200237 iconv -f latin5 -t UTF-8 $? >$@