blob: 01b2c3e83ff83524dfcaf71f79d9a52f0eef7aba [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
Christian Brabandt721be7f2025-03-26 18:53:46 +0100145 cp ../pack/dist/opt/netrw/doc/netrw.txt $@.tmp
Yee Cheng Chinc5aad6c2025-03-28 19:09:13 +0100146 sed -e '1s/$$/ *pi_netrw.txt*/' $@.tmp > $@ && \
Christian Brabandt721be7f2025-03-26 18:53:46 +0100147 rm -f $@.tmp
Christian Brabandt5f2a9592025-03-15 10:04:39 +0100148
Phạm Bình An189e24b2024-12-03 21:59:52 +0100149vietnamese.txt:
150 touch $@
151
RestorerZ9b7d55e2024-08-16 21:13:50 +0200152# In *BSD, the variable '$<' is used in suffix-transformation rules (in GNU this
153# is called "implicit rules", and in MS Windows it is called "inference rules").
154# For code portability, it is better to use the '$?' variable for explicit rules.
155# Especially since there is only one dependency and it should presumably always
156# be newer than the target file.
Restorer424da592023-11-11 18:26:00 +0000157vim-da.UTF-8.1: vim-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200158 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000159
Restorer424da592023-11-11 18:26:00 +0000160vimdiff-da.UTF-8.1: vimdiff-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200161 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000162
Restorer424da592023-11-11 18:26:00 +0000163vimtutor-da.UTF-8.1: vimtutor-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200164 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000165
Restorer424da592023-11-11 18:26:00 +0000166vim-de.UTF-8.1: vim-de.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200167 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000168
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000169vim-fr.UTF-8.1: vim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200170 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000171
172evim-fr.UTF-8.1: evim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200173 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000174
175vimdiff-fr.UTF-8.1: vimdiff-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200176 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000177
178vimtutor-fr.UTF-8.1: vimtutor-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200179 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000180
181xxd-fr.UTF-8.1: xxd-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200182 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000183
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000184vim-it.UTF-8.1: vim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200185 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000186
187evim-it.UTF-8.1: evim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200188 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000189
190vimdiff-it.UTF-8.1: vimdiff-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200191 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000192
193vimtutor-it.UTF-8.1: vimtutor-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200194 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000195
196xxd-it.UTF-8.1: xxd-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200197 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000198
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000199vim-pl.UTF-8.1: vim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200200 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000201
202evim-pl.UTF-8.1: evim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200203 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000204
205vimdiff-pl.UTF-8.1: vimdiff-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200206 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000207
208vimtutor-pl.UTF-8.1: vimtutor-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200209 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000210
211xxd-pl.UTF-8.1: xxd-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200212 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000213
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000214vim-ru.UTF-8.1: vim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200215 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000216
217evim-ru.UTF-8.1: evim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200218 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000219
220vimdiff-ru.UTF-8.1: vimdiff-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200221 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000222
223vimtutor-ru.UTF-8.1: vimtutor-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200224 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000225
226xxd-ru.UTF-8.1: xxd-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200227 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200228
229vim-tr.UTF-8.1: vim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200230 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200231
232evim-tr.UTF-8.1: evim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200233 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200234
235vimdiff-tr.UTF-8.1: vimdiff-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200236 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200237
238vimtutor-tr.UTF-8.1: vimtutor-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200239 iconv -f latin5 -t UTF-8 $? >$@