blob: 82b56808125fd555f4ba9770d2ef40f43543a908 [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
Phạm Bình An189e24b2024-12-03 21:59:52 +0100144vietnamese.txt:
145 touch $@
146
RestorerZ9b7d55e2024-08-16 21:13:50 +0200147# In *BSD, the variable '$<' is used in suffix-transformation rules (in GNU this
148# is called "implicit rules", and in MS Windows it is called "inference rules").
149# For code portability, it is better to use the '$?' variable for explicit rules.
150# Especially since there is only one dependency and it should presumably always
151# be newer than the target file.
Restorer424da592023-11-11 18:26:00 +0000152vim-da.UTF-8.1: vim-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200153 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000154
Restorer424da592023-11-11 18:26:00 +0000155vimdiff-da.UTF-8.1: vimdiff-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 +0000158vimtutor-da.UTF-8.1: vimtutor-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 +0000161vim-de.UTF-8.1: vim-de.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200162 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000163
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000164vim-fr.UTF-8.1: vim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200165 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000166
167evim-fr.UTF-8.1: evim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200168 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000169
170vimdiff-fr.UTF-8.1: vimdiff-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200171 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000172
173vimtutor-fr.UTF-8.1: vimtutor-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200174 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000175
176xxd-fr.UTF-8.1: xxd-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200177 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000178
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000179vim-it.UTF-8.1: vim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200180 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000181
182evim-it.UTF-8.1: evim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200183 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000184
185vimdiff-it.UTF-8.1: vimdiff-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200186 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000187
188vimtutor-it.UTF-8.1: vimtutor-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200189 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000190
191xxd-it.UTF-8.1: xxd-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200192 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000193
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000194vim-pl.UTF-8.1: vim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200195 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000196
197evim-pl.UTF-8.1: evim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200198 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000199
200vimdiff-pl.UTF-8.1: vimdiff-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200201 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000202
203vimtutor-pl.UTF-8.1: vimtutor-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200204 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000205
206xxd-pl.UTF-8.1: xxd-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200207 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000208
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000209vim-ru.UTF-8.1: vim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200210 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000211
212evim-ru.UTF-8.1: evim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200213 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000214
215vimdiff-ru.UTF-8.1: vimdiff-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200216 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000217
218vimtutor-ru.UTF-8.1: vimtutor-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200219 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000220
221xxd-ru.UTF-8.1: xxd-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200222 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200223
224vim-tr.UTF-8.1: vim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200225 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200226
227evim-tr.UTF-8.1: evim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200228 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200229
230vimdiff-tr.UTF-8.1: vimdiff-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200231 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200232
233vimtutor-tr.UTF-8.1: vimtutor-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200234 iconv -f latin5 -t UTF-8 $? >$@