diff --git a/Filelist b/Filelist index 413a88b65c..e97e17ec0e 100644 --- a/Filelist +++ b/Filelist @@ -569,6 +569,7 @@ SRC_DOS_UNIX = \ # Source files for MS Windows (also in the extra archive). SRC_DOS = \ + src/auto/nmake/tools.mak \ src/GvimExt/*.mak \ src/GvimExt/GvimExt.reg \ src/GvimExt/Makefile \ diff --git a/nsis/Make_mvc.mak b/nsis/Make_mvc.mak index 8350082b26..143b5edaad 100644 --- a/nsis/Make_mvc.mak +++ b/nsis/Make_mvc.mak @@ -1,10 +1,59 @@ # # Makefile for MS Windows for create self-installing exe of Vim. -# 05/04/2024, Restorer restorer@mail2k.ru +# 2024‐04-05, Restorer, restorer@mail2k.ru # -#!INCLUDE .\Make_all.mak +# included common tools +!INCLUDE ..\src\auto\nmake\tools.mak + +# Read MAJOR and MINOR from version.h. +!IFNDEF MAJOR +! IF ![for /F "tokens=3" %G in \ + ('findstr /RC:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') \ + do @(echo:MAJOR=%G>> .\_major.tmp)] +! INCLUDE .\_major.tmp +! IF [$(RM) .\_major.tmp] +! ENDIF +! ELSE +MAJOR = 9 +! ENDIF +!ENDIF + +!IFNDEF MINOR +! IF ![for /F "tokens=3" %G in \ + ('findstr /RC:"VIM_VERSION_MINOR[ ^]*[0-9^]" ..\src\version.h') \ + do @(echo:MINOR=%G>> .\_minor.tmp)] +! INCLUDE .\_minor.tmp +! IF [$(RM) .\_minor.tmp] +! ENDIF +! ELSE +MINOR = 1 +! ENDIF +!ENDIF + +# Read PATCHLEVEL from version.c +!IFNDEF PATCHLEVEL +! IF ![for /F %G in \ + ('findstr /NBLC:"static int included_patches" ..\src\version.c \ + ^| (set /p "_t=" ^& set /a _t+=2 ^)') do \ + @$(CMD) $(CMDFLAGS) "for /F "skip=%G delims=, " %H in \ + (..\src\version.c) do (echo:PATCHLEVEL=%H> .\_patchlvl.tmp & exit /b)"] +! INCLUDE .\_patchlvl.tmp +! IF [$(RM) .\_patchlvl.tmp] +! ENDIF +! ELSE +PATCHLEVEL = 0 +! ENDIF +!ENDIF + +!IF $(PATCHLEVEL) < 10 +PATCHLEVEL = 000$(PATCHLEVEL) +!ELSEIF $(PATCHLEVEL) < 100 +PATCHLEVEL = 00$(PATCHLEVEL) +!ELSEIF $(PATCHLEVEL) < 1000 +PATCHLEVEL = 0$(PATCHLEVEL) +!ENDIF .SUFFIXES : @@ -60,49 +109,15 @@ XX = /X"$(X:;=" /X")" # If necessary, correct the full path of the NSIS compiler in the next line. # Please do not enclose the path in quotation marks. -MKNSIS = $(ProgFiles)\NSIS - -PS = powershell.exe -RM = del /f /q -RD = rmdir /s /q +MKNSIS = $(ProgFiles)\NSIS\makensis.exe MKNSISFLAGS = /INPUTCHARSET UTF8 $(MKNSISFLAGS) -PSFLAGS = -NoLogo -NoProfile -Command - -# Read MAJOR and MINOR from version.h. -!IF ![for /F "tokens=2,3" %G in ( \ - 'findstr /rc:"VIM_VERSION_MINOR[ ^]*[0-9^]" \ - /rc:"VIM_VERSION_MAJOR[ ^]*[0-9^]" ..\src\version.h') do \ - @if "VIM_VERSION_MAJOR"=="%G" (echo MAJOR=%H>>_ver.tmp) \ - else echo MINOR=%H>>_ver.tmp] -! INCLUDE .\_ver.tmp -! IF [$(RM) .\_ver.tmp] -! ENDIF -!ENDIF - -# Read PATCHLEVEL from version.c -!IF ![for /F %G in ( \ - 'findstr /nblc:"static int included_patches[^]" ..\src\version.c \ - ^| (set /p "_t=" ^& set /a _t+=2 ^)') do \ - @cmd /q /c "for /F "skip=%G delims=, " %H in (..\src\version.c) do \ - (echo PATCH=%H>_patchlvl.tmp & exit /b)"] -! INCLUDE .\_patchlvl.tmp -! IF [$(RM) .\_patchlvl.tmp] -! ENDIF -!ENDIF -!IF $(PATCH) < 10 -PATCH = 000$(PATCH) -!ELSEIF $(PATCH) < 100 -PATCH = 00$(PATCH) -!ELSEIF $(PATCH) < 1000 -PATCH = 0$(PATCH) -!ENDIF all : makeinst makeinst : prepare - ^"$(MKNSIS)\makensis.exe" $(MKNSISFLAGS) gvim.nsi $(XX) + ^"$(MKNSIS)" $(MKNSISFLAGS) gvim.nsi $(XX) prepare : unzipicons gvim_version.nsh license rename @@ -110,7 +125,8 @@ unzipicons : icons.zip @ if exist %|fF\nul $(RD) %|fF @ $(PS) $(PSFLAGS) \ Add-Type -AssemblyName 'System.IO.Compression.FileSystem'; \ - [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \".\") + [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$**\", \ + \".\") gvim_version.nsh : Make_mvc.mak @ 1> $@ echo:^# Generated from Makefile: define the version numbers @@ -118,7 +134,7 @@ gvim_version.nsh : Make_mvc.mak @ 1>> $@ echo:^!define __GVIM_VER__NSH__ @ 1>> $@ echo:^!define VER_MAJOR $(MAJOR) @ 1>> $@ echo:^!define VER_MINOR $(MINOR) - @ 1>> $@ echo:^!define PATCHLEVEL $(PATCH) + @ 1>> $@ echo:^!define PATCHLEVEL $(PATCHLEVEL) @ 1>> $@ echo:^!endif license : ..\lang\LICENSE.*.txt ..\LICENSE @@ -135,4 +151,4 @@ clean : @ if exist .\icons\nul $(RD) .\icons @ if exist .\gvim??.exe $(RM) .\gvim??.exe -# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/runtime/doc/Make_mvc.mak b/runtime/doc/Make_mvc.mak index 064aa3ebf3..8dc09a35fa 100644 --- a/runtime/doc/Make_mvc.mak +++ b/runtime/doc/Make_mvc.mak @@ -1,16 +1,20 @@ # # Makefile for the Vim documentation on Windows # -# 20.03.24, Restorer, +# 2024-03-20, Restorer, +# + +# included common tools +!INCLUDE ..\..\src\auto\nmake\tools.mak # Common components -!INCLUDE Make_all.mak +!INCLUDE .\Make_all.mak # TODO: to think about what to use instead of awk. PowerShell? #AWK = -# Correct the following line for the where executable file vim is installed. +# Correct the following line for the where executable file Vim is installed. # Please do not put the path in quotes. VIMPROG = ..\..\src\vim.exe @@ -18,16 +22,6 @@ VIMPROG = ..\..\src\vim.exe # Please do not put the path in quotes. ICONV_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 %1 -!ELSE -TOUCH = if exist %1 ( copy /b %1+,, ) else ( type nul >%1 ) -!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 @@ -38,11 +32,6 @@ ICONV = iconv.exe ICONV = "$(ICONV_PATH)\iconv.exe" !ENDIF -RM = del /q -PS = PowerShell.exe - -PSFLAGS = -NoLogo -NoProfile -Command - .SUFFIXES : .SUFFIXES : .c .o .txt .html @@ -53,7 +42,8 @@ all : tags perlhtml $(CONVERTED) tags : doctags $(DOCS) doctags.exe $(DOCS) | sort /L C /O tags $(PS) $(PSFLAGS) \ - (Get-Content -Raw tags ^| Get-Unique ^| %%{$$_ -replace \"`r\", \"\"}) \ + (Get-Content -Raw tags ^| Get-Unique ^| %%{$$_ \ + -replace \"`r\", \"\"}) \ ^| New-Item -Path . -Name tags -ItemType file -Force doctags : doctags.c @@ -63,7 +53,7 @@ doctags : 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) - @"$(VIMPROG)" --clean -esX -V1 -u doctags.vim + @ "$(VIMPROG)" --clean -esX -V1 -u doctags.vim # TODO: #html: noerrors tags $(HTMLS) @@ -104,99 +94,96 @@ clean : arabic.txt : - <nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimdiff-da.UTF-8.1 : vimdiff-da.1 @@ -214,8 +202,9 @@ vimdiff-da.UTF-8.1 : vimdiff-da.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimtutor-da.UTF-8.1 : vimtutor-da.1 @@ -224,8 +213,9 @@ vimtutor-da.UTF-8.1 : vimtutor-da.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vim-de.UTF-8.1 : vim-de.1 @@ -234,8 +224,9 @@ vim-de.UTF-8.1 : vim-de.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF evim-fr.UTF-8.1 : evim-fr.1 @@ -244,8 +235,9 @@ evim-fr.UTF-8.1 : evim-fr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vim-fr.UTF-8.1 : vim-fr.1 @@ -254,8 +246,9 @@ vim-fr.UTF-8.1 : vim-fr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimdiff-fr.UTF-8.1 : vimdiff-fr.1 @@ -264,8 +257,9 @@ vimdiff-fr.UTF-8.1 : vimdiff-fr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimtutor-fr.UTF-8.1 : vimtutor-fr.1 @@ -274,8 +268,9 @@ vimtutor-fr.UTF-8.1 : vimtutor-fr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF xxd-fr.UTF-8.1 : xxd-fr.1 @@ -284,8 +279,9 @@ xxd-fr.UTF-8.1 : xxd-fr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF evim-it.UTF-8.1 : evim-it.1 @@ -294,8 +290,9 @@ evim-it.UTF-8.1 : evim-it.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vim-it.UTF-8.1 : vim-it.1 @@ -304,8 +301,9 @@ vim-it.UTF-8.1 : vim-it.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimdiff-it.UTF-8.1 : vimdiff-it.1 @@ -314,8 +312,9 @@ vimdiff-it.UTF-8.1 : vimdiff-it.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimtutor-it.UTF-8.1 : vimtutor-it.1 @@ -324,8 +323,9 @@ vimtutor-it.UTF-8.1 : vimtutor-it.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF xxd-it.UTF-8.1 : xxd-it.1 @@ -334,8 +334,9 @@ xxd-it.UTF-8.1 : xxd-it.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28591)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28591)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF evim-pl.UTF-8.1 : evim-pl.1 @@ -344,8 +345,9 @@ evim-pl.UTF-8.1 : evim-pl.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28592)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vim-pl.UTF-8.1 : vim-pl.1 @@ -354,8 +356,9 @@ vim-pl.UTF-8.1 : vim-pl.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28592)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimdiff-pl.UTF-8.1 : vimdiff-pl.1 @@ -364,8 +367,9 @@ vimdiff-pl.UTF-8.1 : vimdiff-pl.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28592)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimtutor-pl.UTF-8.1 : vimtutor-pl.1 @@ -374,8 +378,9 @@ vimtutor-pl.UTF-8.1 : vimtutor-pl.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28592)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF xxd-pl.UTF-8.1 : xxd-pl.1 @@ -384,8 +389,9 @@ xxd-pl.UTF-8.1 : xxd-pl.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28592)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28592)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF evim-ru.UTF-8.1 : evim-ru.1 @@ -394,8 +400,9 @@ evim-ru.UTF-8.1 : evim-ru.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(20866)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vim-ru.UTF-8.1 : vim-ru.1 @@ -404,8 +411,9 @@ vim-ru.UTF-8.1 : vim-ru.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(20866)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimdiff-ru.UTF-8.1 : vimdiff-ru.1 @@ -414,8 +422,9 @@ vimdiff-ru.UTF-8.1 : vimdiff-ru.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(20866)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimtutor-ru.UTF-8.1 : vimtutor-ru.1 @@ -424,8 +433,9 @@ vimtutor-ru.UTF-8.1 : vimtutor-ru.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(20866)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF xxd-ru.UTF-8.1 : xxd-ru.1 @@ -434,8 +444,9 @@ xxd-ru.UTF-8.1 : xxd-ru.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(20866)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(20866)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF evim-tr.UTF-8.1 : evim-tr.1 @@ -444,8 +455,9 @@ evim-tr.UTF-8.1 : evim-tr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28599)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vim-tr.UTF-8.1 : vim-tr.1 @@ -454,8 +466,9 @@ vim-tr.UTF-8.1 : vim-tr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28599)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimdiff-tr.UTF-8.1 : vimdiff-tr.1 @@ -464,8 +477,9 @@ vimdiff-tr.UTF-8.1 : vimdiff-tr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28599)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF vimtutor-tr.UTF-8.1 : vimtutor-tr.1 @@ -474,8 +488,9 @@ vimtutor-tr.UTF-8.1 : vimtutor-tr.1 !ELSE # Conversion to UTF-8 encoding without BOM and with UNIX-like line ending $(PS) $(PSFLAGS) \ - [IO.File]::ReadAllText(\"$?\", [Text.Encoding]::GetEncoding(28599)) ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + [IO.File]::ReadAllText(\"$?\", \ + [Text.Encoding]::GetEncoding(28599)) ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force !ENDIF -# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/runtime/indent/Make_mvc.mak b/runtime/indent/Make_mvc.mak index a50494d8c5..44f80f74ff 100644 --- a/runtime/indent/Make_mvc.mak +++ b/runtime/indent/Make_mvc.mak @@ -1,10 +1,17 @@ +# # Makefile for running indent tests on OS Windows. # Made on the base of a indent/Makefile. -# Restorer, 13.03.2024 +# 2024-03-13, Restorer +# + +# included common tools +!INCLUDE ..\..\src\auto\nmake\tools.mak + +LSFLAGS = /A:-D /B /O:N /L /S .SUFFIXES: -VIMPROG = vim.exe +VIMPROG = ..\..\src\vim.exe VIMRUNTIME = .. # Run the tests that didn't run yet or failed previously. @@ -12,10 +19,22 @@ VIMRUNTIME = .. # If a test fails a testdir\*.fail file will be written. test : @ set "VIMRUNTIME=$(VIMRUNTIME)" - $(VIMPROG) --clean --not-a-term -u testdir\runtest.vim - + @ $(VIMPROG) --clean --not-a-term -u testdir\runtest.vim && \ + (echo:&echo: INDENT TESTS: DONE &echo:) || \ + < nul $(LS) $(LSFLAGS) testdir\*.fail') do ( +call set "fail=%%fail%% %%G") +if defined fail ( +for %%G in (%fail%) do @(echo:&echo: %%~nxG:&echo: && type %%G) +) +exit /B %retval% +<< clean testclean : - @ if exist testdir\*.fail del /q testdir\*.fail - @ if exist testdir\*.out del /q testdir\*.out + @ if exist testdir\*.fail $(RM) testdir\*.fail + @ if exist testdir\*.out $(RM) testdir\*.out +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/runtime/lang/Make_mvc.mak b/runtime/lang/Make_mvc.mak index c8647181b2..4f08a8cd68 100644 --- a/runtime/lang/Make_mvc.mak +++ b/runtime/lang/Make_mvc.mak @@ -1,14 +1,14 @@ # # Makefile for converted the Vim menu files on Windows # -# 08.11.23, Restorer, +# 2023-11-08, Restorer, +# -!IF [powershell -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2 -!ERROR The program "PowerShell" version 3.0 or higher is required to work -!ENDIF +# included common tools +!INCLUDE ..\..\src\auto\nmake\tools.mak # Common components -!INCLUDE Make_all.mak +!INCLUDE .\Make_all.mak # Correct the following line for the directory where iconv is installed. # Please do not put the path in quotes. @@ -24,17 +24,11 @@ ICONV = "iconv.exe" ICONV = "$(ICONV_PATH)\iconv.exe" !ENDIF -RM = del /q -PS = PowerShell.exe - -PSFLAGS = -NoLogo -NoProfile -Command - - all : $(CONVERTED) -# Convert menu_zh_cn.utf-8.vim to create menu_chinese_gb.936.vim. +# Convert menu_zh_cn.utf-8.vim to menu_chinese_gb.936.vim. menu_chinese_gb.936.vim : menu_zh_cn.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP936 $? >$@ !ELSE @@ -46,13 +40,13 @@ menu_chinese_gb.936.vim : menu_zh_cn.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(936)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp936' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(936)) -# Convert menu_zh_tw.utf-8.vim to create menu_chinese_taiwan.950.vim. +# Convert menu_zh_tw.utf-8.vim to menu_chinese_taiwan.950.vim. menu_chinese_taiwan.950.vim : menu_zh_tw.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP950 $? >$@ !ELSE @@ -64,13 +58,13 @@ menu_chinese_taiwan.950.vim : menu_zh_tw.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(950)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp950' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(950)) -# Convert menu_cs_cz.utf-8.vim to create menu_cs_cz.iso_8859-2.vim. +# Convert menu_cs_cz.utf-8.vim to menu_cs_cz.iso_8859-2.vim. menu_cs_cz.iso_8859-2.vim : menu_cs_cz.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t ISO-8859-2 $? >$@ !ELSE @@ -81,15 +75,15 @@ menu_cs_cz.iso_8859-2.vim : menu_cs_cz.utf-8.vim !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28592)) -replace \ - ' Czech \(UTF-8\)', ' Czech (ISO-8859-2)' -replace \ - \"scriptencoding utf-8\", \"scriptencoding iso-8859-2\" -replace \ - \" Original translations\", \" Generated from $?, DO NOT EDIT\"; \ + 'Czech \(UTF-8\)', 'Czech (ISO-8859-2)' -replace \ + 'scriptencoding utf-8', 'scriptencoding iso-8859-2' -replace \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28592)) -# Convert menu_cs_cz.utf-8.vim to create menu_czech_czech_republic.1250.vim. +# Convert menu_cs_cz.utf-8.vim to menu_czech_czech_republic.1250.vim. menu_czech_czech_republic.1250.vim : menu_cs_cz.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1250 $? >$@ !ELSE @@ -100,35 +94,41 @@ menu_czech_czech_republic.1250.vim : menu_cs_cz.utf-8.vim !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1250)) -replace \ - ' Czech \(UTF-8\)', ' Czech (CP1250)' -replace \ - \"scriptencoding utf-8\", \"scriptencoding cp1250\" -replace \ - \" Original translations\", \" Generated from $?, DO NOT EDIT\"; \ + 'Czech \(UTF-8\)', 'Czech (CP1250)' -replace \ + 'scriptencoding utf-8', 'scriptencoding cp1250' -replace \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(1250)) -# Convert menu_cs_cz.utf-8.vim to create menu_czech_czech_republic.ascii.vim. +# Convert menu_cs_cz.utf-8.vim to menu_czech_czech_republic.ascii.vim. menu_czech_czech_republic.ascii.vim : menu_cs_cz.utf-8.vim - -$(RM) $@ + - $(RM) $@ $(PS) $(PSFLAGS) [System.IO.File]::ReadAllText(\"$?\", \ [System.Text.Encoding]::GetEncoding(65001)) -replace \ 'scriptencoding utf-8', 'scriptencoding latin1' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT' -replace \ - 'Czech \(UTF-8\)', 'Czech (ASCII - without diacritics)' -creplace \ - [char]193, 'A' -creplace [char]225, 'a' -creplace [char]268, 'C' -creplace \ - [char]269, 'c' -creplace [char]270, 'D' -creplace [char]271, 'd' -creplace \ - [char]201, 'E' -creplace [char]233, 'e' -creplace [char]282, 'E' -creplace \ - [char]283, 'e' -creplace [char]205, 'I' -creplace [char]237, 'i' -creplace \ - [char]327, 'N' -creplace [char]328, 'n' -creplace [char]211, 'O' -creplace \ - [char]243, 'o' -creplace [char]344, 'R' -creplace [char]345, 'r' -creplace \ - [char]352, 'S' -creplace [char]353, 's' -creplace [char]356, 'T' -creplace \ - [char]357, 't' -creplace [char]218, 'U' -creplace [char]250, 'u' -creplace \ - [char]366, 'U' -creplace [char]367, 'u' -creplace [char]221, 'Y' -creplace \ - [char]253, 'y' -creplace [char]381, 'Z' -creplace [char]382, 'z' ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + 'Original translations', 'Generated from $?, DO NOT EDIT' \ + -replace 'Czech \(UTF-8\)', \ + 'Czech (ASCII - without diacritics)' \ + -creplace [char]193, 'A' -creplace [char]225, 'a' \ + -creplace [char]268, 'C' -creplace [char]269, 'c' \ + -creplace [char]270, 'D' -creplace [char]271, 'd' \ + -creplace [char]201, 'E' -creplace [char]233, 'e' \ + -creplace [char]282, 'E' -creplace [char]283, 'e' \ + -creplace [char]205, 'I' -creplace [char]237, 'i' \ + -creplace [char]327, 'N' -creplace [char]328, 'n' \ + -creplace [char]211, 'O' -creplace [char]243, 'o' \ + -creplace [char]344, 'R' -creplace [char]345, 'r' \ + -creplace [char]352, 'S' -creplace [char]353, 's' \ + -creplace [char]356, 'T' -creplace [char]357, 't' \ + -creplace [char]218, 'U' -creplace [char]250, 'u' \ + -creplace [char]366, 'U' -creplace [char]367, 'u' \ + -creplace [char]221, 'Y' -creplace [char]253, 'y' \ + -creplace [char]381, 'Z' -creplace [char]382, 'z' \ + ^| 1>nul New-Item -Path . -Name $@ -ItemType file -Force -# Convert menu_hu_hu.utf-8.vim to create menu_hu_hu.iso_8859-2.vim. +# Convert menu_hu_hu.utf-8.vim to menu_hu_hu.iso_8859-2.vim. menu_hu_hu.iso_8859-2.vim : menu_hu_hu.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t ISO-8859-2 $? >$@ !ELSE @@ -140,13 +140,13 @@ menu_hu_hu.iso_8859-2.vim : menu_hu_hu.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28592)) -replace \ 'scriptencoding utf-8', 'scriptencoding iso-8859-2' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28592)) -# Convert menu_ja_jp.utf-8.vim to create menu_ja_jp.euc-jp.vim. +# Convert menu_ja_jp.utf-8.vim to menu_ja_jp.euc-jp.vim. menu_ja_jp.euc-jp.vim : menu_ja_jp.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t EUC-JP $? >$@ !ELSE @@ -159,13 +159,13 @@ menu_ja_jp.euc-jp.vim : menu_ja_jp.utf-8.vim [System.Text.Encoding]::GetEncoding(51932)) -replace \ 'Japanese \(UTF-8\)', 'Japanese (EUC-JP)' -replace \ 'scriptencoding utf-8', 'scriptencoding euc-jp' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(51932)) -# Convert menu_ja_jp.utf-8.vim to create menu_japanese_japan.932.vim. +# Convert menu_ja_jp.utf-8.vim to menu_japanese_japan.932.vim. menu_japanese_japan.932.vim : menu_ja_jp.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP932 $? >$@ !ELSE @@ -178,13 +178,13 @@ menu_japanese_japan.932.vim : menu_ja_jp.utf-8.vim [System.Text.Encoding]::GetEncoding(932)) -replace \ 'Japanese \(UTF-8\)', 'Japanese (CP932)' -replace \ 'scriptencoding utf-8', 'scriptencoding cp932' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(932)) -# Convert menu_ko_kr.utf-8.vim to create menu_ko_kr.euckr.vim. +# Convert menu_ko_kr.utf-8.vim to menu_ko_kr.euckr.vim. menu_ko_kr.euckr.vim : menu_ko_kr.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t EUC-KR $? >$@ !ELSE @@ -196,13 +196,13 @@ menu_ko_kr.euckr.vim : menu_ko_kr.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(51949)) -replace \ 'scriptencoding utf-8', 'scriptencoding euc-kr' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(51949)) -# Convert menu_pl_pl.utf-8.vim to create menu_pl_pl.iso_8859-2.vim. +# Convert menu_pl_pl.utf-8.vim to menu_pl_pl.iso_8859-2.vim. menu_pl_pl.iso_8859-2.vim : menu_pl_pl.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t ISO-8859-2 $? >$@ !ELSE @@ -214,13 +214,13 @@ menu_pl_pl.iso_8859-2.vim : menu_pl_pl.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28592)) -replace \ 'scriptencoding utf-8', 'scriptencoding iso-8859-2' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28592)) -# Convert menu_pl_pl.utf-8.vim to create menu_polish_poland.1250.vim. +# Convert menu_pl_pl.utf-8.vim to menu_polish_poland.1250.vim. menu_polish_poland.1250.vim : menu_pl_pl.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1250 $? >$@ !ELSE @@ -232,13 +232,13 @@ menu_polish_poland.1250.vim : menu_pl_pl.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1250)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp1250' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(1250)) -# Convert menu_ru_ru.utf-8.vim to create menu_ru_ru.cp1251.vim. +# Convert menu_ru_ru.utf-8.vim to menu_ru_ru.cp1251.vim. menu_ru_ru.cp1251.vim : menu_ru_ru.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1251 $? >$@ !ELSE @@ -250,13 +250,13 @@ menu_ru_ru.cp1251.vim : menu_ru_ru.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1251)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp1251' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(1251)) -# Convert menu_ru_ru.utf-8.vim to create menu_ru_ru.koi8-r.vim. +# Convert menu_ru_ru.utf-8.vim to menu_ru_ru.koi8-r.vim. menu_ru_ru.koi8-r.vim : menu_ru_ru.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t KOI8-R $? >$@ !ELSE @@ -268,13 +268,13 @@ menu_ru_ru.koi8-r.vim : menu_ru_ru.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(20866)) -replace \ 'scriptencoding utf-8', 'scriptencoding koi8-r' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(20866)) -# Convert menu_slovak_slovak_republic.1250.vim to create menu_sk_sk.iso_8859-2.vim. +# Convert menu_slovak_slovak_republic.1250.vim to menu_sk_sk.iso_8859-2.vim. menu_sk_sk.iso_8859-2.vim : menu_slovak_slovak_republic.1250.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f CP1250 -t ISO-8859-2 $? >$@ !ELSE @@ -286,13 +286,13 @@ menu_sk_sk.iso_8859-2.vim : menu_slovak_slovak_republic.1250.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28592)) -replace \ 'scriptencoding cp1250', 'scriptencoding iso-8859-2' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28592)) -# Convert menu_sl_si.utf-8.vim to create menu_sl_si.cp1250.vim. +# Convert menu_sl_si.utf-8.vim to menu_sl_si.cp1250.vim. menu_sl_si.cp1250.vim : menu_sl_si.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1250 $? >$@ !ELSE @@ -304,13 +304,13 @@ menu_sl_si.cp1250.vim : menu_sl_si.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1250)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp1250' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(1250)) -# Convert menu_sl_si.utf-8.vim to create menu_sl_si.latin2.vim. +# Convert menu_sl_si.utf-8.vim to menu_sl_si.latin2.vim. menu_sl_si.latin2.vim : menu_sl_si.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t ISO-8859-2 $? >$@ !ELSE @@ -322,71 +322,93 @@ menu_sl_si.latin2.vim : menu_sl_si.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28592)) -replace \ 'scriptencoding utf-8', 'scriptencoding iso-8859-2' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28592)) -# Convert menu_sr_rs.utf-8.vim to create menu_sr_rs.ascii.vim. +# Convert menu_sr_rs.utf-8.vim to menu_sr_rs.ascii.vim. menu_sr_rs.ascii.vim : menu_sr_rs.utf-8.vim - -$(RM) $@ + - $(RM) $@ $(PS) $(PSFLAGS) [System.IO.File]::ReadAllText(\"$?\", \ [System.Text.Encoding]::GetEncoding(65001)) -replace \ 'scriptencoding utf-8', 'scriptencoding latin1' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT' -creplace \ - [char]1072, 'a' -creplace [char]1073, 'b' -creplace [char]1074, 'v' -creplace \ - [char]1075, 'g' -creplace [char]1076, 'd' -creplace [char]1106, 'dj' -creplace \ - [char]1077, 'e' -creplace [char]1078, 'z' -creplace [char]1079, 'z' -creplace \ - [char]1080, 'i' -creplace [char]1112, 'j' -creplace [char]1082, 'k' -creplace \ - [char]1083, 'l' -creplace [char]1113, 'lj' -creplace [char]1084, 'm' -creplace \ - [char]1085, 'n' -creplace [char]1114, 'nj' -creplace [char]1086, 'o' -creplace \ - [char]1087, 'p' -creplace [char]1088, 'r' -creplace [char]1089, 's' -creplace \ - [char]1090, 't' -creplace [char]1115, 'c' -creplace [char]1091, 'u' -creplace \ - [char]1092, 'f' -creplace [char]1093, 'h' -creplace [char]1094, 'c' -creplace \ - [char]1095, 'c' -creplace [char]1119, 'dz' -creplace [char]1096, 's' -creplace \ - [char]1040, 'A' -creplace [char]1041, 'B' -creplace [char]1042, 'V' -creplace \ - [char]1043, 'G' -creplace [char]1044, 'D' -creplace [char]1026, 'Đ' -creplace \ - [char]1045, 'E' -creplace [char]1046, 'Z' -creplace [char]1047, 'Z' -creplace \ - [char]1048, 'I' -creplace [char]1032, 'J' -creplace [char]1050, 'K' -creplace \ - [char]1051, 'L' -creplace [char]1033, 'Lj' -creplace [char]1052, 'M' -creplace \ - [char]1053, 'N' -creplace [char]1034, 'Nj' -creplace [char]1054, 'O' -creplace \ - [char]1055, 'P' -creplace [char]1056, 'R' -creplace [char]1057, 'S' -creplace \ - [char]1058, 'T' -creplace [char]1035, 'C' -creplace [char]1059, 'U' -creplace \ - [char]1060, 'F' -creplace [char]1061, 'H' -creplace [char]1062, 'C' -creplace \ - [char]1063, 'C' -creplace [char]1039, 'Dz' -creplace [char]1064, 'S' ^| \ - 1>nul New-Item -Force -Path . -ItemType file -Name $@ + 'Original translations', 'Generated from $?, DO NOT EDIT' \ + -creplace [char]1072, 'a' -creplace [char]1073, 'b' \ + -creplace [char]1074, 'v' -creplace [char]1075, 'g' \ + -creplace [char]1076, 'd' -creplace [char]1106, 'dj' \ + -creplace [char]1077, 'e' -creplace [char]1078, 'z' \ + -creplace [char]1079, 'z' -creplace [char]1080, 'i' \ + -creplace [char]1112, 'j' -creplace [char]1082, 'k' \ + -creplace [char]1083, 'l' -creplace [char]1113, 'lj' \ + -creplace [char]1084, 'm' -creplace [char]1085, 'n' \ + -creplace [char]1114, 'nj' -creplace [char]1086, 'o' \ + -creplace [char]1087, 'p' -creplace [char]1088, 'r' \ + -creplace [char]1089, 's' -creplace [char]1090, 't' \ + -creplace [char]1115, 'c' -creplace [char]1091, 'u' \ + -creplace [char]1092, 'f' -creplace [char]1093, 'h' \ + -creplace [char]1094, 'c' -creplace [char]1095, 'c' \ + -creplace [char]1119, 'dz' -creplace [char]1096, 's' \ + -creplace [char]1040, 'A' -creplace [char]1041, 'B' \ + -creplace [char]1042, 'V' -creplace [char]1043, 'G' \ + -creplace [char]1044, 'D' -creplace [char]1026, 'Đ' \ + -creplace [char]1045, 'E' -creplace [char]1046, 'Z' \ + -creplace [char]1047, 'Z' -creplace [char]1048, 'I' \ + -creplace [char]1032, 'J' -creplace [char]1050, 'K' \ + -creplace [char]1051, 'L' -creplace [char]1033, 'Lj' \ + -creplace [char]1052, 'M' -creplace [char]1053, 'N' \ + -creplace [char]1034, 'Nj' -creplace [char]1054, 'O' \ + -creplace [char]1055, 'P' -creplace [char]1056, 'R' \ + -creplace [char]1057, 'S' -creplace [char]1058, 'T' \ + -creplace [char]1035, 'C' -creplace [char]1059, 'U' \ + -creplace [char]1060, 'F' -creplace [char]1061, 'H' \ + -creplace [char]1062, 'C' -creplace [char]1063, 'C' \ + -creplace [char]1039, 'Dz' -creplace [char]1064, 'S' ^| \ + 1>nul New-Item -Path . -Name $@ -ItemType file -Force -# Convert menu_sr_rs.utf-8.vim to create menu_sr_rs.iso_8859-2.vim. +# Convert menu_sr_rs.utf-8.vim to menu_sr_rs.iso_8859-2.vim. menu_sr_rs.iso_8859-2.vim : menu_sr_rs.utf-8.vim - -$(RM) $@ + - $(RM) $@ $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$?\", \ - [System.Text.Encoding]::GetEncoding(65001)) -creplace \ - [char]1072, 'a' -creplace [char]1073, 'b' -creplace [char]1074, 'v' -creplace \ - [char]1075, 'g' -creplace [char]1076, 'd' -creplace [char]1106, [char]273 -creplace \ - [char]1077, 'e' -creplace [char]1078, [char]382 -creplace [char]1079, 'z' -creplace \ - [char]1080, 'i' -creplace [char]1112, 'j' -creplace [char]1082, 'k' -creplace \ - [char]1083, 'l' -creplace [char]1113, 'lj' -creplace [char]1084, 'm' -creplace \ - [char]1085, 'n' -creplace [char]1114, 'nj' -creplace [char]1086, 'o' -creplace \ - [char]1087, 'p' -creplace [char]1088, 'r' -creplace [char]1089, 's' -creplace \ - [char]1090, 't' -creplace [char]1115, [char]263 -creplace [char]1091, 'u' -creplace \ - [char]1092, 'f' -creplace [char]1093, 'h' -creplace [char]1094, 'c' -creplace \ - [char]1095, [char]269 -creplace [char]1119, 'dz' -creplace [char]1096, [char]353 -creplace \ - [char]1040, 'A' -creplace [char]1041, 'B' -creplace [char]1042, 'V' -creplace \ - [char]1043, 'G' -creplace [char]1044, 'D' -creplace [char]1026, 'Đ' -creplace \ - [char]1045, 'E' -creplace [char]1046, [char]381 -creplace [char]1047, 'Z' -creplace \ - [char]1048, 'I' -creplace [char]1032, 'J' -creplace [char]1050, 'K' -creplace \ - [char]1051, 'L' -creplace [char]1033, 'Lj'-creplace [char]1052, 'M' -creplace \ - [char]1053, 'N' -creplace [char]1034, 'Nj' -creplace [char]1054, 'O' -creplace \ - [char]1055, 'P' -creplace [char]1056, 'R' -creplace [char]1057, 'S' -creplace \ - [char]1058, 'T' -creplace [char]1035, [char]262 -creplace [char]1059, 'U' -creplace \ - [char]1060, 'F' -creplace [char]1061, 'H' -creplace [char]1062, 'C' -creplace \ - [char]1063, [char]268 -creplace [char]1039, 'Dz' -creplace [char]1064, [char]352 -replace \ - 'scriptencoding utf-8', 'scriptencoding iso-8859-2' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, [System.Text.Encoding]::GetEncoding(28592)) + [System.Text.Encoding]::GetEncoding(65001)) \ + -creplace [char]1072, 'a' -creplace [char]1073, 'b' \ + -creplace [char]1074, 'v' -creplace [char]1075, 'g' \ + -creplace [char]1076, 'd' -creplace [char]1106, [char]273 \ + -creplace [char]1077, 'e' -creplace [char]1078, [char]382 \ + -creplace [char]1079, 'z' -creplace [char]1080, 'i' \ + -creplace [char]1112, 'j' -creplace [char]1082, 'k' \ + -creplace [char]1083, 'l' -creplace [char]1113, 'lj' \ + -creplace [char]1084, 'm' -creplace [char]1085, 'n' \ + -creplace [char]1114, 'nj' -creplace [char]1086, 'o' \ + -creplace [char]1087, 'p' -creplace [char]1088, 'r' \ + -creplace [char]1089, 's' -creplace [char]1090, 't' \ + -creplace [char]1115, [char]263 -creplace [char]1091, 'u' \ + -creplace [char]1092, 'f' -creplace [char]1093, 'h' \ + -creplace [char]1094, 'c' -creplace [char]1095, [char]269 \ + -creplace [char]1119, 'dz' -creplace [char]1096, [char]353 \ + -creplace [char]1040, 'A' -creplace [char]1041, 'B' \ + -creplace [char]1042, 'V' -creplace [char]1043, 'G' \ + -creplace [char]1044, 'D' -creplace [char]1026, 'Đ' \ + -creplace [char]1045, 'E' -creplace [char]1046, [char]381 \ + -creplace [char]1047, 'Z' -creplace [char]1048, 'I' \ + -creplace [char]1032, 'J' -creplace [char]1050, 'K' \ + -creplace [char]1051, 'L' -creplace [char]1033, 'Lj'\ + -creplace [char]1052, 'M' -creplace [char]1053, 'N' \ + -creplace [char]1034, 'Nj' -creplace [char]1054, 'O' \ + -creplace [char]1055, 'P' -creplace [char]1056, 'R' \ + -creplace [char]1057, 'S' -creplace [char]1058, 'T' \ + -creplace [char]1035, [char]262 -creplace [char]1059, 'U' \ + -creplace [char]1060, 'F' -creplace [char]1061, 'H' \ + -creplace [char]1062, 'C' -creplace [char]1063, [char]268 \ + -creplace [char]1039, 'Dz' -creplace [char]1064, [char]352 \ + -replace 'scriptencoding utf-8', 'scriptencoding iso-8859-2' \ + -replace \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ + [System.IO.File]::WriteAllText(\"$@\", $$out, \ + [System.Text.Encoding]::GetEncoding(28592)) -# Convert menu_sr_rs.utf-8.vim to create menu_sr_rs.iso_8859-5.vim. +# Convert menu_sr_rs.utf-8.vim to menu_sr_rs.iso_8859-5.vim. menu_sr_rs.iso_8859-5.vim : menu_sr_rs.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t ISO-8859-5 $? >$@ !ELSE @@ -398,13 +420,13 @@ menu_sr_rs.iso_8859-5.vim : menu_sr_rs.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28595)) -replace \ 'scriptencoding utf-8', 'scriptencoding iso-8859-5' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28595)) -# Convert menu_tr_tr.utf-8.vim to create menu_tr_tr.cp1254.vim. +# Convert menu_tr_tr.utf-8.vim to menu_tr_tr.cp1254.vim. menu_tr_tr.cp1254.vim : menu_tr_tr.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1254 $? >$@ !ELSE @@ -416,13 +438,13 @@ menu_tr_tr.cp1254.vim : menu_tr_tr.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1254)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp1254' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(1254)) -# Convert menu_tr_tr.utf-8.vim to create menu_tr_tr.iso_8859-9.vim. +# Convert menu_tr_tr.utf-8.vim to menu_tr_tr.iso_8859-9.vim. menu_tr_tr.iso_8859-9.vim : menu_tr_tr.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t ISO-8859-9 $? >$@ !ELSE @@ -434,13 +456,13 @@ menu_tr_tr.iso_8859-9.vim : menu_tr_tr.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(28599)) -replace \ 'scriptencoding utf-8', 'scriptencoding iso-8859-9' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(28599)) -# Convert menu_uk_ua.utf-8.vim to create menu_uk_ua.cp1251.vim. +# Convert menu_uk_ua.utf-8.vim to menu_uk_ua.cp1251.vim. menu_uk_ua.cp1251.vim : menu_uk_ua.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1251 $? >$@ !ELSE @@ -452,13 +474,13 @@ menu_uk_ua.cp1251.vim : menu_uk_ua.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1251)) -replace \ 'scriptencoding utf-8', 'scriptencoding cp1251' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(1251)) -# Convert menu_uk_ua.utf-8.vim to create menu_uk_ua.koi8-u.vim. +# Convert menu_uk_ua.utf-8.vim to menu_uk_ua.koi8-u.vim. menu_uk_ua.koi8-u.vim : menu_uk_ua.utf-8.vim - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t KOI8-U $? >$@ !ELSE @@ -470,11 +492,11 @@ menu_uk_ua.koi8-u.vim : menu_uk_ua.utf-8.vim $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(21866)) -replace \ 'scriptencoding utf-8', 'scriptencoding koi8-u' -replace \ - ' Original translations', ' Generated from $?, DO NOT EDIT'; \ + 'Original translations', 'Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(21866)) clean : - @for %%G in ($(CONVERTED)) do (if exist .\%%G ($(RM) %%G)) + @ for %%G in ($(CONVERTED)) do @(if exist .\%%G $(RM) %%G) -# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/GvimExt/Make_mvc.mak b/src/GvimExt/Make_mvc.mak index 132a584ba4..874b34c74e 100644 --- a/src/GvimExt/Make_mvc.mak +++ b/src/GvimExt/Make_mvc.mak @@ -5,45 +5,48 @@ # automatically from CPUNR # +# included common tools +!INCLUDE ..\auto\nmake\tools.mak + TARGETOS = WINNT -!ifndef APPVER +!IFNDEF APPVER APPVER = 6.01 -!endif +!ENDIF # Set the default $(WINVER) to make it work with Windows 7. -!ifndef WINVER +!IFNDEF WINVER WINVER = 0x0601 -!endif +!ENDIF -!if "$(DEBUG)" != "yes" +!IF "$(DEBUG)" != "yes" NODEBUG = 1 -!endif +!ENDIF -!ifndef CPU +!IFNDEF CPU CPU = i386 -! ifndef PLATFORM -! ifdef TARGET_CPU +! IFNDEF PLATFORM +! IFDEF TARGET_CPU PLATFORM = $(TARGET_CPU) -! elseif defined(VSCMD_ARG_TGT_ARCH) +! ELSEIF defined(VSCMD_ARG_TGT_ARCH) PLATFORM = $(VSCMD_ARG_TGT_ARCH) -! endif -! endif -! ifdef PLATFORM -! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") +! ENDIF +! ENDIF +! IFDEF PLATFORM +! IF ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") CPU = AMD64 -! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") +! ELSEIF ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") CPU = ARM64 -! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") -! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. -! endif -! endif -!endif +! ELSEIF ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") +! ERROR *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. +! ENDIF +! ENDIF +!ENDIF -!ifdef SDK_INCLUDE_DIR -! include $(SDK_INCLUDE_DIR)\Win32.mak -!elseif "$(USE_WIN32MAK)"=="yes" -! include -!else +!IFDEF SDK_INCLUDE_DIR +! INCLUDE $(SDK_INCLUDE_DIR)\Win32.mak +!ELSEIF "$(USE_WIN32MAK)"=="yes" +! INCLUDE +!ELSE cc = cl link = link rc = rc @@ -51,7 +54,7 @@ cflags = -nologo -c lflags = -incremental:no -nologo rcflags = /r olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib -!endif +!ENDIF # include CPUARG cflags = $(cflags) $(CPUARG) @@ -59,26 +62,27 @@ cflags = $(cflags) $(CPUARG) # set WINVER and _WIN32_WINNT cflags = $(cflags) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) -!if "$(CL)" == "/D_USING_V110_SDK71_" +!IF "$(CL)" == "/D_USING_V110_SDK71_" rcflags = $(rcflags) /D_USING_V110_SDK71_ -!endif +!ENDIF SUBSYSTEM = console -!if "$(SUBSYSTEM_VER)" != "" +!IF "$(SUBSYSTEM_VER)" != "" SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) -!endif +!ENDIF -!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64" +!IF "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64" OFFSET = 0x11C000000 -!else +!ELSE OFFSET = 0x1C000000 -!endif +!ENDIF all: gvimext.dll -gvimext.dll: gvimext.obj \ - gvimext.res - $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM) +gvimext.dll: gvimext.obj gvimext.res + $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) \ + -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib \ + -subsystem:$(SUBSYSTEM) gvimext.obj: gvimext.h @@ -86,11 +90,13 @@ gvimext.obj: gvimext.h $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp gvimext.res: gvimext.rc - $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc + $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc clean: - - if exist gvimext.dll del gvimext.dll - - if exist gvimext.lib del gvimext.lib - - if exist gvimext.exp del gvimext.exp - - if exist gvimext.obj del gvimext.obj - - if exist gvimext.res del gvimext.res + - if exist gvimext.dll $(RM) gvimext.dll + - if exist gvimext.lib $(RM) gvimext.lib + - if exist gvimext.exp $(RM) gvimext.exp + - if exist gvimext.obj $(RM) gvimext.obj + - if exist gvimext.res $(RM) gvimext.res + +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak index 383344d46d..ba0f512573 100644 --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -61,8 +61,8 @@ # MZSCHEME=[Path to MzScheme directory] # DYNAMIC_MZSCHEME=yes (to load the MzScheme DLLs dynamically) # MZSCHEME_VER=[MzScheme version] (default is 3m_a0solc (6.6)) -# Used for the DLL file name. E.g.: -# C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll +# Used for the DLL file name. E.g.: +# C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll # MZSCHEME_DEBUG=no # # Perl interface: @@ -87,7 +87,7 @@ # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) # RUBY_VER=[Ruby version, eg 19, 22] (default is 22) # RUBY_API_VER_LONG=[Ruby API version, eg 1.9.1, 2.2.0] -# (default is 2.2.0) +# (default is 2.2.0) # You must set RUBY_API_VER_LONG when change RUBY_VER. # Note: If you use Ruby 1.9.3, set as follows: # RUBY_VER=19 @@ -162,223 +162,216 @@ # you can set DEFINES on the command line, e.g., # nmake -f Make_mvc.mvc "DEFINES=-DEMACS_TAGS" -RM = del /f /q +# included common tools +!INCLUDE .\auto\nmake\tools.mak # Read MAJOR and MINOR from version.h. -!IF ![for /f "tokens=2,3" %I in (version.h) do \ - @if "%I"=="VIM_VERSION_MAJOR" ( \ - echo MAJOR=%J> .\major.tmp \ - ) else if "%I"=="VIM_VERSION_MINOR" ( \ - echo MINOR=%J> .\minor.tmp && exit \ - )] -!ENDIF - -!IF EXIST(.\major.tmp) -! INCLUDE .\major.tmp -! IF [$(RM) .\major.tmp] -! ENDIF -!ELSE -# Change this value for the new version -MAJOR = 9 -!ENDIF - -!IF EXIST(.\minor.tmp) -! INCLUDE .\minor.tmp -! IF [$(RM) .\minor.tmp] -! ENDIF -!ELSE -# Change this value for the new version -MINOR = 1 -!ENDIF - -# Read PATCHLEVEL from version.c. -!IF ![cmd.exe /V:ON /Q /C "set LINE=0&& set FIND=0&& \ - for /f "tokens=1,3 delims=, " %I in (version.c) do ( \ - set /A LINE+=1 > NUL && \ - if "%J"=="included_patches[^]" ( \ - set /A FIND=LINE+3 > NUL \ - ) else if "!LINE!"=="!FIND!" ( \ - echo PATCHLEVEL=%I> .\patchlvl.tmp && exit \ - ) \ - )"] -!ENDIF -!IF EXIST(.\patchlvl.tmp) -! INCLUDE .\patchlvl.tmp -! IF [$(RM) .\patchlvl.tmp] +!IFNDEF MAJOR +! IF ![for /F "tokens=3" %G in \ + ('findstr /RC:"VIM_VERSION_MAJOR[ ^]*[0-9^]" .\version.h') \ + do @(echo:MAJOR=%G> .\_major.tmp)] +! INCLUDE .\_major.tmp +! IF [$(RM) .\_major.tmp] +! ENDIF +! ELSE +MAJOR = 9 ! ENDIF !ENDIF -!IFDEF PATCHLEVEL -RCFLAGS = -DVIM_VERSION_PATCHLEVEL=$(PATCHLEVEL) +!IFNDEF MINOR +! IF ![for /F "tokens=3" %G in \ + ('findstr /RC:"VIM_VERSION_MINOR[ ^]*[0-9^]" .\version.h') \ + do @(echo:MINOR=%G> .\_minor.tmp)] +! INCLUDE .\_minor.tmp +! IF [$(RM) .\_minor.tmp] +! ENDIF +! ELSE +MINOR = 1 +! ENDIF !ENDIF -!message Vim version: $(MAJOR).$(MINOR).$(PATCHLEVEL) +# Read PATCHLEVEL from version.c +!IFNDEF PATCHLEVEL +! IF ![for /F %G in \ + ('findstr /NBLC:"static int included_patches" .\version.c \ + ^| (set /p "_t=" ^& set /a _t+=2 ^)') do \ + @$(CMD) $(CMDFLAGS) "for /F "skip=%G delims=, " %H in \ + (.\version.c) do (echo:PATCHLEVEL=%H> .\_patchlvl.tmp & exit /b)"] +! INCLUDE .\_patchlvl.tmp +! IF [$(RM) .\_patchlvl.tmp] +! ENDIF +! ELSE +PATCHLEVEL = 0 +! ENDIF +!ENDIF -!if "$(VIMDLL)" == "yes" +!MESSAGE Vim version: $(MAJOR).$(MINOR).$(PATCHLEVEL) + +!IF "$(VIMDLL)" == "yes" GUI = yes -!endif +!ENDIF -!ifndef DIRECTX +!IFNDEF DIRECTX DIRECTX = $(GUI) -!endif +!ENDIF # Select a code directory, depends on GUI, OLE, DEBUG, interfaces and etc. # If you change something else, do "make clean" first! -!if "$(VIMDLL)" == "yes" +!IF "$(VIMDLL)" == "yes" OBJDIR = .\ObjD -!elseif "$(GUI)" == "yes" +!ELSEIF "$(GUI)" == "yes" OBJDIR = .\ObjG -!else +!ELSE OBJDIR = .\ObjC -!endif -!if "$(DIRECTX)" == "yes" && "$(GUI)" == "yes" +!ENDIF +!IF "$(DIRECTX)" == "yes" && "$(GUI)" == "yes" OBJDIR = $(OBJDIR)X -!endif -!if "$(OLE)" == "yes" +!ENDIF +!IF "$(OLE)" == "yes" OBJDIR = $(OBJDIR)O -!endif -!ifdef LUA +!ENDIF +!IFDEF LUA OBJDIR = $(OBJDIR)U -!endif -!ifdef PERL +!ENDIF +!IFDEF PERL OBJDIR = $(OBJDIR)L -!endif -!ifdef PYTHON +!ENDIF +!IFDEF PYTHON OBJDIR = $(OBJDIR)Y -!endif -!ifdef PYTHON3 +!ENDIF +!IFDEF PYTHON3 OBJDIR = $(OBJDIR)H -!endif -!ifdef TCL +!ENDIF +!IFDEF TCL OBJDIR = $(OBJDIR)T -!endif -!ifdef RUBY +!ENDIF +!IFDEF RUBY OBJDIR = $(OBJDIR)R -!endif -!ifdef MZSCHEME +!ENDIF +!IFDEF MZSCHEME OBJDIR = $(OBJDIR)Z -!endif -!ifdef USE_MSVCRT +!ENDIF +!IFDEF USE_MSVCRT OBJDIR = $(OBJDIR)V -!endif -!if "$(DEBUG)" == "yes" +!ENDIF +!IF "$(DEBUG)" == "yes" OBJDIR = $(OBJDIR)d -!endif +!ENDIF -!ifdef CPU -! if "$(CPU)" == "I386" +!IFDEF CPU +! IF "$(CPU)" == "I386" CPU = i386 -! endif -!else # !CPU +! ENDIF +!ELSE # !CPU CPU = i386 -! ifndef PLATFORM -! ifdef TARGET_CPU +! IFNDEF PLATFORM +! IFDEF TARGET_CPU PLATFORM = $(TARGET_CPU) -! elseif defined(VSCMD_ARG_TGT_ARCH) +! ELSEIF defined(VSCMD_ARG_TGT_ARCH) PLATFORM = $(VSCMD_ARG_TGT_ARCH) -! endif -! endif -! ifdef PLATFORM -! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") +! ENDIF +! ENDIF +! IFDEF PLATFORM +! IF ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") CPU = AMD64 -! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") +! ELSEIF ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") CPU = ARM64 -! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") -! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. -! endif -! endif # !PLATFORM -!endif +! ELSEIF ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") +! ERROR *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. +! ENDIF +! ENDIF # !PLATFORM +!ENDIF OBJDIR = $(OBJDIR)$(CPU) # Build a retail version by default -!if "$(DEBUG)" != "yes" +!IF "$(DEBUG)" != "yes" NODEBUG = 1 -!else -! undef NODEBUG +!ELSE +! UNDEF NODEBUG MAKEFLAGS_GVIMEXT = DEBUG=yes -!endif +!ENDIF LINK = link # Check VC version. -!if [echo MSVCVER=_MSC_VER> msvcver.c && \ +!IF [echo MSVCVER=_MSC_VER> msvcver.c && \ echo MSVC_FULL=_MSC_FULL_VER>> msvcver.c && \ $(CC) /EP msvcver.c > msvcver.~ 2> nul] -! message *** ERROR -! message Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH. -! message This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed. -! error Make aborted. -!else -! include msvcver.~ -! if [del msvcver.c msvcver.~] -! endif -!endif +! MESSAGE *** ERROR +! MESSAGE Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH. +! MESSAGE This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed. +! ERROR Make aborted. +!ELSE +! INCLUDE msvcver.~ +! IF [$(RM) msvcver.c msvcver.~] +! ENDIF +!ENDIF -!if $(MSVCVER) < 1900 -! message *** ERROR -! message Unsupported MSVC version. -! message Please use Visual C++ 2015 or later. -! error Make aborted. -!endif +!IF $(MSVCVER) < 1900 +! MESSAGE *** ERROR +! MESSAGE Unsupported MSVC version. +! MESSAGE Please use Visual C++ 2015 or later. +! ERROR Make aborted. +!ENDIF MSVC_MAJOR = ($(MSVCVER) / 100 - 5) MSVCRT_VER = ($(MSVCVER) / 100 * 10 - 50) # Calculate MSVCRT_VER -!if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0 -! include msvcrtver.~ -! if [del msvcrtver.~] -! endif -!endif +!IF [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0 +! INCLUDE msvcrtver.~ +! IF [$(RM) msvcrtver.~] +! ENDIF +!ENDIF # Show the versions (for debugging). -#!message _MSC_VER=$(MSVCVER) -#!message _MSC_FULL_VER=$(MSVC_FULL) -#!message MSVCRT_VER=$(MSVCRT_VER) +#!MESSAGE _MSC_VER=$(MSVCVER) +#!MESSAGE _MSC_FULL_VER=$(MSVC_FULL) +#!MESSAGE MSVCRT_VER=$(MSVCRT_VER) # Base name of the msvcrXX.dll (vcruntimeXXX.dll) MSVCRT_NAME = vcruntime$(MSVCRT_VER) ### Set the default $(WINVER) to make it work with Windows 7 -!ifndef WINVER -! if "$(CPU)" == "ARM64" +!IFNDEF WINVER +! IF "$(CPU)" == "ARM64" WINVER = 0x0A00 -! else +! ELSE WINVER = 0x0601 -! endif -!endif +! ENDIF +!ENDIF # Use multiprocess build USE_MP = yes -!if "$(FEATURES)" == "" +!IF "$(FEATURES)" == "" FEATURES = HUGE -!endif +!ENDIF -!ifndef CTAGS +!IFNDEF CTAGS # this assumes ctags is Exuberant ctags CTAGS = ctags -I INIT+,INIT2+,INIT3+,INIT4+,INIT5+ --fields=+S -!endif +!ENDIF -!ifndef CSCOPE +!IFNDEF CSCOPE CSCOPE = yes -!endif +!ENDIF -!if "$(CSCOPE)" == "yes" +!IF "$(CSCOPE)" == "yes" # CSCOPE - Include support for Cscope -CSCOPE_DEFS = -DFEAT_CSCOPE -!endif +CSCOPE_DEFS = -DFEAT_CSCOPE +!ENDIF -!ifndef TERMINAL -! if "$(FEATURES)" == "HUGE" +!IFNDEF TERMINAL +! IF "$(FEATURES)" == "HUGE" TERMINAL = yes -! else +! ELSE TERMINAL = no -! endif -!endif +! ENDIF +!ENDIF -!if "$(TERMINAL)" == "yes" +!IF "$(TERMINAL)" == "yes" TERM_OBJ = \ $(OBJDIR)/terminal.obj \ $(OBJDIR)/libvterm/encoding.obj \ @@ -397,125 +390,125 @@ TERM_DEPS = \ libvterm/src/rect.h \ libvterm/src/utf8.h \ libvterm/src/vterm_internal.h -!endif +!ENDIF -!ifndef SOUND -! if "$(FEATURES)" == "HUGE" +!IFNDEF SOUND +! IF "$(FEATURES)" == "HUGE" SOUND = yes -! else +! ELSE SOUND = no -! endif -!endif +! ENDIF +!ENDIF -!ifndef SODIUM +!IFNDEF SODIUM SODIUM = no -!endif -!ifndef DYNAMIC_SODIUM +!ENDIF +!IFNDEF DYNAMIC_SODIUM DYNAMIC_SODIUM = yes -!endif +!ENDIF -!if "$(SODIUM)" != "no" -! if "$(CPU)" == "AMD64" -SOD_LIB = $(SODIUM)\x64\Release\v143\dynamic -! elseif "$(CPU)" == "i386" -SOD_LIB = $(SODIUM)\Win32\Release\v143\dynamic -! else +!IF "$(SODIUM)" != "no" +! IF "$(CPU)" == "AMD64" +SOD_LIB = $(SODIUM)\x64\Release\v143\dynamic +! ELSEIF "$(CPU)" == "i386" +SOD_LIB = $(SODIUM)\Win32\Release\v143\dynamic +! ELSE SODIUM = no -! endif -!endif +! ENDIF +!ENDIF -!if "$(SODIUM)" != "no" -SOD_INC = /I "$(SODIUM)\include" -! if "$(DYNAMIC_SODIUM)" == "yes" -SODIUM_DLL = libsodium.dll -SOD_DEFS = -DHAVE_SODIUM -DDYNAMIC_SODIUM -DDYNAMIC_SODIUM_DLL=\"$(SODIUM_DLL)\" -SOD_LIB = -! else -SOD_DEFS = -DHAVE_SODIUM -SOD_LIB = $(SOD_LIB)\libsodium.lib -! endif -!endif +!IF "$(SODIUM)" != "no" +SOD_INC = /I "$(SODIUM)\include" +! IF "$(DYNAMIC_SODIUM)" == "yes" +SODIUM_DLL = libsodium.dll +SOD_DEFS = -DHAVE_SODIUM -DDYNAMIC_SODIUM -DDYNAMIC_SODIUM_DLL=\"$(SODIUM_DLL)\" +SOD_LIB = +! ELSE +SOD_DEFS = -DHAVE_SODIUM +SOD_LIB = $(SOD_LIB)\libsodium.lib +! ENDIF +!ENDIF -!ifndef NETBEANS +!IFNDEF NETBEANS NETBEANS = $(GUI) -!endif +!ENDIF -!ifndef CHANNEL -! if "$(FEATURES)" == "HUGE" || "$(TERMINAL)" == "yes" +!IFNDEF CHANNEL +! IF "$(FEATURES)" == "HUGE" || "$(TERMINAL)" == "yes" CHANNEL = yes -! else +! ELSE CHANNEL = $(GUI) -! endif -!endif +! ENDIF +!ENDIF # GUI specific features. -!if "$(GUI)" == "yes" +!IF "$(GUI)" == "yes" # Only allow NETBEANS for a GUI build and CHANNEL. -! if "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes" +! IF "$(NETBEANS)" == "yes" && "$(CHANNEL)" == "yes" # NETBEANS - Include support for Netbeans integration -NETBEANS_PRO = proto/netbeans.pro -NETBEANS_OBJ = $(OBJDIR)/netbeans.obj -NETBEANS_DEFS = -DFEAT_NETBEANS_INTG +NETBEANS_PRO = proto/netbeans.pro +NETBEANS_OBJ = $(OBJDIR)/netbeans.obj +NETBEANS_DEFS = -DFEAT_NETBEANS_INTG -! if "$(NBDEBUG)" == "yes" -NBDEBUG_DEFS = -DNBDEBUG -NBDEBUG_INCL = nbdebug.h -NBDEBUG_SRC = nbdebug.c -! endif -! endif +! IF "$(NBDEBUG)" == "yes" +NBDEBUG_DEFS = -DNBDEBUG +NBDEBUG_INCL = nbdebug.h +NBDEBUG_SRC = nbdebug.c +! ENDIF +! ENDIF # DirectWrite (DirectX) -! if "$(DIRECTX)" == "yes" -DIRECTX_DEFS = -DFEAT_DIRECTX -DDYNAMIC_DIRECTX -! if "$(COLOR_EMOJI)" != "no" -DIRECTX_DEFS = $(DIRECTX_DEFS) -DFEAT_DIRECTX_COLOR_EMOJI -! endif -DIRECTX_INCL = gui_dwrite.h -DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj -! endif +! IF "$(DIRECTX)" == "yes" +DIRECTX_DEFS = -DFEAT_DIRECTX -DDYNAMIC_DIRECTX +! IF "$(COLOR_EMOJI)" != "no" +DIRECTX_DEFS = $(DIRECTX_DEFS) -DFEAT_DIRECTX_COLOR_EMOJI +! ENDIF +DIRECTX_INCL = gui_dwrite.h +DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj +! ENDIF # Only allow XPM for a GUI build. -! ifndef XPM -! ifndef USE_MSVCRT +! IFNDEF XPM +! IFNDEF USE_MSVCRT # Both XPM and USE_MSVCRT are not set, use the included xpm files, depending # on the architecture. -! if "$(CPU)" == "AMD64" +! IF "$(CPU)" == "AMD64" XPM = xpm\x64 -! elseif "$(CPU)" == "ARM64" +! ELSEIF "$(CPU)" == "ARM64" XPM = xpm\arm64 -! elseif "$(CPU)" == "i386" +! ELSEIF "$(CPU)" == "i386" XPM = xpm\x86 -! else +! ELSE XPM = no -! endif -! else # USE_MSVCRT +! ENDIF +! ELSE # USE_MSVCRT XPM = no -! endif # USE_MSVCRT -! endif # XPM -! if "$(XPM)" != "no" +! ENDIF # USE_MSVCRT +! ENDIF # XPM +! IF "$(XPM)" != "no" # XPM - Include support for XPM signs # See the xpm directory for more information. -XPM_OBJ = $(OBJDIR)/xpm_w32.obj -XPM_DEFS = -DFEAT_XPM_W32 -XPM_LIB = $(XPM)\lib-vc14\libXpm.lib -XPM_INC = -I $(XPM)\include -I $(XPM)\..\include -! endif -!endif # GUI +XPM_OBJ = $(OBJDIR)/xpm_w32.obj +XPM_DEFS = -DFEAT_XPM_W32 +XPM_LIB = $(XPM)\lib-vc14\libXpm.lib +XPM_INC = -I $(XPM)\include -I $(XPM)\..\include +! ENDIF +!ENDIF # GUI -!if "$(SOUND)" == "yes" -SOUND_PRO = proto/sound.pro -SOUND_OBJ = $(OBJDIR)/sound.obj -SOUND_DEFS = -DFEAT_SOUND -SOUND_LIB = winmm.lib -!endif +!IF "$(SOUND)" == "yes" +SOUND_PRO = proto/sound.pro +SOUND_OBJ = $(OBJDIR)/sound.obj +SOUND_DEFS = -DFEAT_SOUND +SOUND_LIB = winmm.lib +!ENDIF -!if "$(CHANNEL)" == "yes" -CHANNEL_PRO = proto/job.pro proto/channel.pro -CHANNEL_OBJ = $(OBJDIR)/job.obj $(OBJDIR)/channel.obj -CHANNEL_DEFS = -DFEAT_JOB_CHANNEL -DFEAT_IPV6 -DHAVE_INET_NTOP +!IF "$(CHANNEL)" == "yes" +CHANNEL_PRO = proto/job.pro proto/channel.pro +CHANNEL_OBJ = $(OBJDIR)/job.obj $(OBJDIR)/channel.obj +CHANNEL_DEFS = -DFEAT_JOB_CHANNEL -DFEAT_IPV6 -DHAVE_INET_NTOP -NETBEANS_LIB = Ws2_32.lib -!endif +NETBEANS_LIB = Ws2_32.lib +!ENDIF # need advapi32.lib for GetUserName() # need shell32.lib for ExtractIcon() @@ -523,11 +516,11 @@ NETBEANS_LIB = Ws2_32.lib # gdi32.lib and comdlg32.lib for printing support # ole32.lib and uuid.lib are needed for FEAT_SHORTCUT CON_LIB = oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib \ - comdlg32.lib ole32.lib netapi32.lib uuid.lib user32.lib \ - /machine:$(CPU) -!if "$(DELAYLOAD)" == "yes" + comdlg32.lib ole32.lib netapi32.lib uuid.lib user32.lib \ + /machine:$(CPU) +!IF "$(DELAYLOAD)" == "yes" CON_LIB = $(CON_LIB) /DELAYLOAD:comdlg32.dll /DELAYLOAD:ole32.dll DelayImp.lib -!endif +!ENDIF # If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal # default, use these lines. @@ -535,159 +528,158 @@ CON_LIB = $(CON_LIB) /DELAYLOAD:comdlg32.dll /DELAYLOAD:ole32.dll DelayImp.lib #VIMRUNTIMEDIR = somewhere CFLAGS = -c /W3 /GF /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DHAVE_STDINT_H \ - $(CSCOPE_DEFS) $(TERM_DEFS) $(SOUND_DEFS) $(NETBEANS_DEFS) \ - $(NBDEBUG_DEFS) $(XPM_DEFS) $(SOD_DEFS) $(SOD_INC) \ - $(CHANNEL_DEFS) $(DEFINES) $(CI_CFLAGS) \ - -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ - /source-charset:utf-8 + $(CSCOPE_DEFS) $(TERM_DEFS) $(SOUND_DEFS) $(NETBEANS_DEFS) \ + $(NBDEBUG_DEFS) $(XPM_DEFS) $(SOD_DEFS) $(SOD_INC) $(CHANNEL_DEFS) \ + $(DEFINES) $(CI_CFLAGS) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ + /source-charset:utf-8 + +RCFLAGS = -DVIM_VERSION_PATCHLEVEL=$(PATCHLEVEL) #>>>>> end of choices ########################################################################### -DEL_TREE = rmdir /s /q - INTDIR = $(OBJDIR) OUTDIR = $(OBJDIR) ### Validate CPUNR -!if "$(CPU)" == "i386" || "$(CPU)" == "AMD64" -! ifndef CPUNR +!IF "$(CPU)" == "i386" || "$(CPU)" == "AMD64" +! IFNDEF CPUNR # default to SSE2 CPUNR = sse2 -! elseif "$(CPU)" == "i386" \ +! ELSEIF "$(CPU)" == "i386" \ && ("$(CPUNR)" == "i386" || "$(CPUNR)" == "i486" || "$(CPUNR)" == "i586") # alias i386, i486 and i586 to i686 -! message *** WARNING CPUNR=$(CPUNR) is not a valid target architecture. -! message Windows 7 is the minimum target OS, with a minimum target -! message architecture of i686. -! message Retargeting to i686 +! MESSAGE *** WARNING CPUNR=$(CPUNR) is not a valid target architecture. +! MESSAGE Windows 7 is the minimum target OS, with a minimum target +! MESSAGE architecture of i686. +! MESSAGE Retargeting to i686 CPUNR = i686 -! elseif "$(CPUNR)" == "pentium4" +! ELSEIF "$(CPUNR)" == "pentium4" # alias pentium4 to sse2 -! message *** WARNING CPUNR=pentium4 is deprecated in favour of sse2. -! message Retargeting to sse2. +! MESSAGE *** WARNING CPUNR=pentium4 is deprecated in favour of sse2. +! MESSAGE Retargeting to sse2. CPUNR = sse2 -! elseif ("$(CPU)" != "i386" \ +! ELSEIF ("$(CPU)" != "i386" \ || ("$(CPUNR)" != "any" && "$(CPUNR)" != "i686" \ && "$(CPUNR)" != "sse" )) \ && "$(CPUNR)" != "sse2" && "$(CPUNR)" != "avx" \ && "$(CPUNR)" != "avx2" && "$(CPUNR)" != "avx512" -! error *** ERROR Unknown target architecture "$(CPUNR)". Make aborted. -! endif -!elseif "$(CPU)" == "ARM64" +! ERROR *** ERROR Unknown target architecture "$(CPUNR)". Make aborted. +! ENDIF +!ELSEIF "$(CPU)" == "ARM64" # TODO: Validate CPUNR depending on the VS version. CPUNR = armv8.0 -!endif +!ENDIF # Convert processor ID to MVC-compatible number -!if "$(CPU)" == "i386" || "$(CPU)" == "AMD64" +!IF "$(CPU)" == "i386" || "$(CPU)" == "AMD64" # IA32/SSE/SSE2 are only supported on x86 -! if "$(CPU)" == "i386" \ +! IF "$(CPU)" == "i386" \ && ("$(CPUNR)" == "i686" || "$(CPUNR)" == "any") CPUARG = /arch:IA32 -! elseif "$(CPU)" == "i386" && "$(CPUNR)" == "sse" +! ELSEIF "$(CPU)" == "i386" && "$(CPUNR)" == "sse" CPUARG = /arch:SSE -! elseif "$(CPU)" == "i386" && "$(CPUNR)" == "sse2" +! ELSEIF "$(CPU)" == "i386" && "$(CPUNR)" == "sse2" CPUARG = /arch:SSE2 -! elseif "$(CPUNR)" == "avx" +! ELSEIF "$(CPUNR)" == "avx" CPUARG = /arch:AVX -! elseif "$(CPUNR)" == "avx2" +! ELSEIF "$(CPUNR)" == "avx2" CPUARG = /arch:AVX2 -! elseif "$(CPUNR)" == "avx512" +! ELSEIF "$(CPUNR)" == "avx512" CPUARG = /arch:AVX512 -! endif -!elseif "$(CPU)" == "ARM64" && defined(CPUNR) +! ENDIF +!ELSEIF "$(CPU)" == "ARM64" && defined(CPUNR) CPUARG = /arch:$(CPUNR) -!endif +!ENDIF # Pass CPUARG to GvimExt, to avoid using version-dependent defaults MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) CPUARG="$(CPUARG)" -!if "$(VIMDLL)" == "yes" +!IF "$(VIMDLL)" == "yes" VIMDLLBASE = vim -! if "$(CPU)" == "i386" +! IF "$(CPU)" == "i386" VIMDLLBASE = $(VIMDLLBASE)32 -! else +! ELSE VIMDLLBASE = $(VIMDLLBASE)64 -! endif -! if "$(DEBUG)" == "yes" +! ENDIF +! IF "$(DEBUG)" == "yes" VIMDLLBASE = $(VIMDLLBASE)d -! endif -!endif +! ENDIF +!ENDIF LIBC = DEBUGINFO = /Zi # Use multiprocess build. -!if "$(USE_MP)" == "yes" +!IF "$(USE_MP)" == "yes" CFLAGS = $(CFLAGS) /MP -!endif +!ENDIF # Use static code analysis -!if "$(ANALYZE)" == "yes" +!IF "$(ANALYZE)" == "yes" CFLAGS = $(CFLAGS) /analyze -!endif +!ENDIF # Address Sanitizer (ASAN) generally available starting with VS2019 version # 16.9 -!if ("$(ASAN)" == "yes") && ($(MSVC_FULL) >= 192829913) +!IF ("$(ASAN)" == "yes") && ($(MSVC_FULL) >= 192829913) CFLAGS = $(CFLAGS) /fsanitize=address -!endif +!ENDIF -!ifdef NODEBUG +!IFDEF NODEBUG VIM = vim -! if "$(OPTIMIZE)" == "SPACE" +! IF "$(OPTIMIZE)" == "SPACE" OPTFLAG = /O1 -! elseif "$(OPTIMIZE)" == "SPEED" +! ELSEIF "$(OPTIMIZE)" == "SPEED" OPTFLAG = /O2 -! else # MAXSPEED +! ELSE # MAXSPEED OPTFLAG = /Ox -! endif +! ENDIF # Use link time code generation if not worried about size -! if "$(OPTIMIZE)" != "SPACE" +! IF "$(OPTIMIZE)" != "SPACE" OPTFLAG = $(OPTFLAG) /GL -! endif +! ENDIF CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG) RCFLAGS = $(RCFLAGS) -DNDEBUG -! ifdef USE_MSVCRT +! IFDEF USE_MSVCRT CFLAGS = $(CFLAGS) /MD LIBC = msvcrt.lib -! else +! ELSE CFLAGS = $(CFLAGS) /Zl /MT LIBC = libcmt.lib -! endif +! ENDIF -!else # DEBUG +!ELSE # DEBUG VIM = vimd -! if ("$(CPU)" == "i386") || ("$(CPU)" == "ix86") +! IF ("$(CPU)" == "i386") || ("$(CPU)" == "ix86") DEBUGINFO = /ZI -! endif +! ENDIF CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /Od RCFLAGS = $(RCFLAGS) -D_DEBUG -DDEBUG # The /fixed:no is needed for Quantify. LIBC = /fixed:no -! ifdef USE_MSVCRT +! IFDEF USE_MSVCRT CFLAGS = $(CFLAGS) /MDd LIBC = $(LIBC) msvcrtd.lib -! else +! ELSE CFLAGS = $(CFLAGS) /Zl /MTd LIBC = $(LIBC) libcmtd.lib -! endif +! ENDIF -!endif # DEBUG +!ENDIF # DEBUG # Visual Studio 2005 has 'deprecated' many of the standard CRT functions CFLAGS_DEPR = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE CFLAGS = $(CFLAGS) $(CFLAGS_DEPR) -!include Make_all.mak -!include testdir\Make_all.mak +!INCLUDE .\Make_all.mak +!INCLUDE .\testdir\Make_all.mak -INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h errors.h globals.h \ +INCL = vim.h alloc.h ascii.h ex_cmds.h feature.h errors.h globals.h \ keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \ spell.h structs.h termdefs.h beval.h $(NBDEBUG_INCL) @@ -812,58 +804,58 @@ OBJ = \ $(OUTDIR)\winclip.obj \ $(OUTDIR)\window.obj \ -!if "$(VIMDLL)" == "yes" +!IF "$(VIMDLL)" == "yes" OBJ = $(OBJ) $(OUTDIR)\os_w32dll.obj $(OUTDIR)\vimd.res EXEOBJC = $(OUTDIR)\os_w32exec.obj $(OUTDIR)\vimc.res EXEOBJG = $(OUTDIR)\os_w32exeg.obj $(OUTDIR)\vimg.res CFLAGS = $(CFLAGS) -DVIMDLL -! ifdef MZSCHEME +! IFDEF MZSCHEME EXECFLAGS = EXELIBC = $(LIBC) -! else +! ELSE EXECFLAGS = -DUSE_OWNSTARTUP /GS- EXELIBC = -! endif -!else +! ENDIF +!ELSE OBJ = $(OBJ) $(OUTDIR)\os_w32exe.obj $(OUTDIR)\vim.res -!endif +!ENDIF -!if "$(OLE)" == "yes" +!IF "$(OLE)" == "yes" CFLAGS = $(CFLAGS) -DFEAT_OLE RCFLAGS = $(RCFLAGS) -DFEAT_OLE OLE_OBJ = $(OUTDIR)\if_ole.obj OLE_IDL = if_ole.idl OLE_LIB = oleaut32.lib -!endif +!ENDIF -!ifndef IME +!IFNDEF IME IME = yes -!endif -!if "$(IME)" == "yes" +!ENDIF +!IF "$(IME)" == "yes" CFLAGS = $(CFLAGS) -DFEAT_MBYTE_IME -! ifndef DYNAMIC_IME +! IFNDEF DYNAMIC_IME DYNAMIC_IME = yes -! endif -! if "$(DYNAMIC_IME)" == "yes" +! ENDIF +! IF "$(DYNAMIC_IME)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_IME -! else +! ELSE IME_LIB = imm32.lib -! endif -!endif +! ENDIF +!ENDIF -!if "$(GUI)" == "yes" +!IF "$(GUI)" == "yes" SUBSYSTEM = windows CFLAGS = $(CFLAGS) -DFEAT_GUI_MSWIN RCFLAGS = $(RCFLAGS) -DFEAT_GUI_MSWIN -! if "$(VIMDLL)" == "yes" +! IF "$(VIMDLL)" == "yes" SUBSYSTEM_CON = console GVIM = g$(VIM) CUI_INCL = iscygpty.h CUI_OBJ = $(OUTDIR)\iscygpty.obj RCFLAGS = $(RCFLAGS) -DVIMDLL -! else +! ELSE VIM = g$(VIM) -! endif +! ENDIF GUI_INCL = \ gui.h GUI_OBJ = \ @@ -872,11 +864,11 @@ GUI_OBJ = \ $(OUTDIR)\gui_w32.obj GUI_LIB = \ version.lib $(IME_LIB) winspool.lib comctl32.lib -!else +!ELSE SUBSYSTEM = console CUI_INCL = iscygpty.h CUI_OBJ = $(OUTDIR)\iscygpty.obj -!endif +!ENDIF SUBSYSTEM_TOOLS = console XDIFF_OBJ = $(OBJDIR)/xdiffi.obj \ @@ -897,322 +889,322 @@ XDIFF_DEPS = \ xdiff/xutils.h -!if "$(SUBSYSTEM_VER)" != "" +!IF "$(SUBSYSTEM_VER)" != "" SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) SUBSYSTEM_TOOLS = $(SUBSYSTEM_TOOLS),$(SUBSYSTEM_VER) -! if "$(VIMDLL)" == "yes" +! IF "$(VIMDLL)" == "yes" SUBSYSTEM_CON = $(SUBSYSTEM_CON),$(SUBSYSTEM_VER) -! endif +! ENDIF # Pass SUBSYSTEM_VER to GvimExt and other tools MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) SUBSYSTEM_VER=$(SUBSYSTEM_VER) MAKEFLAGS_TOOLS = $(MAKEFLAGS_TOOLS) SUBSYSTEM_VER=$(SUBSYSTEM_VER) -!endif +!ENDIF -!if "$(GUI)" == "yes" && "$(DIRECTX)" == "yes" +!IF "$(GUI)" == "yes" && "$(DIRECTX)" == "yes" CFLAGS = $(CFLAGS) $(DIRECTX_DEFS) GUI_INCL = $(GUI_INCL) $(DIRECTX_INCL) GUI_OBJ = $(GUI_OBJ) $(DIRECTX_OBJ) -!endif +!ENDIF # iconv.dll library (dynamically loaded) -!ifndef ICONV +!IFNDEF ICONV ICONV = yes -!endif -!if "$(ICONV)" == "yes" +!ENDIF +!IF "$(ICONV)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_ICONV -!endif +!ENDIF # libintl.dll library -!ifndef GETTEXT +!IFNDEF GETTEXT GETTEXT = yes -!endif -!if "$(GETTEXT)" == "yes" +!ENDIF +!IF "$(GETTEXT)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_GETTEXT -!endif +!ENDIF # TCL interface -!ifdef TCL -! ifndef TCL_VER +!IFDEF TCL +! IFNDEF TCL_VER TCL_VER = 86 TCL_VER_LONG = 8.6 -! endif -! message Tcl requested (version $(TCL_VER)) - root dir is "$(TCL)" -! if "$(DYNAMIC_TCL)" == "yes" -! message Tcl DLL will be loaded dynamically -! ifndef TCL_DLL +! ENDIF +! MESSAGE Tcl requested (version $(TCL_VER)) - root dir is "$(TCL)" +! IF "$(DYNAMIC_TCL)" == "yes" +! MESSAGE Tcl DLL will be loaded dynamically +! IFNDEF TCL_DLL TCL_DLL = tcl$(TCL_VER).dll -! endif -CFLAGS = $(CFLAGS) -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"$(TCL_DLL)\" \ +! ENDIF +CFLAGS = $(CFLAGS) -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"$(TCL_DLL)\" \ -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\" -TCL_OBJ = $(OUTDIR)\if_tcl.obj -TCL_INC = /I "$(TCL)\Include" /I "$(TCL)" +TCL_OBJ = $(OUTDIR)\if_tcl.obj +TCL_INC = /I "$(TCL)\Include" /I "$(TCL)" TCL_LIB = "$(TCL)\lib\tclstub$(TCL_VER).lib" -! else -CFLAGS = $(CFLAGS) -DFEAT_TCL -TCL_OBJ = $(OUTDIR)\if_tcl.obj -TCL_INC = /I "$(TCL)\Include" /I "$(TCL)" +! ELSE +CFLAGS = $(CFLAGS) -DFEAT_TCL +TCL_OBJ = $(OUTDIR)\if_tcl.obj +TCL_INC = /I "$(TCL)\Include" /I "$(TCL)" TCL_LIB = "$(TCL)\lib\tcl$(TCL_VER)vc.lib" -! endif -!endif +! ENDIF +!ENDIF # Lua interface -!ifdef LUA -! ifndef LUA_VER +!IFDEF LUA +! IFNDEF LUA_VER LUA_VER = 53 -! endif -! message Lua requested (version $(LUA_VER)) - root dir is "$(LUA)" -! if "$(DYNAMIC_LUA)" == "yes" -! message Lua DLL will be loaded dynamically -! endif +! ENDIF +! MESSAGE Lua requested (version $(LUA_VER)) - root dir is "$(LUA)" +! IF "$(DYNAMIC_LUA)" == "yes" +! MESSAGE Lua DLL will be loaded dynamically +! ENDIF CFLAGS = $(CFLAGS) -DFEAT_LUA LUA_OBJ = $(OUTDIR)\if_lua.obj LUA_INC = /I "$(LUA)\include" /I "$(LUA)" -! if "$(DYNAMIC_LUA)" == "yes" +! IF "$(DYNAMIC_LUA)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_LUA \ -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" LUA_LIB = /nodefaultlib:lua$(LUA_VER).lib -! else +! ELSE LUA_LIB = "$(LUA)\lib\lua$(LUA_VER).lib" -! endif -!endif +! ENDIF +!ENDIF -!if defined(PYTHON) && defined(PYTHON3) +!IF defined(PYTHON) && defined(PYTHON3) DYNAMIC_PYTHON = yes DYNAMIC_PYTHON3 = yes -!endif +!ENDIF # PYTHON interface -!ifdef PYTHON -! ifndef PYTHON_VER +!IFDEF PYTHON +! IFNDEF PYTHON_VER PYTHON_VER = 27 -! endif -! message Python requested (version $(PYTHON_VER)) - root dir is "$(PYTHON)" -! if "$(DYNAMIC_PYTHON)" == "yes" -! message Python DLL will be loaded dynamically -! endif +! ENDIF +! MESSAGE Python requested (version $(PYTHON_VER)) - root dir is "$(PYTHON)" +! IF "$(DYNAMIC_PYTHON)" == "yes" +! MESSAGE Python DLL will be loaded dynamically +! ENDIF CFLAGS = $(CFLAGS) -DFEAT_PYTHON PYTHON_OBJ = $(OUTDIR)\if_python.obj PYTHON_INC = /I "$(PYTHON)\Include" /I "$(PYTHON)\PC" -! if "$(DYNAMIC_PYTHON)" == "yes" +! IF "$(DYNAMIC_PYTHON)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_PYTHON \ -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" PYTHON_LIB = /nodefaultlib:python$(PYTHON_VER).lib -! else +! ELSE PYTHON_LIB = "$(PYTHON)\libs\python$(PYTHON_VER).lib" -! endif -!endif +! ENDIF +!ENDIF # PYTHON3 interface -!ifdef PYTHON3 -! ifndef DYNAMIC_PYTHON3_STABLE_ABI -! if "$(DYNAMIC_PYTHON3)" == "yes" +!IFDEF PYTHON3 +! IFNDEF DYNAMIC_PYTHON3_STABLE_ABI +! IF "$(DYNAMIC_PYTHON3)" == "yes" DYNAMIC_PYTHON3_STABLE_ABI = yes -! endif -! endif -! ifndef PYTHON3_VER +! ENDIF +! ENDIF +! IFNDEF PYTHON3_VER PYTHON3_VER = 38 -! endif -! if "$(DYNAMIC_PYTHON3_STABLE_ABI)" == "yes" +! ENDIF +! IF "$(DYNAMIC_PYTHON3_STABLE_ABI)" == "yes" PYTHON3_NAME = python3 -! else +! ELSE PYTHON3_NAME = python$(PYTHON3_VER) -! endif -! ifndef DYNAMIC_PYTHON3_DLL +! ENDIF +! IFNDEF DYNAMIC_PYTHON3_DLL DYNAMIC_PYTHON3_DLL = $(PYTHON3_NAME).dll -! endif -! message Python3 requested (version $(PYTHON3_VER)) - root dir is "$(PYTHON3)" -! if "$(DYNAMIC_PYTHON3)" == "yes" -! message Python3 DLL will be loaded dynamically -! endif +! ENDIF +! MESSAGE Python3 requested (version $(PYTHON3_VER)) - root dir is "$(PYTHON3)" +! IF "$(DYNAMIC_PYTHON3)" == "yes" +! MESSAGE Python3 DLL will be loaded dynamically +! ENDIF CFLAGS = $(CFLAGS) -DFEAT_PYTHON3 PYTHON3_OBJ = $(OUTDIR)\if_python3.obj PYTHON3_INC = /I "$(PYTHON3)\Include" /I "$(PYTHON3)\PC" -! if "$(DYNAMIC_PYTHON3)" == "yes" +! IF "$(DYNAMIC_PYTHON3)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_PYTHON3 \ -DDYNAMIC_PYTHON3_DLL=\"$(DYNAMIC_PYTHON3_DLL)\" -! if "$(DYNAMIC_PYTHON3_STABLE_ABI)" == "yes" +! IF "$(DYNAMIC_PYTHON3_STABLE_ABI)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_PYTHON3_STABLE_ABI PYTHON3_INC = $(PYTHON3_INC) -DPy_LIMITED_API=0x3080000 -! endif +! ENDIF PYTHON3_LIB = /nodefaultlib:$(PYTHON3_NAME).lib -! else +! ELSE CFLAGS = $(CFLAGS) -DPYTHON3_DLL=\"$(DYNAMIC_PYTHON3_DLL)\" PYTHON3_LIB = "$(PYTHON3)\libs\$(PYTHON3_NAME).lib" -! endif -!endif +! ENDIF +!ENDIF # MzScheme interface -!ifdef MZSCHEME -! message MzScheme requested - root dir is "$(MZSCHEME)" -! ifndef MZSCHEME_VER +!IFDEF MZSCHEME +! MESSAGE MzScheme requested - root dir is "$(MZSCHEME)" +! IFNDEF MZSCHEME_VER MZSCHEME_VER = 3m_a0solc -! endif -! ifndef MZSCHEME_COLLECTS +! ENDIF +! IFNDEF MZSCHEME_COLLECTS MZSCHEME_COLLECTS = $(MZSCHEME)\collects -! endif +! ENDIF CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I "$(MZSCHEME)\include" -! if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") +! IF EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") MZSCHEME_MAIN_LIB = mzsch -! else +! ELSE MZSCHEME_MAIN_LIB = racket -! endif -! if (EXIST("$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll") \ - && !EXIST("$(MZSCHEME)\lib\libmzgc$(MZSCHEME_VER).dll")) \ - || (EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \ - && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")) -! message Building with Precise GC +! ENDIF +! IF (EXIST("$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll") \ + && !EXIST("$(MZSCHEME)\lib\libmzgc$(MZSCHEME_VER).dll")) \ + || (EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \ + && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")) +! MESSAGE Building with Precise GC MZSCHEME_PRECISE_GC = yes CFLAGS = $(CFLAGS) -DMZ_PRECISE_GC -! endif -! if "$(DYNAMIC_MZSCHEME)" == "yes" -! message MzScheme DLLs will be loaded dynamically +! ENDIF +! IF "$(DYNAMIC_MZSCHEME)" == "yes" +! MESSAGE MzScheme DLLs will be loaded dynamically CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME -! if "$(MZSCHEME_PRECISE_GC)" == "yes" +! IF "$(MZSCHEME_PRECISE_GC)" == "yes" # Precise GC does not use separate dll CFLAGS = $(CFLAGS) \ - -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \ - -DDYNAMIC_MZGC_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -! else + -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \ + -DDYNAMIC_MZGC_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" +! ELSE CFLAGS = $(CFLAGS) \ - -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \ - -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" -! endif -! else -! if "$(MZSCHEME_DEBUG)" == "yes" + -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \ + -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" +! ENDIF +! ELSE +! IF "$(MZSCHEME_DEBUG)" == "yes" CFLAGS = $(CFLAGS) -DMZSCHEME_FORCE_GC -! endif -! if "$(MZSCHEME_PRECISE_GC)" == "yes" +! ENDIF +! IF "$(MZSCHEME_PRECISE_GC)" == "yes" # Precise GC does not use separate dll -! if EXIST("$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).def") +! IF EXIST("$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).def") # create .lib from .def MZSCHEME_LIB = lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib MZSCHEME_EXTRA_DEP = lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib -! else +! ELSE MZSCHEME_LIB = "$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib" -! endif -! else +! ENDIF +! ELSE MZSCHEME_LIB = "$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib" \ - "$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib" -! endif -! endif + "$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib" +! ENDIF +! ENDIF MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj # increase stack size MZSCHEME_LIB = $(MZSCHEME_LIB) /STACK:8388608 MZSCHEME_INCL = if_mzsch.h -!endif +!ENDIF # Perl interface -!ifdef PERL -! ifndef PERL_VER +!IFDEF PERL +! IFNDEF PERL_VER PERL_VER = 524 -! endif -! message Perl requested (version $(PERL_VER)) - root dir is "$(PERL)" -! if "$(DYNAMIC_PERL)" == "yes" -! message Perl DLL will be loaded dynamically -! endif +! ENDIF +! MESSAGE Perl requested (version $(PERL_VER)) - root dir is "$(PERL)" +! IF "$(DYNAMIC_PERL)" == "yes" +! MESSAGE Perl DLL will be loaded dynamically +! ENDIF # Is Perl installed in architecture-specific directories? -! if exist($(PERL)\Bin\MSWin32-x86) +! IF exist($(PERL)\Bin\MSWin32-x86) PERL_ARCH = \MSWin32-x86 -! endif +! ENDIF PERL_INCDIR = $(PERL)\Lib$(PERL_ARCH)\Core # Version-dependent stuff PERL_DLL = perl$(PERL_VER).dll -! if exist($(PERL_INCDIR)\perl$(PERL_VER).lib) +! IF exist($(PERL_INCDIR)\perl$(PERL_VER).lib) PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib -! else +! ELSE # For ActivePerl 5.18 and later PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a -! endif +! ENDIF CFLAGS = $(CFLAGS) -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS # Do we want to load Perl dynamically? -! if "$(DYNAMIC_PERL)" == "yes" +! IF "$(DYNAMIC_PERL)" == "yes" CFLAGS = $(CFLAGS) -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"$(PERL_DLL)\" -! undef PERL_LIB -! endif +! UNDEF PERL_LIB +! ENDIF PERL_EXE = $(PERL)\Bin$(PERL_ARCH)\perl PERL_INC = /I $(PERL_INCDIR) PERL_OBJ = $(OUTDIR)\if_perl.obj $(OUTDIR)\if_perlsfio.obj XSUBPP = $(PERL)\lib\ExtUtils\xsubpp -! if exist($(XSUBPP)) +! IF exist($(XSUBPP)) XSUBPP = $(PERL_EXE) $(XSUBPP) -! else +! ELSE XSUBPP = xsubpp -! endif +! ENDIF XSUBPP_TYPEMAP = $(PERL)\lib\ExtUtils\typemap -!endif +!ENDIF # # Support Ruby interface # -!ifdef RUBY +!IFDEF RUBY # Set default value -! ifndef RUBY_VER +! IFNDEF RUBY_VER RUBY_VER = 22 -! endif -! ifndef RUBY_VER_LONG +! ENDIF +! IFNDEF RUBY_VER_LONG RUBY_VER_LONG = 2.2.0 -! endif -! ifndef RUBY_API_VER_LONG +! ENDIF +! IFNDEF RUBY_API_VER_LONG RUBY_API_VER_LONG = $(RUBY_VER_LONG) -! endif -! ifndef RUBY_API_VER +! ENDIF +! IFNDEF RUBY_API_VER RUBY_API_VER = $(RUBY_API_VER_LONG:.=) -! endif +! ENDIF -! ifndef RUBY_PLATFORM -! if "$(CPU)" == "i386" +! IFNDEF RUBY_PLATFORM +! IF "$(CPU)" == "i386" RUBY_PLATFORM = i386-mswin32 -! else # CPU +! ELSE # CPU RUBY_PLATFORM = x64-mswin64 -! endif # CPU +! ENDIF # CPU RUBY_PLATFORM = $(RUBY_PLATFORM)_$(MSVCRT_VER) -! endif # RUBY_PLATFORM +! ENDIF # RUBY_PLATFORM -! ifndef RUBY_INSTALL_NAME -! ifndef RUBY_MSVCRT_NAME +! IFNDEF RUBY_INSTALL_NAME +! IFNDEF RUBY_MSVCRT_NAME # Base name of msvcrXX.dll which is used by ruby's dll. RUBY_MSVCRT_NAME = $(MSVCRT_NAME) -! endif # RUBY_MSVCRT_NAME -! if "$(CPU)" == "i386" +! ENDIF # RUBY_MSVCRT_NAME +! IF "$(CPU)" == "i386" RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) -! else # CPU -! if EXIST($(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/x64-mingw-ucrt) +! ELSE # CPU +! IF EXIST($(RUBY)/lib/ruby/$(RUBY_API_VER_LONG)/x64-mingw-ucrt) RUBY_INSTALL_NAME = x64-ucrt-ruby$(RUBY_API_VER) -! else +! ELSE RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) -! endif -! endif # CPU -! endif # RUBY_INSTALL_NAME +! ENDIF +! ENDIF # CPU +! ENDIF # RUBY_INSTALL_NAME -! message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)" +! MESSAGE Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)" CFLAGS = $(CFLAGS) -DFEAT_RUBY RUBY_OBJ = $(OUTDIR)\if_ruby.obj RUBY_INC = /I "$(RUBY)\include\ruby-$(RUBY_API_VER_LONG)" \ - /I "$(RUBY)\include\ruby-$(RUBY_API_VER_LONG)\$(RUBY_PLATFORM)" + /I "$(RUBY)\include\ruby-$(RUBY_API_VER_LONG)\$(RUBY_PLATFORM)" RUBY_LIB = "$(RUBY)\lib\$(RUBY_INSTALL_NAME).lib" # Do we want to load Ruby dynamically? -! if "$(DYNAMIC_RUBY)" == "yes" -! message Ruby DLL will be loaded dynamically +! IF "$(DYNAMIC_RUBY)" == "yes" +! MESSAGE Ruby DLL will be loaded dynamically CFLAGS = $(CFLAGS) -DDYNAMIC_RUBY \ - -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" -! undef RUBY_LIB -! endif + -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" +! UNDEF RUBY_LIB +! ENDIF CFLAGS = $(CFLAGS) -DRUBY_VERSION=$(RUBY_VER) -!endif # RUBY +!ENDIF # RUBY # # Support PostScript printing # -!if "$(POSTSCRIPT)" == "yes" +!IF "$(POSTSCRIPT)" == "yes" CFLAGS = $(CFLAGS) -DMSWINPS -!endif # POSTSCRIPT +!ENDIF # POSTSCRIPT # # FEATURES: TINY, NORMAL, or HUGE @@ -1222,9 +1214,9 @@ CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES) # # MODIFIED_BY - Name of who modified a release version # -!if "$(MODIFIED_BY)" != "" +!IF "$(MODIFIED_BY)" != "" CFLAGS = $(CFLAGS) -DMODIFIED_BY=\"$(MODIFIED_BY)\" -!endif +!ENDIF # # Always generate the .pdb file, so that we get debug symbols that can be used @@ -1233,16 +1225,16 @@ CFLAGS = $(CFLAGS) -DMODIFIED_BY=\"$(MODIFIED_BY)\" # debug more conveniently (able to look at variables which are in registers) # CFLAGS = $(CFLAGS) /Fd$(OUTDIR)/ $(DEBUGINFO) -!if "$(VIMDLL)" == "yes" +!IF "$(VIMDLL)" == "yes" LINK_PDB = /PDB:$(VIMDLLBASE).pdb -debug -!else +!ELSE LINK_PDB = /PDB:$(VIM).pdb -debug -!endif +!ENDIF # # End extra feature include # -!message +!MESSAGE # CFLAGS with /Fo$(OUTDIR)/ CFLAGS_OUTDIR = $(CFLAGS) /Fo$(OUTDIR)/ @@ -1251,56 +1243,56 @@ PATHDEF_SRC = $(OUTDIR)\pathdef.c LINKARGS1 = /nologo LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(LIBC) $(OLE_LIB) \ - $(LUA_LIB) $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) \ - $(PYTHON3_LIB) $(RUBY_LIB) $(TCL_LIB) $(SOUND_LIB) \ - $(NETBEANS_LIB) $(XPM_LIB) $(SOD_LIB) $(LINK_PDB) + $(LUA_LIB) $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) \ + $(PYTHON3_LIB) $(RUBY_LIB) $(TCL_LIB) $(SOUND_LIB) \ + $(NETBEANS_LIB) $(XPM_LIB) $(SOD_LIB) $(LINK_PDB) -!ifdef NODEBUG +!IFDEF NODEBUG # Add /opt:ref to remove unreferenced functions and data even when /DEBUG is # added. LINKARGS1 = $(LINKARGS1) /opt:ref -!else +!ELSE LINKARGS1 = $(LINKARGS1) /opt:noref /opt:noicf -!endif +!ENDIF -!if "$(MAP)" == "yes" +!IF "$(MAP)" == "yes" # "/map" is for debugging LINKARGS1 = $(LINKARGS1) /map -!elseif "$(MAP)" == "lines" +!ELSEIF "$(MAP)" == "lines" # "/mapinfo:lines" is for debugging, only works for VC6 and later LINKARGS1 = $(LINKARGS1) /map /mapinfo:lines -!endif +!ENDIF # Enable link time code generation if needed. -!ifdef NODEBUG -! if "$(OPTIMIZE)" != "SPACE" -! if "$(CI)" == "true" || "$(CI)" == "True" +!IFDEF NODEBUG +! IF "$(OPTIMIZE)" != "SPACE" +! IF "$(CI)" == "true" || "$(CI)" == "True" # Enable link time code generation, but do not show the progress. LINKARGS1 = $(LINKARGS1) /LTCG -! else +! ELSE # Report link time code generation progress. LINKARGS1 = $(LINKARGS1) /LTCG:STATUS -! endif -! endif -!endif +! ENDIF +! ENDIF +!ENDIF -!if "$(CPU)" == "AMD64" && "$(GUI)" == "yes" +!IF "$(CPU)" == "AMD64" && "$(GUI)" == "yes" # This option is required for VC2012 or later so that 64-bit gvim can # accept D&D from 32-bit applications. NOTE: This disables 64-bit ASLR, # therefore the security level becomes as same as VC2010. LINKARGS1 = $(LINKARGS1) /HIGHENTROPYVA:NO -!endif +!ENDIF -!if "$(VIMDLL)" == "yes" +!IF "$(VIMDLL)" == "yes" MAIN_TARGET = $(GVIM).exe $(VIM).exe $(VIMDLLBASE).dll -!else +!ELSE MAIN_TARGET = $(VIM).exe -!endif +!ENDIF # Target to run individual tests. VIMTESTTARGET = $(VIM).exe -all: $(MAIN_TARGET) \ +all: $(MAIN_TARGET) \ vimrun.exe \ install.exe \ uninstall.exe \ @@ -1311,7 +1303,7 @@ all: $(MAIN_TARGET) \ # To get around the command line limit: Make use of nmake's response files to # capture the arguments for $(LINK) in a file using the @<=^^>) $(PATHDEF_SRC): Make_mvc.mak - @echo creating $(PATHDEF_SRC) - @echo /* pathdef.c */ > $(PATHDEF_SRC) - @echo #include "vim.h" >> $(PATHDEF_SRC) - @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC) - @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC) - @echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC) - @echo char_u *all_lflags = (char_u *)"$(LINK:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; >> $(PATHDEF_SRC) - @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC) - @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC) + @ echo creating $(PATHDEF_SRC) + @ echo /* pathdef.c */ > $(PATHDEF_SRC) + @ echo #include "vim.h" >> $(PATHDEF_SRC) + @ echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; \ + >> $(PATHDEF_SRC) + @ echo char_u *default_vimruntime_dir = \ + (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC) + @ echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; \ + >> $(PATHDEF_SRC) + @ echo char_u *all_lflags = \ + (char_u *)"$(LINK:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; \ + >> $(PATHDEF_SRC) + @ echo char_u *compiled_user = (char_u *)"$(USERNAME)"; \ + >> $(PATHDEF_SRC) + @ echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; \ + >> $(PATHDEF_SRC) # End Custom Build proto.h: \ @@ -2056,4 +2062,4 @@ proto.h: \ .c.i: $(CC) $(CFLAGS) /P /C $< -# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0: +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/auto/nmake/tools.mak b/src/auto/nmake/tools.mak new file mode 100644 index 0000000000..cfeb09ab39 --- /dev/null +++ b/src/auto/nmake/tools.mak @@ -0,0 +1,46 @@ +# +# Makefile for setting up common tools used in Make_mvc.mak +# +# 2023-11-28, Restorer, +# + +CP = copy /Y +LS = dir +MKD = mkdir +MV = move /Y +DELTREE = rmdir /Q /S +RD = rmdir /Q /S +RM = del /F /Q +MKHLNK = mklink /H +MKDLNK = mklink /D +MKJLNK = mklink /J +MKSLNK = mklink + +PS = PowerShell.exe +PSFLAGS = -NoLogo -NoProfile -Command + +!IF [$(PS) $(PSFLAGS) "exit $$psversiontable.psversion.major"] == 2 +!ERROR The PowerShell program version 3.0 or higher is required for work. +!ENDIF + +!IF ![echo $(COMSPEC) | 1> nul find "cmd.exe"] +CMD = $(COMSPEC) +!ELSE +CMD = $(SYSTEMROOT)\System32\cmd.exe +!ENDIF +CMDFLAGS = /Q /C +CMDFLAGSEX = /V:ON /E:ON $(CMDFLAGS) + +# 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 %1 +!ELSE +TOUCH = if exist %1 (copy /b %1+,, %1) else (break> %1) +#TOUCH = $(PS) $(PSFLAGS) if (Test-Path $$input -PathType Leaf) \ +# {(Get-ChildItem $$input).LastWriteTime = Get-Date} else \ +# {New-Item $$input -Type file} +!ENDIF + +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/po/Make_mvc.mak b/src/po/Make_mvc.mak index 84620878e8..026e37433f 100644 --- a/src/po/Make_mvc.mak +++ b/src/po/Make_mvc.mak @@ -2,21 +2,19 @@ # (based on make_ming.mak) # # Mike Williams, -# 06.01.24, Restorer, +# 2024-01-06, Restorer, # # Please read README_mvc.txt before using this file. # -!IF [powershell.exe -nologo -noprofile "exit $$psversiontable.psversion.major"] == 2 -!ERROR The program "PowerShell" version 3.0 or higher is required to work -!ENDIF +# included common tools +!INCLUDE ..\auto\nmake\tools.mak !IFNDEF LANGUAGE -! IF ![powershell.exe -NoLogo -NoProfile -Command \ - Set-Content -Path .\_lng.tmp \ +! IF ![$(PS) $(PSFLAGS) Set-Content -Path .\_lng.tmp \ -Value "LANGUAGE=$$((Get-UICulture).TwoLetterISOLanguageName)"] -! INCLUDE _lng.tmp -! IF [del /q .\_lng.tmp] +! INCLUDE .\_lng.tmp +! IF [$(RM) .\_lng.tmp] ! ENDIF ! MESSAGE ! MESSAGE The %LANGUAGE% environment variable is not set. @@ -29,13 +27,12 @@ !ENDIF # Get LANGUAGES, MOFILES, MOCONVERTED and others. -!INCLUDE Make_all.mak +!INCLUDE .\Make_all.mak !IFNDEF VIMRUNTIME VIMRUNTIME = ..\..\runtime !ENDIF -PACKAGE = vim # Correct the following line for the where executable file vim is # installed. Please do not put the path in quotes. !IFNDEF VIMPROG @@ -48,11 +45,12 @@ VIMPROG = ..\vim.exe GETTEXT_PATH = D:\Programs\GetText\bin !ENDIF +INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES +PACKAGE = vim + # Starting from version 0.22, msgfmt forcibly converts text to UTF-8 regardless # of the value of the "charset" field. -!IF [%comspec% /v:on /e:on /c "for /F "tokens=4 delims= " %G in \ - ('"$(GETTEXT_PATH)\msgfmt.exe" --version^|findstr /rc:[0-9^]\.[0-9^][0-9^]')\ - do @(set "v=%G" && if !v:~2^,2! GEQ 22 exit /b 1)"] +!IF ![$(GETTEXT_PATH)\msgfmt.exe --help | 1> nul find "--no-convert"] MSGFMT = "$(GETTEXT_PATH)\msgfmt.exe" -v --no-convert !ELSE MSGFMT = "$(GETTEXT_PATH)\msgfmt.exe" -v @@ -70,27 +68,7 @@ ICONV = iconv.exe ICONV = "$(GETTEXT_PATH)\iconv.exe" !ENDIF -# 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_TARGET = touch.exe $@ -!ELSE -TOUCH_TARGET = @if exist $@ ( copy /b $@+,, ) else ( type nul >$@ ) -!ENDIF - -MV = move /y -CP = copy /y -RM = del /q -MKD = mkdir -LS = dir -PS = PowerShell.exe - -LSFLAGS = /b /on /l /s -PSFLAGS = -NoLogo -NoProfile -Command - -INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES +LSFLAGS = /B /ON /L /S !IF ![$(PS) $(PSFLAGS) Set-Content -Path .\_year.tmp \ -Value Year=$$((Get-Date).Year)] @@ -109,26 +87,26 @@ originals : $(MOFILES) converted: $(MOCONVERTED) .po.ck: - "$(VIMPROG)" -u NONE --noplugins -e -s -X --cmd "set enc=utf-8" \ - -S check.vim -c "if error == 0 | q | else | num 2 | cq | endif" $< - $(TOUCH_TARGET) + "$(VIMPROG)" -u NONE --noplugins -e -s --cmd "set enc=utf-8" \ + -S check.vim \ + -c "if error == 0 | q | else | num 2 | cq | endif" $< + @ <> nl.po ) - # Norwegian/Bokmal: "nb" is an alias for "no". nb.po: no.po $(CP) no.po nb.po # Convert ja.po to create ja.sjis.po. ja.sjis.po: ja.po - @$(MAKE) -nologo -f Make_mvc.mak sjiscorr - -$(RM) $@ + @ $(MAKE) -nologo -f Make_mvc.mak sjiscorr + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP932 $? | .\sjiscorr.exe > $@ !ELSE @@ -136,8 +114,8 @@ ja.sjis.po: ja.po [System.IO.File]::ReadAllText(\"$?\", \ [System.Text.Encoding]::GetEncoding(65001)), \ [System.Text.Encoding]::GetEncoding(932)) - type $@ | .\sjiscorr.exe > tmp.$@ - @$(MV) tmp.$@ $@ + type $@ | .\sjiscorr.exe > $@.tmp + @ $(MV) $@.tmp $@ !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(932)) \ @@ -150,7 +128,7 @@ sjiscorr: sjiscorr.c # Convert ja.po to create ja.euc-jp.po. ja.euc-jp.po: ja.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t EUC-JP $? > $@ !ELSE @@ -161,11 +139,7 @@ ja.euc-jp.po: ja.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(20932)) -replace \ - 'charset=utf-8', 'charset=EUC-JP'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(20932)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(20932)) -replace \ + 'charset=utf-8', 'charset=EUC-JP' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -173,7 +147,7 @@ ja.euc-jp.po: ja.po # Convert cs.po to create cs.cp1250.po. cs.cp1250.po: cs.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f ISO-8859-2 -t CP1250 $? > $@ !ELSE @@ -184,11 +158,7 @@ cs.cp1250.po: cs.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1250)) -replace \ - 'charset=iso-8859-2', 'charset=CP1250'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(1250)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(1250)) -replace \ + 'charset=iso-8859-2', 'charset=CP1250' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -196,7 +166,7 @@ cs.cp1250.po: cs.po # Convert pl.po to create pl.cp1250.po. pl.cp1250.po: pl.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f ISO-8859-2 -t CP1250 $? > $@ !ELSE @@ -207,11 +177,7 @@ pl.cp1250.po: pl.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1250)) -replace \ - 'charset=iso-8859-2', 'charset=CP1250'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(1250)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(1250)) -replace \ + 'charset=iso-8859-2', 'charset=CP1250' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -219,7 +185,7 @@ pl.cp1250.po: pl.po # Convert pl.po to create pl.UTF-8.po. pl.UTF-8.po: pl.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f ISO-8859-2 -t UTF-8 $? > $@ !ELSE @@ -228,16 +194,14 @@ pl.UTF-8.po: pl.po [System.Text.Encoding]::GetEncoding(28592))) !ENDIF $(PS) $(PSFLAGS) (Get-Content -Raw -Encoding UTF8 $@ \ - ^| % {$$_-replace 'charset=iso-8859-2', 'charset=UTF-8'}) \ - ^| 1>nul New-Item -Force -Path . -ItemType file -Name $@ - $(PS) $(PSFLAGS) (Get-Content -Raw -Encoding UTF8 $@ \ - ^| % {$$_-replace '# Original translations', \ + ^| % {$$_-replace 'charset=iso-8859-2', 'charset=UTF-8' \ + -replace '# Original translations', \ '# Generated from $?, DO NOT EDIT'}) \ - ^| 1>nul New-Item -Force -Path . -ItemType file -Name $@ + ^| 1>nul New-Item -Path . -Name $@ -ItemType file -Force # Convert sk.po to create sk.cp1250.po. sk.cp1250.po: sk.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f ISO-8859-2 -t CP1250 $? > $@ !ELSE @@ -248,11 +212,7 @@ sk.cp1250.po: sk.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1250)) -replace \ - 'charset=iso-8859-2', 'charset=CP1250'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(1250)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(1250)) -replace \ + 'charset=iso-8859-2', 'charset=CP1250' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -260,7 +220,7 @@ sk.cp1250.po: sk.po # Convert zh_CN.UTF-8.po to create zh_CN.po. zh_CN.po: zh_CN.UTF-8.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t GB2312 $? > $@ !ELSE @@ -272,11 +232,7 @@ zh_CN.po: zh_CN.UTF-8.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(936)) -replace \ - 'charset=UTF-8', 'charset=GB2312'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(936)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(936)) -replace \ + 'charset=UTF-8', 'charset=GB2312' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -286,7 +242,7 @@ zh_CN.po: zh_CN.UTF-8.po # Set 'charset' to gbk to avoid that msfmt generates a warning. # This used to convert from zh_CN.po, but that results in a conversion error. zh_CN.cp936.po: zh_CN.UTF-8.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP936 $? > $@ !ELSE @@ -297,16 +253,16 @@ zh_CN.cp936.po: zh_CN.UTF-8.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(20936)) \ - -replace 'charset=UTF-8', 'charset=GBK'\ - -replace '# Original translations', \ + [System.Text.Encoding]::GetEncoding(20936)) -replace \ + 'charset=UTF-8', 'charset=GBK' -replace \ + '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ [System.Text.Encoding]::GetEncoding(20936)) # Convert zh_TW.UTF-8.po to create zh_TW.po. zh_TW.po: zh_TW.UTF-8.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t BIG5 $? > $@ !ELSE @@ -317,11 +273,7 @@ zh_TW.po: zh_TW.UTF-8.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(950)) -replace \ - 'charset=UTF-8', 'charset=BIG5'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(950)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(950)) -replace \ + 'charset=UTF-8', 'charset=BIG5' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -346,7 +298,7 @@ zh_TW.po: zh_TW.UTF-8.po #zh_TW.po: zh_TW.UTF-8.po # @$(MAKE) -nologo -f Make_mvc.mak big5corr -# -$(RM) $@ +# - $(RM) $@ #!IF DEFINED (ICONV) # $(ICONV) -f UTF-8 -t BIG5 $? | .\big5corr.exe > $@ #!ELSE @@ -369,7 +321,7 @@ zh_TW.po: zh_TW.UTF-8.po # Convert ko.UTF-8.po to create ko.po. ko.po: ko.UTF-8.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t EUC-KR $? > $@ !ELSE @@ -381,11 +333,7 @@ ko.po: ko.UTF-8.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(51949)) -replace \ - 'charset=UTF-8', 'charset=EUC-KR'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(51949)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(51949)) -replace \ + 'charset=UTF-8', 'charset=EUC-KR' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -393,7 +341,7 @@ ko.po: ko.UTF-8.po # Convert ru.po to create ru.cp1251.po. ru.cp1251.po: ru.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1251 $? > $@ !ELSE @@ -404,11 +352,7 @@ ru.cp1251.po: ru.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1251)) -replace \ - 'charset=UTF-8', 'charset=CP1251'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(1251)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(1251)) -replace \ + 'charset=UTF-8', 'charset=CP1251' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -416,7 +360,7 @@ ru.cp1251.po: ru.po # Convert uk.po to create uk.cp1251.po. uk.cp1251.po: uk.po - -$(RM) $@ + - $(RM) $@ !IF DEFINED (ICONV) $(ICONV) -f UTF-8 -t CP1251 $? > $@ !ELSE @@ -427,11 +371,7 @@ uk.cp1251.po: uk.po !ENDIF $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ [System.Text.Encoding]::GetEncoding(1251)) -replace \ - 'charset=UTF-8', 'charset=CP1251'; \ - [System.IO.File]::WriteAllText(\"$@\", $$out, \ - [System.Text.Encoding]::GetEncoding(1251)) - $(PS) $(PSFLAGS) $$out = [System.IO.File]::ReadAllText(\"$@\", \ - [System.Text.Encoding]::GetEncoding(1251)) -replace \ + 'charset=UTF-8', 'charset=CP1251' -replace \ '# Original translations', \ '# Generated from $?, DO NOT EDIT'; \ [System.IO.File]::WriteAllText(\"$@\", $$out, \ @@ -458,22 +398,22 @@ files: $(PO_INPUTLIST) first_time: files "$(VIMPROG)" -u NONE --not-a-term -S tojavascript.vim $(LANGUAGE).po \ $(PO_VIM_INPUTLIST) - @ copy /b .\files+.\vim_to_js .\allfiles + @ $(CP) /B .\files+.\vim_to_js .\allfiles set OLD_PO_FILE_INPUT=yes set OLD_PO_FILE_OUTPUT=yes $(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments \ $(XGETTEXT_KEYWORDS) --files-from=.\allfiles \ - --copyright-holder="$(Year), The Vim Project" --package-name=Vim \ - --msgid-bugs-address="vim-dev@vim.org" + --copyright-holder="$(Year), The Vim Project" \ + --package-name=Vim --msgid-bugs-address="vim-dev@vim.org" "$(VIMPROG)" -u NONE --not-a-term -S fixfilenames.vim $(LANGUAGE).po \ $(PO_VIM_INPUTLIST) $(RM) *.js .\vim_to_js - @$(MAKE) -lf Make_mvc.mak clean + @ $(MAKE) -lf Make_mvc.mak clean $(PACKAGE).pot: files "$(VIMPROG)" -u NONE --not-a-term -S tojavascript.vim $(PACKAGE).pot \ $(PO_VIM_INPUTLIST) - @ copy /b .\files+.\vim_to_js .\allfiles + @ $(CP) /B .\files+.\vim_to_js .\allfiles set OLD_PO_FILE_INPUT=yes set OLD_PO_FILE_OUTPUT=yes $(XGETTEXT) --default-domain=$(PACKAGE) --output=$(PACKAGE).pot \ @@ -483,7 +423,7 @@ $(PACKAGE).pot: files "$(VIMPROG)" -u NONE --not-a-term -S fixfilenames.vim $(PACKAGE).pot \ $(PO_VIM_INPUTLIST) $(RM) *.js .\vim_to_js - @$(MAKE) -lf Make_mvc.mak clean + @ $(MAKE) -lf Make_mvc.mak clean # Only original translations with default encoding should be updated. # The files that are converted to a different encoding clearly state "DO NOT EDIT". @@ -491,7 +431,7 @@ update-po: $(MOFILES:.mo=) # Don't add a dependency here, we only want to update the .po files manually. $(LANGUAGES): - @$(MAKE) -lf Make_mvc.mak GETTEXT_PATH="$(GETTEXT_PATH)" $(PACKAGE).pot + @ $(MAKE) -lf Make_mvc.mak "GETTEXT_PATH=$(GETTEXT_PATH)" $(PACKAGE).pot $(CP) $@.po $@.po.orig $(MV) $@.po $@.po.old $(MSGMERGE) $@.po.old $(PACKAGE).pot -o $@.po @@ -502,16 +442,17 @@ install: $(LANGUAGE).mo $(CP) $(LANGUAGE).mo "$(INSTALLDIR)\$(PACKAGE).mo" install-all: all - for %%l in ($(LANGUAGES)) do @if not exist "$(VIMRUNTIME)\lang\%%l\LC_MESSAGES" \ + for %%l in ($(LANGUAGES)) do \ + @if not exist "$(VIMRUNTIME)\lang\%%l\LC_MESSAGES" \ $(MKD) "$(VIMRUNTIME)\lang\%%l\LC_MESSAGES" for %%l in ($(LANGUAGES)) do @$(CP) %%l.mo \ "$(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo" cleanup-po: $(LANGUAGE).po - "$(VIMPROG)" -u NONE -e -X -S cleanup.vim -c wq $(LANGUAGE).po + @ "$(VIMPROG)" -u NONE -e -s -S cleanup.vim -c wq $(LANGUAGE).po cleanup-po-all: $(POFILES) - !"$(VIMPROG)" -u NONE -e -X -S cleanup.vim -c wq $** + !@ "$(VIMPROG)" -u NONE -e -s -S cleanup.vim -c wq $** ####### # For translations of plug-ins @@ -544,4 +485,4 @@ clean: checkclean # - $(RM) *.pot # - $(RM) big5corr.obj big5corr.exe -# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/tee/Make_mvc.mak b/src/tee/Make_mvc.mak index 950100d3c8..7c595e3b89 100644 --- a/src/tee/Make_mvc.mak +++ b/src/tee/Make_mvc.mak @@ -1,9 +1,12 @@ # A very (if not the most) simplistic Makefile for MSVC +# included common tools +!INCLUDE ..\auto\nmake\tools.mak + SUBSYSTEM = console -!if "$(SUBSYSTEM_VER)" != "" +!IF "$(SUBSYSTEM_VER)" != "" SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) -!endif +!ENDIF CC=cl CFLAGS=/O2 /nologo @@ -15,5 +18,7 @@ tee.obj: tee.c $(CC) $(CFLAGS) /c $** clean: - - del tee.obj - - del tee.exe + - $(RM) tee.obj + - $(RM) tee.exe + +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/testdir/Make_mvc.mak b/src/testdir/Make_mvc.mak index 02eb801b37..a092c63ba8 100644 --- a/src/testdir/Make_mvc.mak +++ b/src/testdir/Make_mvc.mak @@ -2,6 +2,10 @@ # Makefile to run all tests for Vim, on Dos-like machines. # # Requires a set of Unix tools: echo, diff, etc. +# + +# included common tools +!INCLUDE ..\auto\nmake\tools.mak # Testing may be done with a debug build !IF EXIST(..\\vimd.exe) && !EXIST(..\\vim.exe) @@ -10,10 +14,11 @@ VIMPROG = ..\\vimd.exe VIMPROG = ..\\vim.exe !ENDIF +DIFF = diff.exe default: nongui -!include Make_all.mak +!INCLUDE .\Make_all.mak # Explicit dependencies. test_options_all.res: opt_test.vim @@ -37,59 +42,59 @@ tiny: nolog tinytests report benchmark: $(SCRIPTS_BENCH) report: - @rem without the +eval feature test_result.log is a copy of test.log - @if exist test.log ( copy /y test.log test_result.log > nul ) \ + @ rem without the +eval feature test_result.log is a copy of test.log + @ if exist test.log ( $(CP) test.log test_result.log > nul ) \ else ( echo No failures reported > test_result.log ) $(VIMPROG) -u NONE $(COMMON_ARGS) -S util\summarize.vim messages - -if exist starttime del starttime - @echo: - @echo Test results: - @cmd /c type test_result.log - @if exist test.log ( echo TEST FAILURE & exit /b 1 ) \ + - if exist starttime $(RM) starttime + @ echo: + @ echo Test results: + @ $(CMD) /C type test_result.log + @ if exist test.log ( echo TEST FAILURE & exit /b 1 ) \ else ( echo ALL DONE ) # Execute an individual new style test, e.g.: # nmake -f Make_mvc.mak test_largefile $(NEW_TESTS): - -if exist $@.res del $@.res - -if exist test.log del test.log - -if exist messages del messages - -if exist starttime del starttime - @$(MAKE) -nologo -f Make_mvc.mak VIMPROG=$(VIMPROG) $@.res - @type messages - @if exist test.log exit 1 + - if exist $@.res $(RM) $@.res + - if exist test.log $(RM) test.log + - if exist messages $(RM) messages + - if exist starttime $(RM) starttime + @ $(MAKE) -lf Make_mvc.mak VIMPROG=$(VIMPROG) $@.res + @ type messages + @ if exist test.log exit 1 # Delete files that may interfere with running tests. This includes some files # that may result from working on the tests, not only from running them. clean: - -if exist *.out del *.out - -if exist *.failed del *.failed - -if exist *.res del *.res - -if exist $(DOSTMP) rd /s /q $(DOSTMP) - -if exist test.in del test.in - -if exist test.ok del test.ok - -if exist Xdir1 rd /s /q Xdir1 - -if exist Xfind rd /s /q Xfind - -if exist XfakeHOME rd /s /q XfakeHOME - -if exist X* del X* - -for /d %i in (X*) do @rd /s/q %i - -if exist viminfo del viminfo - -if exist test.log del test.log - -if exist test_result.log del test_result.log - -if exist messages del messages - -if exist starttime del starttime - -if exist benchmark.out del benchmark.out - -if exist opt_test.vim del opt_test.vim - -if exist guidialog del guidialog - -if exist guidialogfile del guidialogfile + - if exist *.out $(RM) *.out + - if exist *.failed $(RM) *.failed + - if exist *.res $(RM) *.res + - if exist $(DOSTMP) $(RD) $(DOSTMP) + - if exist test.in $(RM) test.in + - if exist test.ok $(RM) test.ok + - if exist Xdir1 $(RD) Xdir1 + - if exist Xfind $(RD) Xfind + - if exist XfakeHOME $(RD) XfakeHOME + - if exist X* $(RM) X* + - for /d %i in (X*) do @$(RD) %i + - if exist viminfo $(RM) viminfo + - if exist test.log $(RM) test.log + - if exist test_result.log $(RM) test_result.log + - if exist messages $(RM) messages + - if exist starttime $(RM) starttime + - if exist benchmark.out $(RM) benchmark.out + - if exist opt_test.vim $(RM) opt_test.vim + - if exist guidialog $(RM) guidialog + - if exist guidialogfile $(RM) guidialogfile nolog: - -if exist test.log del test.log - -if exist test_result.log del test_result.log - -if exist messages del messages - -if exist starttime del starttime + - if exist test.log $(RM) test.log + - if exist test_result.log $(RM) test_result.log + - if exist messages $(RM) messages + - if exist starttime $(RM) starttime # Tiny tests. Works even without the +eval feature. @@ -97,34 +102,34 @@ tinytests: $(SCRIPTS_TINY_OUT) # Copy the input files to dostmp, changing the fileformat to dos. $(DOSTMP_INFILES): $(*B).in - if not exist $(DOSTMP)\NUL md $(DOSTMP) - if exist $@ del $@ + if not exist $(DOSTMP)\NUL $(MKD) $(DOSTMP) + if exist $@ $(RM) $@ $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) "+set ff=dos|f $@|wq" $(*B).in # For each input file dostmp/test99.in run the tests. # This moves test99.in to test99.in.bak temporarily. $(TEST_OUTFILES): $(DOSTMP)\$(*B).in - -@if exist test.out DEL test.out - -@if exist $(DOSTMP)\$(*B).out DEL $(DOSTMP)\$(*B).out - move $(*B).in $(*B).in.bak > nul - copy $(DOSTMP)\$(*B).in $(*B).in > nul - copy $(*B).ok test.ok > nul + -@ if exist test.out $(RM) test.out + -@ if exist $(DOSTMP)\$(*B).out $(RM) $(DOSTMP)\$(*B).out + $(MV) $(*B).in $(*B).in.bak > nul + $(CP) $(DOSTMP)\$(*B).in $(*B).in > nul + $(CP) $(*B).ok test.ok > nul $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) -s dotest.in $(*B).in - -@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out > nul - -@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in > nul - -@if exist test.ok del test.ok - -@if exist Xdir1 rd /s /q Xdir1 - -@if exist Xfind rd /s /q Xfind - -@if exist XfakeHOME rd /s /q XfakeHOME - -@del X* - -@if exist viminfo del viminfo + -@ if exist test.out $(MV) test.out $(DOSTMP)\$(*B).out > nul + -@ if exist $(*B).in.bak $(MV) $(*B).in.bak $(*B).in > nul + -@ if exist test.ok $(RM) test.ok + -@ if exist Xdir1 $(RD) Xdir1 + -@ if exist Xfind $(RD) Xfind + -@ if exist XfakeHOME $(RD) XfakeHOME + -@ $(RM) X* + -@ if exist viminfo $(RM) viminfo $(VIMPROG) -u util\dos.vim $(COMMON_ARGS) "+set ff=unix|f test.out|wq" \ $(DOSTMP)\$(*B).out - @diff test.out $*.ok & if errorlevel 1 \ - ( move /y test.out $*.failed > nul \ - & del $(DOSTMP)\$(*B).out \ + @ $(DIFF) test.out $*.ok & if errorlevel 1 \ + ( $(MV) test.out $*.failed > nul \ + & $(RM) $(DOSTMP)\$(*B).out \ & echo $* FAILED >> test.log ) \ - else ( move /y test.out $*.out > nul ) + else ( $(MV) test.out $*.out > nul ) # New style of tests uses Vim script with assert calls. These are easier @@ -132,32 +137,36 @@ $(TEST_OUTFILES): $(DOSTMP)\$(*B).in # Limitation: Only works with the +eval feature. newtests: newtestssilent - @if exist messages type messages + @ if exist messages type messages newtestssilent: $(NEW_TESTS_RES) .vim.res: - @echo $(VIMPROG) > vimcmd + @ echo $(VIMPROG) > vimcmd $(VIMPROG) -u NONE $(COMMON_ARGS) -S runtest.vim $*.vim - @del vimcmd + @ $(RM) vimcmd test_gui.res: test_gui.vim - @echo $(VIMPROG) > vimcmd + @ echo $(VIMPROG) > vimcmd $(VIMPROG) -u NONE $(COMMON_ARGS) -S runtest.vim $*.vim - @del vimcmd + @ $(RM) vimcmd test_gui_init.res: test_gui_init.vim - @echo $(VIMPROG) > vimcmd - $(VIMPROG) -u util\gui_preinit.vim -U util\gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim - @del vimcmd + @ echo $(VIMPROG) > vimcmd + $(VIMPROG) -u util\gui_preinit.vim -U util\gui_init.vim $(NO_PLUGINS) \ + -S runtest.vim $*.vim + @ $(RM) vimcmd -opt_test.vim: util/gen_opt_test.vim ../optiondefs.h ../../runtime/doc/options.txt +opt_test.vim: util/gen_opt_test.vim ../optiondefs.h \ + ../../runtime/doc/options.txt $(VIMPROG) -e -s -u NONE $(COMMON_ARGS) --nofork -S $** - @if exist test.log ( type test.log & exit /b 1 ) + @ if exist test.log ( type test.log & exit /b 1 ) test_bench_regexp.res: test_bench_regexp.vim - -if exist benchmark.out del benchmark.out - @echo $(VIMPROG) > vimcmd + - if exist benchmark.out $(RM) benchmark.out + @ echo $(VIMPROG) > vimcmd $(VIMPROG) -u NONE $(COMMON_ARGS) -S runtest.vim $*.vim - @del vimcmd - @IF EXIST benchmark.out ( type benchmark.out ) + @ $(RM) vimcmd + @ if exist benchmark.out ( type benchmark.out ) + +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: diff --git a/src/version.c b/src/version.c index 3170224680..2262124dd1 100644 --- a/src/version.c +++ b/src/version.c @@ -724,6 +724,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1675, /**/ 1674, /**/ diff --git a/src/xxd/Make_mvc.mak b/src/xxd/Make_mvc.mak index 2361ab3d54..ebfd473c20 100644 --- a/src/xxd/Make_mvc.mak +++ b/src/xxd/Make_mvc.mak @@ -1,19 +1,25 @@ # The most simplistic Makefile for Win32 using Microsoft Visual C++ # (NT and Windows 95) +# included common tools +!INCLUDE ..\auto\nmake\tools.mak + SUBSYSTEM = console -!if "$(SUBSYSTEM_VER)" != "" +!IF "$(SUBSYSTEM_VER)" != "" SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) -!endif +!ENDIF xxd: xxd.exe xxd.exe: xxd.c - cl /nologo /source-charset:utf-8 -DWIN32 xxd.c -link -subsystem:$(SUBSYSTEM) + cl /nologo /source-charset:utf-8 -DWIN32 xxd.c -link \ + -subsystem:$(SUBSYSTEM) # This was for an older compiler # cl /nologo -DWIN32 xxd.c /link setargv.obj clean: - - if exist xxd.obj del xxd.obj - - if exist xxd.exe del xxd.exe + - if exist xxd.obj $(RM) xxd.obj + - if exist xxd.exe $(RM) xxd.exe + +# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=79 ft=make: