blob: 785128e1f447847afdedf8a4ca2d941d191600b4 [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
Restorer74a23312024-03-28 09:19:44 +000052uganda.nsis.txt : uganda.???
53 for dpn in $?; do \
54 trg=$@; \
55 sed -e 's/[ ]*\*.*\*//g' -e 's/vim:tw=[[:digit:]][[:digit:]]:.*//' \
56 $${dpn} | uniq > $${trg%txt}$${dpn##*.}; \
57 done
58# This files needs to be in dos fileformat for NSIS.
RestorerZcd33faf2024-07-04 17:47:16 +020059 $(VIMPROG) -e -X -u NONE --cmd "set notitle noicon nocp noml viminfo=" \
Restorer74a23312024-03-28 09:19:44 +000060 -c "argdo write ++ff=dos" -c "qa" uganda.nsis.???
Bram Moolenaar071d4272004-06-13 20:20:40 +000061
62# Awk version of .txt to .html conversion.
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +020063html: noerrors tags $(HTMLS)
Bram Moolenaar071d4272004-06-13 20:20:40 +000064 @if test -f errors.log; then more errors.log; fi
65
66noerrors:
67 -rm -f errors.log
68
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +020069$(HTMLS): tags.ref
70
Bram Moolenaar071d4272004-06-13 20:20:40 +000071.txt.html:
72 $(AWK) -f makehtml.awk $< >$@
73
Bram Moolenaar371d5402006-03-20 21:47:49 +000074# index.html is the starting point for HTML, but for the help files it is
75# help.txt. Therefore use vimindex.html for index.txt.
76index.html: help.txt
RestorerZ9b7d55e2024-08-16 21:13:50 +020077 $(AWK) -f makehtml.awk $? >$@
Bram Moolenaar371d5402006-03-20 21:47:49 +000078
79vimindex.html: index.txt
RestorerZ9b7d55e2024-08-16 21:13:50 +020080 $(AWK) -f makehtml.awk $? >$@
Bram Moolenaar371d5402006-03-20 21:47:49 +000081
Bram Moolenaar071d4272004-06-13 20:20:40 +000082tags.ref tags.html: tags
83 $(AWK) -f maketags.awk tags >tags.html
84
85# Perl version of .txt to .html conversion.
86# There can't be two rules to produce a .html from a .txt file.
87# Just run over all .txt files each time one changes. It's fast anyway.
88perlhtml: tags $(DOCS)
89 ./vim2html.pl tags $(DOCS)
90
Bram Moolenaar2f058492017-11-30 20:27:52 +010091# Check URLs in the help with "curl".
92test_urls:
RestorerZcd33faf2024-07-04 17:47:16 +020093 $(VIMPROG) --clean -S test_urls.vim
Bram Moolenaar2f058492017-11-30 20:27:52 +010094
Bram Moolenaar071d4272004-06-13 20:20:40 +000095clean:
Bram Moolenaar08fc4842020-07-10 20:40:23 +020096 -rm -f doctags *.html tags.ref
Bram Moolenaar071d4272004-06-13 20:20:40 +000097
98# These files are in the extra archive, skip if not present
99
100arabic.txt:
Restorer459867b2024-01-22 22:42:44 +0300101 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102
103farsi.txt:
Restorer459867b2024-01-22 22:42:44 +0300104 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105
106hebrew.txt:
Restorer459867b2024-01-22 22:42:44 +0300107 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000108
109russian.txt:
Restorer459867b2024-01-22 22:42:44 +0300110 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000111
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112gui_w32.txt:
Restorer459867b2024-01-22 22:42:44 +0300113 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000114
115if_ole.txt:
Restorer459867b2024-01-22 22:42:44 +0300116 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000117
118os_390.txt:
Restorer459867b2024-01-22 22:42:44 +0300119 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120
121os_amiga.txt:
Restorer459867b2024-01-22 22:42:44 +0300122 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000123
124os_beos.txt:
Restorer459867b2024-01-22 22:42:44 +0300125 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000126
127os_dos.txt:
Restorer459867b2024-01-22 22:42:44 +0300128 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000129
Bram Moolenaarb3f74062020-02-26 16:16:53 +0100130os_haiku.txt:
Restorer459867b2024-01-22 22:42:44 +0300131 touch $@
Bram Moolenaarb3f74062020-02-26 16:16:53 +0100132
Bram Moolenaar071d4272004-06-13 20:20:40 +0000133os_mac.txt:
Restorer459867b2024-01-22 22:42:44 +0300134 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000135
136os_mint.txt:
Restorer459867b2024-01-22 22:42:44 +0300137 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000138
139os_msdos.txt:
Restorer459867b2024-01-22 22:42:44 +0300140 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000141
142os_os2.txt:
Restorer459867b2024-01-22 22:42:44 +0300143 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000144
145os_qnx.txt:
Restorer459867b2024-01-22 22:42:44 +0300146 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000147
148os_risc.txt:
Restorer459867b2024-01-22 22:42:44 +0300149 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150
151os_win32.txt:
Restorer459867b2024-01-22 22:42:44 +0300152 touch $@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000153
RestorerZ9b7d55e2024-08-16 21:13:50 +0200154# In *BSD, the variable '$<' is used in suffix-transformation rules (in GNU this
155# is called "implicit rules", and in MS Windows it is called "inference rules").
156# For code portability, it is better to use the '$?' variable for explicit rules.
157# Especially since there is only one dependency and it should presumably always
158# be newer than the target file.
Restorer424da592023-11-11 18:26:00 +0000159vim-da.UTF-8.1: vim-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200160 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000161
Restorer424da592023-11-11 18:26:00 +0000162vimdiff-da.UTF-8.1: vimdiff-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200163 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000164
Restorer424da592023-11-11 18:26:00 +0000165vimtutor-da.UTF-8.1: vimtutor-da.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200166 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000167
Restorer424da592023-11-11 18:26:00 +0000168vim-de.UTF-8.1: vim-de.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200169 iconv -f latin1 -t UTF-8 $? >$@
Restorerb23c1fc2023-11-04 08:57:09 +0000170
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000171vim-fr.UTF-8.1: vim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200172 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000173
174evim-fr.UTF-8.1: evim-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200175 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000176
177vimdiff-fr.UTF-8.1: vimdiff-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200178 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000179
180vimtutor-fr.UTF-8.1: vimtutor-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200181 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000182
183xxd-fr.UTF-8.1: xxd-fr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200184 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000185
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000186vim-it.UTF-8.1: vim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200187 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000188
189evim-it.UTF-8.1: evim-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200190 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000191
192vimdiff-it.UTF-8.1: vimdiff-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200193 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000194
195vimtutor-it.UTF-8.1: vimtutor-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200196 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000197
198xxd-it.UTF-8.1: xxd-it.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200199 iconv -f latin1 -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000200
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000201vim-pl.UTF-8.1: vim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200202 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000203
204evim-pl.UTF-8.1: evim-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200205 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000206
207vimdiff-pl.UTF-8.1: vimdiff-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200208 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000209
210vimtutor-pl.UTF-8.1: vimtutor-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200211 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000212
213xxd-pl.UTF-8.1: xxd-pl.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200214 iconv -f latin2 -t UTF-8 $? >$@
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000215
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000216vim-ru.UTF-8.1: vim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200217 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000218
219evim-ru.UTF-8.1: evim-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200220 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000221
222vimdiff-ru.UTF-8.1: vimdiff-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200223 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000224
225vimtutor-ru.UTF-8.1: vimtutor-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200226 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000227
228xxd-ru.UTF-8.1: xxd-ru.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200229 iconv -f KOI8-R -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200230
231vim-tr.UTF-8.1: vim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200232 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200233
234evim-tr.UTF-8.1: evim-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200235 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200236
237vimdiff-tr.UTF-8.1: vimdiff-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200238 iconv -f latin5 -t UTF-8 $? >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200239
240vimtutor-tr.UTF-8.1: vimtutor-tr.1
RestorerZ9b7d55e2024-08-16 21:13:50 +0200241 iconv -f latin5 -t UTF-8 $? >$@