diff --git a/runtime/doc/makefile_all.mak b/runtime/doc/Make_all.mak
similarity index 99%
rename from runtime/doc/makefile_all.mak
rename to runtime/doc/Make_all.mak
index 460130b..ed41d7d 100644
--- a/runtime/doc/makefile_all.mak
+++ b/runtime/doc/Make_all.mak
@@ -1,4 +1,4 @@
-# makefile with common components
+# Makefile with common components
 
 DOCS = \
 	arabic.txt \
diff --git a/runtime/doc/Make_mvc.mak b/runtime/doc/Make_mvc.mak
new file mode 100644
index 0000000..f9ddf84
--- /dev/null
+++ b/runtime/doc/Make_mvc.mak
@@ -0,0 +1,456 @@
+#
+# Makefile for the Vim documentation on Windows
+#
+# 17.11.23, Restorer, <restorer@mail2k.ru>
+
+# Common components
+!INCLUDE Make_all.mak
+
+
+# TODO: to think about what to use instead of awk. PowerShell?
+#AWK =
+
+# Correct the following line for the where executeable file vim is installed
+VIMEXE = D:\Programs\Vim\vim90\vim.exe
+
+# Correct the following line for the directory where gettext et al is installed
+GETTEXT_PATH = D:\Programs\GetText\bin
+
+# In case some package like GnuWin32, UnixUtils
+# or something similar is installed on the system.
+# If the "touch" program is installed on the system, but it is not registered
+# in the %PATH% environment variable, then specify the full path to this file.
+!IF EXIST ("touch.exe")
+TOUCH = touch.exe $@
+!ELSE
+TOUCH = @if exist $@ ( copy /b $@+,, ) else ( type nul >$@ )
+!ENDIF
+
+# In case some package like GnuWin32, UnixUtils, gettext
+# or something similar is installed on the system.
+# If the "iconv" program is installed on the system, but it is not registered
+# in the %PATH% environment variable, then specify the full path to this file.
+!IF EXIST ("iconv.exe")
+ICONV = iconv.exe
+!ELSEIF EXIST ("$(GETTEXT_PATH)\iconv.exe")
+ICONV="$(GETTEXT_PATH)\iconv.exe"
+!ENDIF
+
+RM = del /q
+
+.SUFFIXES :
+.SUFFIXES : .c .o .txt .html
+
+
+all : tags perlhtml $(CONVERTED)
+
+# Use "doctags" to generate the tags file.  Only works for English!
+tags : doctags $(DOCS)
+	doctags $(DOCS) | sort /L C /O tags
+	powershell -nologo -noprofile -Command \
+		"(Get-Content -Raw tags | Get-Unique | % {$$_ -replace \"`r\", \"\"}) \
+		| New-Item -Force -Path . -ItemType file -Name tags"
+
+doctags : doctags.c
+	$(CC) doctags.c
+
+
+# Use Vim to generate the tags file.  Can only be used when Vim has been
+# compiled and installed.  Supports multiple languages.
+vimtags : $(DOCS)
+	$(VIMEXE) --clean -esX -V1 -u doctags.vim
+
+
+uganda.nsis.txt : uganda.*
+	!powershell -nologo -noprofile -Command \
+		$$ext=(Get-Item $?).Extension; (Get-Content $? ^| \
+		% {$$_ -replace '\s*\*[-a-zA-Z0-9.]*\*', '' -replace 'vim:tw=78:.*', ''}) \
+		^| Set-Content $*$$ext
+	!powershell -nologo -noprofile -Command \
+		$$ext=(Get-Item $?).Extension; \
+		(Get-Content -Raw $(@B)$$ext).Trim() -replace '(\r\n){3,}', '$$1$$1' \
+		^| Set-Content $(@B)$$ext
+
+
+# TODO:
+#html: noerrors tags $(HTMLS)
+#	if exist errors.log (more errors.log)
+
+# TODO:
+#noerrors:
+#	$(RM) errors.log
+
+# TODO:
+#.txt.html:
+
+
+# TODO:
+#index.html: help.txt
+
+
+# TODO:
+#vimindex.html: index.txt
+
+
+# TODO:
+#tags.ref tags.html: tags
+
+# Perl version of .txt to .html conversion.
+# There can't be two rules to produce a .html from a .txt file.
+# Just run over all .txt files each time one changes.  It's fast anyway.
+perlhtml : tags $(DOCS)
+	vim2html.pl tags $(DOCS)
+
+# Check URLs in the help with "curl" or "powershell".
+test_urls :
+	$(VIMEXE) -S test_urls.vim
+
+clean :
+	$(RM) doctags.exe doctags.obj
+	$(RM) *.html vim-stylesheet.css
+
+
+
+arabic.txt :
+	$(TOUCH)
+
+farsi.txt :
+	$(TOUCH)
+
+hebrew.txt :
+	$(TOUCH)
+
+russian.txt :
+	$(TOUCH)
+
+gui_w32.txt :
+	$(TOUCH)
+
+if_ole.txt :
+	$(TOUCH)
+
+os_390.txt :
+	$(TOUCH)
+
+os_amiga.txt :
+	$(TOUCH)
+
+os_beos.txt :
+	$(TOUCH)
+
+os_dos.txt :
+	$(TOUCH)
+
+os_haiku.txt :
+	$(TOUCH)
+
+os_mac.txt :
+	$(TOUCH)
+
+os_mint.txt :
+	$(TOUCH)
+
+os_msdos.txt :
+	$(TOUCH)
+
+os_os2.txt :
+	$(TOUCH)
+
+os_qnx.txt :
+	$(TOUCH)
+
+os_risc.txt :
+	$(TOUCH)
+
+os_win32.txt :
+	$(TOUCH)
+
+
+convert-all : $(CONVERTED)
+!IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2
+!ERROR The program "PowerShell" version 3.0 or higher is required to work
+!ENDIF
+
+vim-da.UTF-8.1 : vim-da.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimdiff-da.UTF-8.1 : vimdiff-da.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimtutor-da.UTF-8.1 : vimtutor-da.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vim-de.UTF-8.1 : vim-de.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+evim-fr.UTF-8.1 : evim-fr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vim-fr.UTF-8.1 : vim-fr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimdiff-fr.UTF-8.1 : vimdiff-fr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimtutor-fr.UTF-8.1 : vimtutor-fr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t utf-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+xxd-fr.UTF-8.1 : xxd-fr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+evim-it.UTF-8.1 : evim-it.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vim-it.UTF-8.1 : vim-it.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimdiff-it.UTF-8.1 : vimdiff-it.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimtutor-it.UTF-8.1 : vimtutor-it.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+xxd-it.UTF-8.1 : xxd-it.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+evim-pl.UTF-8.1 : evim-pl.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vim-pl.UTF-8.1 : vim-pl.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimdiff-pl.UTF-8.1 : vimdiff-pl.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimtutor-pl.UTF-8.1 : vimtutor-pl.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+xxd-pl.UTF-8.1 : xxd-pl.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+evim-ru.UTF-8.1 : evim-ru.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vim-ru.UTF-8.1 : vim-ru.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimdiff-ru.UTF-8.1 : vimdiff-ru.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimtutor-ru.UTF-8.1 : vimtutor-ru.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+xxd-ru.UTF-8.1 : xxd-ru.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+evim-tr.UTF-8.1 : evim-tr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vim-tr.UTF-8.1 : vim-tr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimdiff-tr.UTF-8.1 : vimdiff-tr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+vimtutor-tr.UTF-8.1 : vimtutor-tr.1
+!IF DEFINED (ICONV)
+	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
+!ELSE
+# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
+	powershell -nologo -noprofile -Command \
+		[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \
+		1>nul New-Item -Force -Path . -ItemType file -Name $@
+!ENDIF
+
+
+
+# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index 0445511..fc04287 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -13,9 +13,8 @@
 # AWK, used for "make html".  Comment this out if the include gives problems.
 include ../../src/auto/config.mk
 
-# 17.10.23, added by Restorer
 # Common components
-include makefile_all.mak
+include Make_all.mak
 
 .SUFFIXES:
 .SUFFIXES: .c .o .txt .html
@@ -148,16 +147,16 @@
 
 # Note that $< works with GNU make while $> works for BSD make.
 # Is there a solution that works for both??
-vim-da.UTF-8.1: vim-da.1		 # 17.10.23, added by Restorer
+vim-da.UTF-8.1: vim-da.1
 	iconv -f latin1 -t utf-8 $< >$@
 
-vimdiff-da.UTF-8.1: vimdiff-da.1	 # 17.10.23, added by Restorer
+vimdiff-da.UTF-8.1: vimdiff-da.1
 	iconv -f latin1 -t utf-8 $< >$@
 
-vimtutor-da.UTF-8.1: vimtutor-da.1	 # 17.10.23, added by Restorer
+vimtutor-da.UTF-8.1: vimtutor-da.1
 	iconv -f latin1 -t utf-8 $< >$@
 
-vim-de.UTF-8.1: vim-de.1		 # 17.10.23, added by Restorer
+vim-de.UTF-8.1: vim-de.1
 	iconv -f latin1 -t utf-8 $< >$@
 
 vim-fr.UTF-8.1: vim-fr.1
diff --git a/runtime/doc/makefile_mvc.mak b/runtime/doc/makefile_mvc.mak
deleted file mode 100644
index 218aaa6..0000000
--- a/runtime/doc/makefile_mvc.mak
+++ /dev/null
@@ -1,460 +0,0 @@
-#
-# Makefile for the Vim documentation on Windows
-#
-# 17.11.23, Restorer, <restorer@mail2k.ru>
-
-# Common components
-!INCLUDE makefile_all.mak
-
-
-# TODO: to think about what to use instead of awk. PowerShell?
-#AWK =
-
-#
-VIMEXE = D:\Programs\Vim\vim90\vim.exe
-
-#
-GETTEXT_PATH = D:\Programs\GetText\bin
-
-# In case some package like GnuWin32, UnixUtils
-# or something similar is installed on the system.
-# If the "touch" program is installed on the system, but it is not registered
-# in the %PATH% environment variable, then specify the full path to this file.
-!IF EXIST ("touch.exe")
-TOUCH = touch.exe $@ 
-!ELSE
-TOUCH = @if exist $@ ( copy /b $@+,, ) else ( type nul >$@ )
-!ENDIF
-
-# In case some package like GnuWin32, UnixUtils, gettext
-# or something similar is installed on the system.
-# If the "iconv" program is installed on the system, but it is not registered
-# in the %PATH% environment variable, then specify the full path to this file.
-!IF EXIST ("iconv.exe")
-ICONV = iconv.exe
-!ELSEIF EXIST ("$(GETTEXT_PATH)\iconv.exe")
-ICONV="$(GETTEXT_PATH)\iconv.exe"
-!ENDIF
-
-RM = del /q
-
-.SUFFIXES :
-.SUFFIXES : .c .o .txt .html
-
-
-all : tags perlhtml $(CONVERTED)
-
-# Use "doctags" to generate the tags file.  Only works for English!
-tags : doctags $(DOCS)
-	doctags $(DOCS) | sort /L C /O tags
-	powershell -nologo -noprofile -Command\
-	"(Get-Content -Raw tags | Get-Unique | % {$$_ -replace \"`r\", \"\"}) |\
-	New-Item -Force -Path . -ItemType file -Name tags"
-
-doctags : doctags.c
-	$(CC) doctags.c
-
-
-# Use Vim to generate the tags file.  Can only be used when Vim has been
-# compiled and installed.  Supports multiple languages.
-vimtags : $(DOCS)
-	$(VIMEXE) --clean -esX -V1 -u doctags.vim
-
-
-
-uganda.nsis.txt : uganda.*
-	!powershell -nologo -noprofile -Command\
-	$$ext=(Get-Item $?).Extension; (Get-Content $? ^| \
-	% {$$_ -replace '\s*\*[-a-zA-Z0-9.]*\*', '' -replace 'vim:tw=78:.*', ''})\
-	^| Set-Content $*$$ext
-	!powershell -nologo -noprofile -Command\
-	$$ext=(Get-Item $?).Extension;\
-	(Get-Content -Raw $(@B)$$ext).Trim() -replace '(\r\n){3,}', '$$1$$1'\
-	 ^| Set-Content $(@B)$$ext
-
-
-# TODO:
-#html: noerrors tags $(HTMLS)
-#	if exist errors.log (more errors.log)
-
-# TODO:
-#noerrors:
-#	$(RM) errors.log
-
-# TODO:
-#.txt.html:
-
-
-# TODO:
-#index.html: help.txt
-
-
-# TODO:
-#vimindex.html: index.txt
-
-
-# TODO:
-#tags.ref tags.html: tags
-
-# Perl version of .txt to .html conversion.
-# There can't be two rules to produce a .html from a .txt file.
-# Just run over all .txt files each time one changes.  It's fast anyway.
-perlhtml : tags $(DOCS)
-	vim2html.pl tags $(DOCS)
-
-# Check URLs in the help with "curl" or "powershell".
-test_urls :
-	$(VIMEXE) -S test_urls.vim
-
-clean :
-	$(RM) doctags.exe doctags.obj
-	$(RM) *.html vim-stylesheet.css
-
-
-
-arabic.txt :
-	$(TOUCH)
-
-farsi.txt :
-	$(TOUCH)
-
-hebrew.txt :
-	$(TOUCH)
-
-russian.txt :
-	$(TOUCH)
-
-gui_w32.txt :
-	$(TOUCH)
-
-if_ole.txt :
-	$(TOUCH)
-
-os_390.txt :
-	$(TOUCH)
-
-os_amiga.txt :
-	$(TOUCH)
-
-os_beos.txt :
-	$(TOUCH)
-
-os_dos.txt :
-	$(TOUCH)
-
-os_haiku.txt :
-	$(TOUCH)
-
-os_mac.txt :
-	$(TOUCH)
-
-os_mint.txt :
-	$(TOUCH)
-
-os_msdos.txt :
-	$(TOUCH)
-
-os_os2.txt :
-	$(TOUCH)
-
-os_qnx.txt :
-	$(TOUCH)
-
-os_risc.txt :
-	$(TOUCH)
-
-os_win32.txt :
-	$(TOUCH)
-
-
-convert-all : $(CONVERTED)
-!IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2
-!ERROR The program "PowerShell" version 3.0 or higher is required to work
-!ENDIF
-
-vim-da.UTF-8.1 : vim-da.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimdiff-da.UTF-8.1 : vimdiff-da.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimtutor-da.UTF-8.1 : vimtutor-da.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vim-de.UTF-8.1 : vim-de.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-evim-fr.UTF-8.1 : evim-fr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vim-fr.UTF-8.1 : vim-fr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimdiff-fr.UTF-8.1 : vimdiff-fr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimtutor-fr.UTF-8.1 : vimtutor-fr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t utf-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-xxd-fr.UTF-8.1 : xxd-fr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-evim-it.UTF-8.1 : evim-it.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vim-it.UTF-8.1 : vim-it.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimdiff-it.UTF-8.1 : vimdiff-it.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimtutor-it.UTF-8.1 : vimtutor-it.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-xxd-it.UTF-8.1 : xxd-it.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-1 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-evim-pl.UTF-8.1 : evim-pl.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vim-pl.UTF-8.1 : vim-pl.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimdiff-pl.UTF-8.1 : vimdiff-pl.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimtutor-pl.UTF-8.1 : vimtutor-pl.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-xxd-pl.UTF-8.1 : xxd-pl.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-2 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-evim-ru.UTF-8.1 : evim-ru.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vim-ru.UTF-8.1 : vim-ru.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimdiff-ru.UTF-8.1 : vimdiff-ru.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimtutor-ru.UTF-8.1 : vimtutor-ru.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-xxd-ru.UTF-8.1 : xxd-ru.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f KOI8-R -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-evim-tr.UTF-8.1 : evim-tr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
-!ELSE
-!    IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2
-!    ERROR Для работы требуется программа «PowerShell» версии 3.0 или выше
-!    ENDIF
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vim-tr.UTF-8.1 : vim-tr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimdiff-tr.UTF-8.1 : vimdiff-tr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-vimtutor-tr.UTF-8.1 : vimtutor-tr.1
-!IF DEFINED (ICONV)
-	$(ICONV) -f ISO-8859-9 -t UTF-8 $? >$@
-!ELSE
-# Conversion to UTF-8 encoding without BOM and with UNIX-like line ending
-	powershell -nologo -noprofile -Command\
-	[IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^|\
-	1>nul New-Item -Force -Path . -ItemType file -Name $@
-!ENDIF
-
-
-
-# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make:
