blob: 218aaa67bcfb60ebd5f339132375f72c20f27155 [file] [log] [blame]
Restorerb23c1fc2023-11-04 08:57:09 +00001#
2# Makefile for the Vim documentation on Windows
3#
4# 17.11.23, Restorer, <restorer@mail2k.ru>
5
6# Common components
7!INCLUDE makefile_all.mak
8
9
10# TODO: to think about what to use instead of awk. PowerShell?
11#AWK =
12
13#
14VIMEXE = D:\Programs\Vim\vim90\vim.exe
15
16#
17GETTEXT_PATH = D:\Programs\GetText\bin
18
19# In case some package like GnuWin32, UnixUtils
20# or something similar is installed on the system.
21# If the "touch" program is installed on the system, but it is not registered
22# in the %PATH% environment variable, then specify the full path to this file.
23!IF EXIST ("touch.exe")
24TOUCH = touch.exe $@
25!ELSE
26TOUCH = @if exist $@ ( copy /b $@+,, ) else ( type nul >$@ )
27!ENDIF
28
29# In case some package like GnuWin32, UnixUtils, gettext
30# or something similar is installed on the system.
31# If the "iconv" program is installed on the system, but it is not registered
32# in the %PATH% environment variable, then specify the full path to this file.
33!IF EXIST ("iconv.exe")
34ICONV = iconv.exe
35!ELSEIF EXIST ("$(GETTEXT_PATH)\iconv.exe")
36ICONV="$(GETTEXT_PATH)\iconv.exe"
37!ENDIF
38
39RM = del /q
40
41.SUFFIXES :
42.SUFFIXES : .c .o .txt .html
43
44
45all : tags perlhtml $(CONVERTED)
46
47# Use "doctags" to generate the tags file. Only works for English!
48tags : doctags $(DOCS)
49 doctags $(DOCS) | sort /L C /O tags
50 powershell -nologo -noprofile -Command\
51 "(Get-Content -Raw tags | Get-Unique | % {$$_ -replace \"`r\", \"\"}) |\
52 New-Item -Force -Path . -ItemType file -Name tags"
53
54doctags : doctags.c
55 $(CC) doctags.c
56
57
58# Use Vim to generate the tags file. Can only be used when Vim has been
59# compiled and installed. Supports multiple languages.
60vimtags : $(DOCS)
61 $(VIMEXE) --clean -esX -V1 -u doctags.vim
62
63
64
65uganda.nsis.txt : uganda.*
66 !powershell -nologo -noprofile -Command\
67 $$ext=(Get-Item $?).Extension; (Get-Content $? ^| \
68 % {$$_ -replace '\s*\*[-a-zA-Z0-9.]*\*', '' -replace 'vim:tw=78:.*', ''})\
69 ^| Set-Content $*$$ext
70 !powershell -nologo -noprofile -Command\
71 $$ext=(Get-Item $?).Extension;\
72 (Get-Content -Raw $(@B)$$ext).Trim() -replace '(\r\n){3,}', '$$1$$1'\
73 ^| Set-Content $(@B)$$ext
74
75
76# TODO:
77#html: noerrors tags $(HTMLS)
78# if exist errors.log (more errors.log)
79
80# TODO:
81#noerrors:
82# $(RM) errors.log
83
84# TODO:
85#.txt.html:
86
87
88# TODO:
89#index.html: help.txt
90
91
92# TODO:
93#vimindex.html: index.txt
94
95
96# TODO:
97#tags.ref tags.html: tags
98
99# Perl version of .txt to .html conversion.
100# There can't be two rules to produce a .html from a .txt file.
101# Just run over all .txt files each time one changes. It's fast anyway.
102perlhtml : tags $(DOCS)
103 vim2html.pl tags $(DOCS)
104
105# Check URLs in the help with "curl" or "powershell".
106test_urls :
107 $(VIMEXE) -S test_urls.vim
108
109clean :
110 $(RM) doctags.exe doctags.obj
111 $(RM) *.html vim-stylesheet.css
112
113
114
115arabic.txt :
116 $(TOUCH)
117
118farsi.txt :
119 $(TOUCH)
120
121hebrew.txt :
122 $(TOUCH)
123
124russian.txt :
125 $(TOUCH)
126
127gui_w32.txt :
128 $(TOUCH)
129
130if_ole.txt :
131 $(TOUCH)
132
133os_390.txt :
134 $(TOUCH)
135
136os_amiga.txt :
137 $(TOUCH)
138
139os_beos.txt :
140 $(TOUCH)
141
142os_dos.txt :
143 $(TOUCH)
144
145os_haiku.txt :
146 $(TOUCH)
147
148os_mac.txt :
149 $(TOUCH)
150
151os_mint.txt :
152 $(TOUCH)
153
154os_msdos.txt :
155 $(TOUCH)
156
157os_os2.txt :
158 $(TOUCH)
159
160os_qnx.txt :
161 $(TOUCH)
162
163os_risc.txt :
164 $(TOUCH)
165
166os_win32.txt :
167 $(TOUCH)
168
169
170convert-all : $(CONVERTED)
171!IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2
172!ERROR The program "PowerShell" version 3.0 or higher is required to work
173!ENDIF
174
175vim-da.UTF-8.1 : vim-da.1
176!IF DEFINED (ICONV)
177 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
178!ELSE
179# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
180 powershell -nologo -noprofile -Command\
181 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
182 1>nul New-Item -Force -Path . -ItemType file -Name $@
183!ENDIF
184
185vimdiff-da.UTF-8.1 : vimdiff-da.1
186!IF DEFINED (ICONV)
187 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
188!ELSE
189# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
190 powershell -nologo -noprofile -Command\
191 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
192 1>nul New-Item -Force -Path . -ItemType file -Name $@
193!ENDIF
194
195vimtutor-da.UTF-8.1 : vimtutor-da.1
196!IF DEFINED (ICONV)
197 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
198!ELSE
199# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
200 powershell -nologo -noprofile -Command\
201 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
202 1>nul New-Item -Force -Path . -ItemType file -Name $@
203!ENDIF
204
205vim-de.UTF-8.1 : vim-de.1
206!IF DEFINED (ICONV)
207 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
208!ELSE
209# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
210 powershell -nologo -noprofile -Command\
211 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
212 1>nul New-Item -Force -Path . -ItemType file -Name $@
213!ENDIF
214
215evim-fr.UTF-8.1 : evim-fr.1
216!IF DEFINED (ICONV)
217 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
218!ELSE
219# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
220 powershell -nologo -noprofile -Command\
221 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
222 1>nul New-Item -Force -Path . -ItemType file -Name $@
223!ENDIF
224
225vim-fr.UTF-8.1 : vim-fr.1
226!IF DEFINED (ICONV)
227 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
228!ELSE
229# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
230 powershell -nologo -noprofile -Command\
231 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
232 1>nul New-Item -Force -Path . -ItemType file -Name $@
233!ENDIF
234
235vimdiff-fr.UTF-8.1 : vimdiff-fr.1
236!IF DEFINED (ICONV)
237 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
238!ELSE
239# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
240 powershell -nologo -noprofile -Command\
241 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
242 1>nul New-Item -Force -Path . -ItemType file -Name $@
243!ENDIF
244
245vimtutor-fr.UTF-8.1 : vimtutor-fr.1
246!IF DEFINED (ICONV)
247 $(ICONV) -f ISO-8859-1 -t utf-8 $? >$@
248!ELSE
249# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
250 powershell -nologo -noprofile -Command\
251 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
252 1>nul New-Item -Force -Path . -ItemType file -Name $@
253!ENDIF
254
255xxd-fr.UTF-8.1 : xxd-fr.1
256!IF DEFINED (ICONV)
257 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
258!ELSE
259# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
260 powershell -nologo -noprofile -Command\
261 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
262 1>nul New-Item -Force -Path . -ItemType file -Name $@
263!ENDIF
264
265evim-it.UTF-8.1 : evim-it.1
266!IF DEFINED (ICONV)
267 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
268!ELSE
269# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
270 powershell -nologo -noprofile -Command\
271 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
272 1>nul New-Item -Force -Path . -ItemType file -Name $@
273!ENDIF
274
275vim-it.UTF-8.1 : vim-it.1
276!IF DEFINED (ICONV)
277 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
278!ELSE
279# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
280 powershell -nologo -noprofile -Command\
281 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
282 1>nul New-Item -Force -Path . -ItemType file -Name $@
283!ENDIF
284
285vimdiff-it.UTF-8.1 : vimdiff-it.1
286!IF DEFINED (ICONV)
287 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
288!ELSE
289# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
290 powershell -nologo -noprofile -Command\
291 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
292 1>nul New-Item -Force -Path . -ItemType file -Name $@
293!ENDIF
294
295vimtutor-it.UTF-8.1 : vimtutor-it.1
296!IF DEFINED (ICONV)
297 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
298!ELSE
299# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
300 powershell -nologo -noprofile -Command\
301 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
302 1>nul New-Item -Force -Path . -ItemType file -Name $@
303!ENDIF
304
305xxd-it.UTF-8.1 : xxd-it.1
306!IF DEFINED (ICONV)
307 $(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
308!ELSE
309# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
310 powershell -nologo -noprofile -Command\
311 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
312 1>nul New-Item -Force -Path . -ItemType file -Name $@
313!ENDIF
314
315evim-pl.UTF-8.1 : evim-pl.1
316!IF DEFINED (ICONV)
317 $(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
318!ELSE
319# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
320 powershell -nologo -noprofile -Command\
321 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
322 1>nul New-Item -Force -Path . -ItemType file -Name $@
323!ENDIF
324
325vim-pl.UTF-8.1 : vim-pl.1
326!IF DEFINED (ICONV)
327 $(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
328!ELSE
329# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
330 powershell -nologo -noprofile -Command\
331 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
332 1>nul New-Item -Force -Path . -ItemType file -Name $@
333!ENDIF
334
335vimdiff-pl.UTF-8.1 : vimdiff-pl.1
336!IF DEFINED (ICONV)
337 $(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
338!ELSE
339# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
340 powershell -nologo -noprofile -Command\
341 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
342 1>nul New-Item -Force -Path . -ItemType file -Name $@
343!ENDIF
344
345vimtutor-pl.UTF-8.1 : vimtutor-pl.1
346!IF DEFINED (ICONV)
347 $(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
348!ELSE
349# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
350 powershell -nologo -noprofile -Command\
351 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
352 1>nul New-Item -Force -Path . -ItemType file -Name $@
353!ENDIF
354
355xxd-pl.UTF-8.1 : xxd-pl.1
356!IF DEFINED (ICONV)
357 $(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
358!ELSE
359# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
360 powershell -nologo -noprofile -Command\
361 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
362 1>nul New-Item -Force -Path . -ItemType file -Name $@
363!ENDIF
364
365evim-ru.UTF-8.1 : evim-ru.1
366!IF DEFINED (ICONV)
367 $(ICONV) -f KOI8-R -t UTF-8 $? >$@
368!ELSE
369# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
370 powershell -nologo -noprofile -Command\
371 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
372 1>nul New-Item -Force -Path . -ItemType file -Name $@
373!ENDIF
374
375vim-ru.UTF-8.1 : vim-ru.1
376!IF DEFINED (ICONV)
377 $(ICONV) -f KOI8-R -t UTF-8 $? >$@
378!ELSE
379# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
380 powershell -nologo -noprofile -Command\
381 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
382 1>nul New-Item -Force -Path . -ItemType file -Name $@
383!ENDIF
384
385vimdiff-ru.UTF-8.1 : vimdiff-ru.1
386!IF DEFINED (ICONV)
387 $(ICONV) -f KOI8-R -t UTF-8 $? >$@
388!ELSE
389# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
390 powershell -nologo -noprofile -Command\
391 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
392 1>nul New-Item -Force -Path . -ItemType file -Name $@
393!ENDIF
394
395vimtutor-ru.UTF-8.1 : vimtutor-ru.1
396!IF DEFINED (ICONV)
397 $(ICONV) -f KOI8-R -t UTF-8 $? >$@
398!ELSE
399# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
400 powershell -nologo -noprofile -Command\
401 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
402 1>nul New-Item -Force -Path . -ItemType file -Name $@
403!ENDIF
404
405xxd-ru.UTF-8.1 : xxd-ru.1
406!IF DEFINED (ICONV)
407 $(ICONV) -f KOI8-R -t UTF-8 $? >$@
408!ELSE
409# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
410 powershell -nologo -noprofile -Command\
411 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
412 1>nul New-Item -Force -Path . -ItemType file -Name $@
413!ENDIF
414
415evim-tr.UTF-8.1 : evim-tr.1
416!IF DEFINED (ICONV)
417 $(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
418!ELSE
419! IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2
420! ERROR Для работы требуется программа «PowerShell» версии 3.0 или выше
421! ENDIF
422# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
423 powershell -nologo -noprofile -Command\
424 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
425 1>nul New-Item -Force -Path . -ItemType file -Name $@
426!ENDIF
427
428vim-tr.UTF-8.1 : vim-tr.1
429!IF DEFINED (ICONV)
430 $(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
431!ELSE
432# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
433 powershell -nologo -noprofile -Command\
434 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
435 1>nul New-Item -Force -Path . -ItemType file -Name $@
436!ENDIF
437
438vimdiff-tr.UTF-8.1 : vimdiff-tr.1
439!IF DEFINED (ICONV)
440 $(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
441!ELSE
442# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
443 powershell -nologo -noprofile -Command\
444 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
445 1>nul New-Item -Force -Path . -ItemType file -Name $@
446!ENDIF
447
448vimtutor-tr.UTF-8.1 : vimtutor-tr.1
449!IF DEFINED (ICONV)
450 $(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
451!ELSE
452# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
453 powershell -nologo -noprofile -Command\
454 [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
455 1>nul New-Item -Force -Path . -ItemType file -Name $@
456!ENDIF
457
458
459
460# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: