blob: eecce55a78772d9f862cdb1ee2f90b3d44b6b4f0 [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
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
Restorerb23c1fc2023-11-04 08:57:09 +000016# Common components
Restorer424da592023-11-11 18:26:00 +000017include Make_all.mak
Bram Moolenaar4317d9b2005-03-18 20:25:31 +000018
Bram Moolenaar071d4272004-06-13 20:20:40 +000019.SUFFIXES:
20.SUFFIXES: .c .o .txt .html
Restorer459867b2024-01-22 22:42:44 +030021.PHONY: all vimtags noerrors perlhtml clean test_urls
Bram Moolenaar071d4272004-06-13 20:20:40 +000022
Bram Moolenaare37d50a2008-08-06 17:06:04 +000023all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
Bram Moolenaar071d4272004-06-13 20:20:40 +000024
25# Use Vim to generate the tags file. Can only be used when Vim has been
26# compiled and installed. Supports multiple languages.
27vimtags: $(DOCS)
Bram Moolenaar23877732020-01-21 22:13:42 +010028 @$(VIMEXE) --clean -esX -V1 -u doctags.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
30# Use "doctags" to generate the tags file. Only works for English!
31tags: doctags $(DOCS)
Restorer459867b2024-01-22 22:42:44 +030032 ./doctags $(DOCS) | LANG=C LC_ALL=C sort >$@
Bram Moolenaar071d4272004-06-13 20:20:40 +000033 uniq -d -2 tags
34
35doctags: doctags.c
36 $(CC) doctags.c -o doctags
37
38vim.man: vim.1
Restorer459867b2024-01-22 22:42:44 +030039 nroff -man $< | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
Bram Moolenaare37d50a2008-08-06 17:06:04 +000041evim.man: evim.1
Restorer459867b2024-01-22 22:42:44 +030042 nroff -man $< | sed -e s/.//g > $@
Bram Moolenaare37d50a2008-08-06 17:06:04 +000043
Bram Moolenaar071d4272004-06-13 20:20:40 +000044vimdiff.man: vimdiff.1
Restorer459867b2024-01-22 22:42:44 +030045 nroff -man $< | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000046
47vimtutor.man: vimtutor.1
Restorer459867b2024-01-22 22:42:44 +030048 nroff -man $< | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000049
50xxd.man: xxd.1
Restorer459867b2024-01-22 22:42:44 +030051 nroff -man $< | sed -e s/.//g > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000052
53uganda.nsis.txt: uganda.txt
Bram Moolenaar7cb769a2017-11-16 17:36:02 +010054 sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
Bram Moolenaar071d4272004-06-13 20:20:40 +000055 uganda.txt | uniq >uganda.nsis.txt
56
57# Awk version of .txt to .html conversion.
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +020058html: noerrors tags $(HTMLS)
Bram Moolenaar071d4272004-06-13 20:20:40 +000059 @if test -f errors.log; then more errors.log; fi
60
61noerrors:
62 -rm -f errors.log
63
Bram Moolenaarcdda8fe2010-07-21 20:40:27 +020064$(HTMLS): tags.ref
65
Bram Moolenaar071d4272004-06-13 20:20:40 +000066.txt.html:
67 $(AWK) -f makehtml.awk $< >$@
68
Bram Moolenaar371d5402006-03-20 21:47:49 +000069# index.html is the starting point for HTML, but for the help files it is
70# help.txt. Therefore use vimindex.html for index.txt.
71index.html: help.txt
Restorer459867b2024-01-22 22:42:44 +030072 $(AWK) -f makehtml.awk $< >$@
Bram Moolenaar371d5402006-03-20 21:47:49 +000073
74vimindex.html: index.txt
Restorer459867b2024-01-22 22:42:44 +030075 $(AWK) -f makehtml.awk $< >$@
Bram Moolenaar371d5402006-03-20 21:47:49 +000076
Bram Moolenaar071d4272004-06-13 20:20:40 +000077tags.ref tags.html: tags
78 $(AWK) -f maketags.awk tags >tags.html
79
80# Perl version of .txt to .html conversion.
81# There can't be two rules to produce a .html from a .txt file.
82# Just run over all .txt files each time one changes. It's fast anyway.
83perlhtml: tags $(DOCS)
84 ./vim2html.pl tags $(DOCS)
85
Bram Moolenaar2f058492017-11-30 20:27:52 +010086# Check URLs in the help with "curl".
87test_urls:
Restorer459867b2024-01-22 22:42:44 +030088 $(VIMEXE) --clean -S test_urls.vim
Bram Moolenaar2f058492017-11-30 20:27:52 +010089
Bram Moolenaar071d4272004-06-13 20:20:40 +000090clean:
Bram Moolenaar08fc4842020-07-10 20:40:23 +020091 -rm -f doctags *.html tags.ref
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
93# These files are in the extra archive, skip if not present
94
95arabic.txt:
Restorer459867b2024-01-22 22:42:44 +030096 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +000097
98farsi.txt:
Restorer459867b2024-01-22 22:42:44 +030099 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100
101hebrew.txt:
Restorer459867b2024-01-22 22:42:44 +0300102 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103
104russian.txt:
Restorer459867b2024-01-22 22:42:44 +0300105 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000106
Bram Moolenaar071d4272004-06-13 20:20:40 +0000107gui_w32.txt:
Restorer459867b2024-01-22 22:42:44 +0300108 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109
110if_ole.txt:
Restorer459867b2024-01-22 22:42:44 +0300111 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112
113os_390.txt:
Restorer459867b2024-01-22 22:42:44 +0300114 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000115
116os_amiga.txt:
Restorer459867b2024-01-22 22:42:44 +0300117 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000118
119os_beos.txt:
Restorer459867b2024-01-22 22:42:44 +0300120 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000121
122os_dos.txt:
Restorer459867b2024-01-22 22:42:44 +0300123 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000124
Bram Moolenaarb3f74062020-02-26 16:16:53 +0100125os_haiku.txt:
Restorer459867b2024-01-22 22:42:44 +0300126 touch $@
Bram Moolenaarb3f74062020-02-26 16:16:53 +0100127
Bram Moolenaar071d4272004-06-13 20:20:40 +0000128os_mac.txt:
Restorer459867b2024-01-22 22:42:44 +0300129 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000130
131os_mint.txt:
Restorer459867b2024-01-22 22:42:44 +0300132 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000133
134os_msdos.txt:
Restorer459867b2024-01-22 22:42:44 +0300135 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000136
137os_os2.txt:
Restorer459867b2024-01-22 22:42:44 +0300138 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139
140os_qnx.txt:
Restorer459867b2024-01-22 22:42:44 +0300141 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000142
143os_risc.txt:
Restorer459867b2024-01-22 22:42:44 +0300144 touch $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000145
146os_win32.txt:
Restorer459867b2024-01-22 22:42:44 +0300147 touch $@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000148
Bram Moolenaarb475fb92006-03-02 22:40:52 +0000149# Note that $< works with GNU make while $> works for BSD make.
Bram Moolenaar3991dab2006-03-27 17:01:56 +0000150# Is there a solution that works for both??
Restorer424da592023-11-11 18:26:00 +0000151vim-da.UTF-8.1: vim-da.1
Restorerb23c1fc2023-11-04 08:57:09 +0000152 iconv -f latin1 -t utf-8 $< >$@
153
Restorer424da592023-11-11 18:26:00 +0000154vimdiff-da.UTF-8.1: vimdiff-da.1
Restorerb23c1fc2023-11-04 08:57:09 +0000155 iconv -f latin1 -t utf-8 $< >$@
156
Restorer424da592023-11-11 18:26:00 +0000157vimtutor-da.UTF-8.1: vimtutor-da.1
Restorerb23c1fc2023-11-04 08:57:09 +0000158 iconv -f latin1 -t utf-8 $< >$@
159
Restorer424da592023-11-11 18:26:00 +0000160vim-de.UTF-8.1: vim-de.1
Restorerb23c1fc2023-11-04 08:57:09 +0000161 iconv -f latin1 -t utf-8 $< >$@
162
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000163vim-fr.UTF-8.1: vim-fr.1
164 iconv -f latin1 -t utf-8 $< >$@
165
166evim-fr.UTF-8.1: evim-fr.1
167 iconv -f latin1 -t utf-8 $< >$@
168
169vimdiff-fr.UTF-8.1: vimdiff-fr.1
170 iconv -f latin1 -t utf-8 $< >$@
171
172vimtutor-fr.UTF-8.1: vimtutor-fr.1
173 iconv -f latin1 -t utf-8 $< >$@
174
175xxd-fr.UTF-8.1: xxd-fr.1
176 iconv -f latin1 -t utf-8 $< >$@
177
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000178vim-it.UTF-8.1: vim-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000179 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000180
181evim-it.UTF-8.1: evim-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000182 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000183
184vimdiff-it.UTF-8.1: vimdiff-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000185 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000186
187vimtutor-it.UTF-8.1: vimtutor-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000188 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000189
190xxd-it.UTF-8.1: xxd-it.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000191 iconv -f latin1 -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000192
Bram Moolenaare37d50a2008-08-06 17:06:04 +0000193vim-pl.UTF-8.1: vim-pl.1
194 iconv -f latin2 -t utf-8 $< >$@
195
196evim-pl.UTF-8.1: evim-pl.1
197 iconv -f latin2 -t utf-8 $< >$@
198
199vimdiff-pl.UTF-8.1: vimdiff-pl.1
200 iconv -f latin2 -t utf-8 $< >$@
201
202vimtutor-pl.UTF-8.1: vimtutor-pl.1
203 iconv -f latin2 -t utf-8 $< >$@
204
205xxd-pl.UTF-8.1: xxd-pl.1
206 iconv -f latin2 -t utf-8 $< >$@
207
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000208vim-ru.UTF-8.1: vim-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000209 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000210
211evim-ru.UTF-8.1: evim-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000212 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000213
214vimdiff-ru.UTF-8.1: vimdiff-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000215 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000216
217vimtutor-ru.UTF-8.1: vimtutor-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000218 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaar4317d9b2005-03-18 20:25:31 +0000219
220xxd-ru.UTF-8.1: xxd-ru.1
Bram Moolenaar402d2fe2005-04-15 21:00:38 +0000221 iconv -f KOI8-R -t utf-8 $< >$@
Bram Moolenaarf09715b2020-05-31 14:25:22 +0200222
223vim-tr.UTF-8.1: vim-tr.1
224 iconv -f latin5 -t utf-8 $< >$@
225
226evim-tr.UTF-8.1: evim-tr.1
227 iconv -f latin5 -t utf-8 $< >$@
228
229vimdiff-tr.UTF-8.1: vimdiff-tr.1
230 iconv -f latin5 -t utf-8 $< >$@
231
232vimtutor-tr.UTF-8.1: vimtutor-tr.1
233 iconv -f latin5 -t utf-8 $< >$@