2004-06-13 20:20:40 +00:00
# This Makefile has two purposes:
# 1. Starting the compilation of Vim for Unix.
# 2. Creating the various distribution files.
2010-05-15 15:41:59 +02:00
#########################################################################
# 1. Starting the compilation of Vim for Unix.
2004-06-13 20:20:40 +00:00
#
2010-05-15 15:41:59 +02:00
# Using this Makefile without an argument will compile Vim for Unix.
2004-06-13 20:20:40 +00:00
# "make install" is also possible.
#
# NOTE: If this doesn't work properly, first change directory to "src" and use
# the Makefile there:
# cd src
# make [arguments]
# Noticed on AIX systems when using this Makefile: Trying to run "cproto" or
# something else after Vim has been compiled. Don't know why...
# Noticed on OS/390 Unix: Restarts configure.
#
# The first (default) target is "first". This will result in running
# "make first", so that the target from "src/auto/config.mk" is picked
# up properly when config didn't run yet. Doing "make all" before configure
# has run can result in compiling with $(CC) empty.
first :
2011-02-15 15:28:09 +01:00
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
2004-06-13 20:20:40 +00:00
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $( MAKE) $@
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
2020-08-13 18:59:55 +02:00
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean :
2011-02-15 15:28:09 +01:00
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
2004-06-13 20:20:40 +00:00
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $( MAKE) $@
2023-06-11 19:04:18 +01:00
@# When the target is "test" also run the indent and syntax tests.
2023-09-24 16:09:31 +02:00
@if test " $@ " = "test" -o " $@ " = "testtiny" ; then \
2018-12-15 17:23:18 +01:00
$( MAKE) indenttest; \
2023-06-11 19:04:18 +01:00
$( MAKE) syntaxtest; \
2018-12-15 17:23:18 +01:00
fi
2023-06-11 19:04:18 +01:00
@# When the target is "clean" also clean for the indent and syntax tests.
2019-04-27 17:57:31 +02:00
@if test " $@ " = "clean" -o " $@ " = "distclean" -o " $@ " = "testclean" ; then \
2023-06-14 15:10:02 +01:00
( cd runtime/indent && $( MAKE) clean) ; \
( cd runtime/syntax && $( MAKE) clean) ; \
2019-04-27 17:57:31 +02:00
fi
2018-12-15 17:23:18 +01:00
# Executable used for running the indent tests.
VIM_FOR_INDENTTEST = ../../src/vim
2004-06-13 20:20:40 +00:00
2018-12-15 17:23:18 +01:00
indenttest :
cd runtime/indent && \
2019-04-27 17:57:31 +02:00
$( MAKE) clean && \
2024-07-04 17:47:16 +02:00
$( MAKE) test VIMPROG = " $( VIM_FOR_INDENTTEST) "
2022-06-14 13:58:29 +01:00
2023-06-11 19:04:18 +01:00
# Executable used for running the syntax tests.
VIM_FOR_SYNTAXTEST = ../../src/vim
2024-10-06 16:57:33 +02:00
# (For local testing only with GNU Make.)
VIM_SYNTAX_TEST_FILTER =
2023-06-11 19:04:18 +01:00
syntaxtest :
cd runtime/syntax && \
$( MAKE) clean && \
2023-06-13 22:44:57 +01:00
$( MAKE) test VIMPROG = " $( VIM_FOR_SYNTAXTEST) "
2023-06-11 19:04:18 +01:00
2004-06-13 20:20:40 +00:00
2010-05-15 15:41:59 +02:00
#########################################################################
# 2. Creating the various distribution files.
2004-06-13 20:20:40 +00:00
#
# TARGET PRODUCES CONTAINS
2010-05-15 15:41:59 +02:00
# unixall vim-#.#.tar.bz2 All runtime files and sources, for Unix
2004-06-13 20:20:40 +00:00
#
# html vim##html.zip HTML docs
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
2016-08-28 18:47:14 +02:00
# dosbin vim##w32.zip binary for Win32
2004-06-13 20:20:40 +00:00
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
2010-05-15 15:41:59 +02:00
#
# OBSOLETE
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
2004-06-13 20:20:40 +00:00
#
# farsi farsi##.zip Farsi fonts
#
# All output files are created in the "dist" directory. Existing files are
# overwritten!
2010-05-15 15:41:59 +02:00
# To do all this you need the Unix archive and compiled binaries.
2004-06-13 20:20:40 +00:00
# Before creating an archive first delete all backup files, *.orig, etc.
2022-06-28 13:44:46 +01:00
MAJOR = 9
2024-01-02 16:51:11 +01:00
MINOR = 1
2004-06-13 20:20:40 +00:00
# CHECKLIST for creating a new version:
#
2016-09-12 14:24:39 +02:00
# - Update Vim version number. For a test version in: src/version.h,
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
2019-12-12 14:18:35 +01:00
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
2016-09-12 14:24:39 +02:00
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
2022-06-14 13:58:29 +01:00
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.manifest.
2019-12-07 19:24:34 +01:00
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
# "huge" features. Add MZscheme if you can make it work.
# Use "make reconfig" after selecting the configure arguments.
2004-06-13 20:20:40 +00:00
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
2010-07-18 18:04:50 +02:00
# - If you have a lint program: "make lint" and check the output (ignore GTK
# warnings).
2013-08-10 15:00:24 +02:00
# - If you have valgrind, enable it in src/testdir/Makefile and run "make
# test". Enable EXITFREE, disable GUI, scheme and tcl to avoid false alarms.
# Check the valgrind output.
# - Adjust the date and other info in src/version.h.
# - Correct included_patches[] in src/version.c.
2004-06-13 20:20:40 +00:00
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
2022-06-28 13:44:46 +01:00
# - Add remarks for changes to runtime/doc/version9.txt.
2007-05-12 12:58:05 +00:00
# - Check that runtime/doc/help.txt doesn't contain entries in "LOCAL
# ADDITIONS".
2004-06-13 20:20:40 +00:00
# - In runtime/doc run "make" and "make html" to check for errors.
2013-08-10 15:00:24 +02:00
# - Check if src/Makefile, src/testdir/Makefile and src/feature.h don't contain
# any personal preferences or the changes mentioned above.
2004-06-13 20:20:40 +00:00
# - Check file protections to be "644" for text and "755" for executables (run
# the "check" script).
# - Check compiling on Amiga, MS-DOS and MS-Windows.
# - Delete all *~, *.sw?, *.orig, *.rej files
2010-05-15 15:41:59 +02:00
# - "make unixall", "make html"
2007-05-12 12:58:05 +00:00
# - Make diff files against the previous release: "makediff7 7.1 7.2"
2004-06-13 20:20:40 +00:00
#
2010-05-15 13:56:02 +02:00
# Amiga: (OBSOLETE, Amiga files are no longer distributed)
2004-06-13 20:20:40 +00:00
# - "make amisrc", move the archive to the Amiga and compile:
# "make -f Make_manx.mak" (will use "big" features by default).
# - Run the tests: "make -f Make_manx.mak test"
# - Place the executables Vim and Xxd in this directory (set the executable
# flag).
# - "make amirt", "make amibin".
#
2016-01-02 15:00:30 +01:00
# MS-Windows:
2010-05-24 21:34:22 +02:00
# - Run make on Unix to update the ".mo" files.
2017-10-14 19:05:44 +02:00
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
2016-01-16 18:05:50 +01:00
# https://mlocati.github.io/gettext-iconv-windows/ .
2017-03-04 20:09:34 +01:00
# Use the "shared-32.zip file and extract the archive to get the files.
2017-10-14 19:05:44 +02:00
# Put them in the gettext32 directory, "make dosrt" uses them.
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
# https://mlocati.github.io/gettext-iconv-windows/ .
# Use the "shared-64.zip file and extract the archive to get the files.
# Put them in the gettext64 directory, "make dosrt" uses them.
2016-01-02 15:00:30 +01:00
# - > make dossrc
# > make dosrt
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
2024-09-26 15:52:22 +02:00
# This creates the directory vim/vim91 and puts all files in there.
2016-01-02 15:00:30 +01:00
# Win32 console version build:
2017-10-08 17:58:44 +02:00
# - See src/INSTALLpc.txt for installing the compiler and SDK.
# - Set environment for Visual C++ 2015:
# > cd src
# > msvc2015.bat
# - Build the console binary:
2021-05-26 21:49:18 +02:00
# > nmake -f Make_mvc.mak
2020-01-26 22:00:26 +01:00
# - Run the tests and check the output:
2016-08-28 20:14:38 +02:00
# > nmake -f Make_mvc.mak testclean
2015-12-29 19:03:21 +01:00
# > nmake -f Make_mvc.mak test
2016-09-12 12:24:11 +02:00
# - Rename (using ../tools/rename.bat):
2016-08-28 20:14:38 +02:00
# vim.exe to vimw32.exe
# tee/tee.exe to teew32.exe
2016-08-28 18:47:14 +02:00
# xxd/xxd.exe to xxdw32.exe
2016-08-28 20:14:38 +02:00
# vim.pdb to vimw32.pdb
# install.exe to installw32.exe
2019-09-27 13:08:36 +02:00
# uninstall.exe to uninstallw32.exe
2016-01-02 15:00:30 +01:00
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
2017-10-08 17:58:44 +02:00
# - Run the tests and check the output:
2016-08-28 20:14:38 +02:00
# > nmake -f Make_mvc.mak testclean
2016-01-02 15:00:30 +01:00
# > nmake -f Make_mvc.mak testgvim
2004-06-13 20:20:40 +00:00
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
2007-05-05 17:10:09 +00:00
# - Move gvim.pdb to here.
2004-06-13 20:20:40 +00:00
# - Copy "GvimExt/gvimext.dll" to here.
2019-09-27 13:08:36 +02:00
# - Delete vimrun.exe, install.exe and uninstall.exe.
2016-09-06 22:06:35 +02:00
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
2016-01-02 15:00:30 +01:00
# - Install the interfaces you want, see src/INSTALLpc.txt
2017-10-08 17:58:44 +02:00
# Adjust bigvim.bat to match the version of each interface you want.
2016-01-02 15:00:30 +01:00
# - Build:
# > cd src
# > bigvim.bat
2015-12-29 19:03:21 +01:00
# - Run the tests:
2016-08-28 20:14:38 +02:00
# > nmake -f Make_mvc.mak testclean
2016-01-02 15:00:30 +01:00
# > nmake -f Make_mvc.mak testgvim
2015-12-29 19:03:21 +01:00
# - check the output.
2004-06-13 20:20:40 +00:00
# - Rename "gvim.exe" to "gvim_ole.exe".
2007-05-05 17:10:09 +00:00
# - Rename gvim.pdb to "gvim_ole.pdb".
2019-09-27 13:08:36 +02:00
# - Delete install.exe and uninstall.exe.
2004-06-13 20:20:40 +00:00
# Create the archives:
# - Copy all the "*.exe" files to where this Makefile is.
2006-04-16 18:30:08 +00:00
# - Copy all the "*.pdb" files to where this Makefile is.
2016-01-02 15:00:30 +01:00
# - in this directory:
# > make dosbin
2004-06-13 20:20:40 +00:00
# NSIS self installing exe:
2010-05-24 21:34:22 +02:00
# - To get NSIS see http://nsis.sourceforge.net
2013-07-04 22:35:01 +02:00
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
2019-09-27 13:08:36 +02:00
# uninstallw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
2016-08-28 18:47:14 +02:00
# above.
2010-05-24 21:34:22 +02:00
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# gvimext64.dll in src/GvimExt
2017-10-15 21:43:21 +02:00
# gvimext64.dll can be obtained from:
# https://github.com/vim/vim-win32-installer/releases
2024-09-26 15:52:22 +02:00
# It is part of gvim_9.1.*_x64.zip as vim/vim91/GvimExt/gvimext64.dll.
2016-01-02 15:00:30 +01:00
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
2017-10-08 17:58:44 +02:00
# version). Also put winpty32.dll and winpty-agent.exe there.
2016-01-02 15:00:30 +01:00
# - go to ../nsis and do:
2019-01-10 21:51:48 +01:00
# > unzip icons.zip
2016-01-02 15:00:30 +01:00
# > makensis gvim.nsi (takes a few minutes).
2016-09-12 14:24:39 +02:00
# ignore warning for libwinpthread-1.dll
2004-06-13 20:20:40 +00:00
# - Copy gvim##.exe to the dist directory.
#
2013-07-04 22:35:01 +02:00
# 64 bit builds (these are not in the normal distribution, the 32 bit build
# works just fine on 64 bit systems).
# Like the console and GUI version, but first run vcvars64.bat or
# "..\VC\vcvarsall.bat x86_amd64".
2016-01-02 15:00:30 +01:00
# - Build the console version:
# > nmake -f Make_mvc.mak
# - Build the GUI version:
# > nmake -f Make_mvc.mak GUI=yes
# - Build the OLE version with interfaces:
# > bigvim64.bat
#
2013-07-04 22:35:01 +02:00
#
2016-03-19 16:09:42 +01:00
# OBSOLETE systems: You can build these if you have an appropriate system.
2013-07-04 22:35:01 +02:00
#
2016-03-19 16:09:42 +01:00
# 16 bit DOS version: You need to get a very old version of Vim, for several
# years even the tiny build is too big to fit in DOS memory.
2013-07-04 22:35:01 +02:00
#
2016-03-19 16:09:42 +01:00
# 32 bit DOS version: Support was removed in 7.4.1399. When syncing to before
# that it probably won't build.
2013-07-04 22:35:01 +02:00
#
2016-08-28 18:47:14 +02:00
# Win32s GUI version: Support was removed in patch 7.4.1364.
2013-07-04 22:35:01 +02:00
#
2016-03-19 16:09:42 +01:00
# OS/2 support was removed in patch 7.4.1008. If you want to give it a try
# sync to before that and check the old version of this Makefile for
# instructions.
2004-06-13 20:20:40 +00:00
VIMVER = vim-$( MAJOR) .$( MINOR)
VERSION = $( MAJOR) $( MINOR)
VDOT = $( MAJOR) .$( MINOR)
VIMRTDIR = vim$( VERSION)
# How to include Filelist depends on the version of "make" you have.
# If the current choice doesn't work, try the other one.
i n c l u d e F i l e l i s t
#.include "Filelist"
# All output is put in the "dist" directory.
dist :
mkdir dist
# Clean up some files to avoid they are included.
2016-03-19 16:09:42 +01:00
# Copy README files to the top directory.
2004-06-13 20:20:40 +00:00
prepare :
if test -f runtime/doc/uganda.nsis.txt; then \
2024-03-28 09:19:44 +00:00
rm runtime/doc/uganda.nsis.???; fi
2016-03-19 16:09:42 +01:00
for name in $( IN_README_DIR) ; do \
cp READMEdir/" $$ name " .; \
done
2004-06-13 20:20:40 +00:00
# For the zip files we need to create a file with the comment line
dist/comment :
mkdir dist/comment
COMMENT_RT = comment/$( VERSION) -rt
COMMENT_W32 = comment/$( VERSION) -bin-w32
COMMENT_GVIM = comment/$( VERSION) -bin-gvim
COMMENT_OLE = comment/$( VERSION) -bin-ole
COMMENT_SRC = comment/$( VERSION) -src
COMMENT_HTML = comment/$( VERSION) -html
COMMENT_FARSI = comment/$( VERSION) -farsi
dist/$(COMMENT_RT) : dist /comment
echo " Vim - Vi IMproved - v $( VDOT) runtime files for MS-DOS and MS-Windows " > dist/$( COMMENT_RT)
dist/$(COMMENT_W32) : dist /comment
2024-09-30 19:42:28 +02:00
echo " Vim - Vi IMproved - v $( VDOT) binaries for MS-Windows " > dist/$( COMMENT_W32)
2004-06-13 20:20:40 +00:00
dist/$(COMMENT_GVIM) : dist /comment
2024-09-30 19:42:28 +02:00
echo " Vim - Vi IMproved - v $( VDOT) GUI binaries for MS-Windows " > dist/$( COMMENT_GVIM)
2004-06-13 20:20:40 +00:00
dist/$(COMMENT_OLE) : dist /comment
echo " Vim - Vi IMproved - v $( VDOT) MS-Windows GUI binaries with OLE support " > dist/$( COMMENT_OLE)
dist/$(COMMENT_SRC) : dist /comment
echo " Vim - Vi IMproved - v $( VDOT) sources for MS-DOS and MS-Windows " > dist/$( COMMENT_SRC)
dist/$(COMMENT_HTML) : dist /comment
echo " Vim - Vi IMproved - v $( VDOT) documentation in HTML " > dist/$( COMMENT_HTML)
dist/$(COMMENT_FARSI) : dist /comment
echo " Vim - Vi IMproved - v $( VDOT) Farsi language files " > dist/$( COMMENT_FARSI)
2005-12-06 19:50:41 +00:00
unixall : dist prepare
-rm -f dist/$( VIMVER) .tar.bz2
2004-06-13 20:20:40 +00:00
-rm -rf dist/$( VIMRTDIR)
mkdir dist/$( VIMRTDIR)
tar cf - \
$( RT_ALL) \
$( RT_ALL_BIN) \
$( RT_UNIX) \
$( RT_UNIX_DOS_BIN) \
$( RT_SCRIPTS) \
$( LANG_GEN) \
2005-04-17 20:18:43 +00:00
$( LANG_GEN_BIN) \
2005-12-06 19:50:41 +00:00
$( SRC_ALL) \
2004-06-13 20:20:40 +00:00
$( SRC_UNIX) \
$( SRC_DOS_UNIX) \
2010-05-15 15:41:59 +02:00
$( EXTRA) \
$( LANG_SRC) \
2004-06-13 20:20:40 +00:00
| ( cd dist/$( VIMRTDIR) ; tar xf -)
2016-03-19 16:09:42 +01:00
-rm $( IN_README_DIR)
2004-06-13 20:20:40 +00:00
# Need to use a "distclean" config.mk file
2013-07-04 22:35:01 +02:00
# Note: this file is not included in the repository to avoid problems, but it's
# OK to put it in the archive.
2004-06-13 20:20:40 +00:00
cp -f src/config.mk.dist dist/$( VIMRTDIR) /src/auto/config.mk
# Create an empty config.h file, make dependencies require it
touch dist/$( VIMRTDIR) /src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$( VIMRTDIR) /src/configure
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
touch dist/$( VIMRTDIR) /src/po/ja.sjis.po
touch dist/$( VIMRTDIR) /src/po/cs.cp1250.po
touch dist/$( VIMRTDIR) /src/po/pl.cp1250.po
touch dist/$( VIMRTDIR) /src/po/sk.cp1250.po
touch dist/$( VIMRTDIR) /src/po/zh_CN.cp936.po
touch dist/$( VIMRTDIR) /src/po/ru.cp1251.po
2004-09-06 17:44:46 +00:00
touch dist/$( VIMRTDIR) /src/po/uk.cp1251.po
2010-05-15 15:41:59 +02:00
# Create the archive.
cd dist && tar cf $( VIMVER) .tar $( VIMRTDIR)
bzip2 dist/$( VIMVER) .tar
2004-06-13 20:20:40 +00:00
2010-05-15 15:41:59 +02:00
# Amiga runtime - OBSOLETE
2004-06-13 20:20:40 +00:00
amirt : dist prepare
-rm -f dist/vim$( VERSION) rt.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$( VIMRTDIR)
tar cf - \
$( ROOT_AMI) \
$( RT_ALL) \
$( RT_ALL_BIN) \
$( RT_SCRIPTS) \
$( RT_AMI) \
$( RT_NO_UNIX) \
$( RT_AMI_DOS) \
| ( cd dist/Vim/$( VIMRTDIR) ; tar xf -)
2016-03-19 16:09:42 +01:00
-rm $( IN_README_DIR)
2004-06-13 20:20:40 +00:00
mv dist/Vim/$( VIMRTDIR) /vimdir.info dist/Vim.info
mv dist/Vim/$( VIMRTDIR) /runtime.info dist/Vim/$( VIMRTDIR) .info
mv dist/Vim/$( VIMRTDIR) /runtime/* dist/Vim/$( VIMRTDIR)
rmdir dist/Vim/$( VIMRTDIR) /runtime
cd dist && tar cf vim$( VERSION) rt.tar Vim Vim.info
gzip -9 dist/vim$( VERSION) rt.tar
mv dist/vim$( VERSION) rt.tar.gz dist/vim$( VERSION) rt.tgz
2010-05-15 15:41:59 +02:00
# Amiga binaries - OBSOLETE
2004-06-13 20:20:40 +00:00
amibin : dist prepare
-rm -f dist/vim$( VERSION) bin.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$( VIMRTDIR)
tar cf - \
$( ROOT_AMI) \
$( BIN_AMI) \
Vim \
Xxd \
| ( cd dist/Vim/$( VIMRTDIR) ; tar xf -)
2016-03-19 16:09:42 +01:00
-rm $( IN_README_DIR)
2004-06-13 20:20:40 +00:00
mv dist/Vim/$( VIMRTDIR) /vimdir.info dist/Vim.info
mv dist/Vim/$( VIMRTDIR) /runtime.info dist/Vim/$( VIMRTDIR) .info
cd dist && tar cf vim$( VERSION) bin.tar Vim Vim.info
gzip -9 dist/vim$( VERSION) bin.tar
mv dist/vim$( VERSION) bin.tar.gz dist/vim$( VERSION) bin.tgz
2010-05-15 15:41:59 +02:00
# Amiga sources - OBSOLETE
2004-06-13 20:20:40 +00:00
amisrc : dist prepare
-rm -f dist/vim$( VERSION) src.tar.gz
-rm -rf dist/Vim
mkdir dist/Vim
mkdir dist/Vim/$( VIMRTDIR)
tar cf - \
$( ROOT_AMI) \
2005-12-06 19:50:41 +00:00
$( SRC_ALL) \
2004-06-13 20:20:40 +00:00
$( SRC_AMI) \
$( SRC_AMI_DOS) \
| ( cd dist/Vim/$( VIMRTDIR) ; tar xf -)
2016-03-19 16:09:42 +01:00
-rm $( IN_README_DIR)
2004-06-13 20:20:40 +00:00
mv dist/Vim/$( VIMRTDIR) /vimdir.info dist/Vim.info
mv dist/Vim/$( VIMRTDIR) /runtime.info dist/Vim/$( VIMRTDIR) .info
cd dist && tar cf vim$( VERSION) src.tar Vim Vim.info
gzip -9 dist/vim$( VERSION) src.tar
mv dist/vim$( VERSION) src.tar.gz dist/vim$( VERSION) src.tgz
2010-05-24 21:34:22 +02:00
# MS-DOS sources
2024-03-28 09:19:44 +00:00
dossrc : dist dist /$( COMMENT_SRC ) runtime /doc /uganda .nsis .txt \
2016-01-02 15:44:32 +01:00
nsis/gvim_version.nsh
2010-05-24 21:34:22 +02:00
-rm -rf dist/vim$( VERSION) src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$( VIMRTDIR)
tar cf - \
$( SRC_ALL) \
$( SRC_DOS) \
2022-07-02 17:58:23 +01:00
$( SRC_DOS_BIN) \
2010-05-24 21:34:22 +02:00
$( SRC_AMI_DOS) \
$( SRC_DOS_UNIX) \
2024-03-28 09:19:44 +00:00
runtime/doc/uganda.nsis.??? \
2016-01-02 15:44:32 +01:00
nsis/gvim_version.nsh \
2010-05-24 21:34:22 +02:00
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
mv dist/vim/$( VIMRTDIR) /runtime/* dist/vim/$( VIMRTDIR)
rmdir dist/vim/$( VIMRTDIR) /runtime
cd dist && zip -9 -rD -z vim$( VERSION) src.zip vim <$( COMMENT_SRC)
2024-03-28 09:19:44 +00:00
runtime/doc/uganda.nsis.txt : runtime /doc /uganda .???
2010-05-24 21:34:22 +02:00
cd runtime/doc && $( MAKE) uganda.nsis.txt
2016-01-02 15:44:32 +01:00
nsis/gvim_version.nsh : Makefile
echo "# Generated from Makefile: define the version numbers" > $@
echo "!ifndef __GVIM_VER__NSH__" >> $@
echo "!define __GVIM_VER__NSH__" >> $@
echo " !define VER_MAJOR $( MAJOR) " >> $@
echo " !define VER_MINOR $( MINOR) " >> $@
echo "!endif" >> $@
2016-01-02 15:00:30 +01:00
dosrt : dist dist /$( COMMENT_RT ) dosrt_files
2004-06-13 20:20:40 +00:00
-rm -rf dist/vim$( VERSION) rt.zip
cd dist && zip -9 -rD -z vim$( VERSION) rt.zip vim <$( COMMENT_RT)
2010-05-24 21:34:22 +02:00
# Split in two parts to avoid an "argument list too long" error.
2016-01-02 15:00:30 +01:00
# We no longer convert the files from unix to dos fileformat.
2024-03-28 09:19:44 +00:00
dosrt_files : dist prepare
2004-06-13 20:20:40 +00:00
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$( VIMRTDIR)
2010-05-15 15:41:59 +02:00
mkdir dist/vim/$( VIMRTDIR) /lang
cd src && MAKEMO = yes $( MAKE) languages
2004-06-13 20:20:40 +00:00
tar cf - \
$( RT_ALL) \
2005-11-23 21:25:05 +00:00
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
tar cf - \
2004-06-13 20:20:40 +00:00
$( RT_SCRIPTS) \
$( RT_DOS) \
$( RT_NO_UNIX) \
$( RT_AMI_DOS) \
$( LANG_GEN) \
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
tar cf - \
$( RT_UNIX_DOS_BIN) \
$( RT_ALL_BIN) \
$( RT_DOS_BIN) \
2005-04-17 20:18:43 +00:00
$( LANG_GEN_BIN) \
2004-06-13 20:20:40 +00:00
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
2016-03-19 16:09:42 +01:00
-rm $( IN_README_DIR)
2004-06-13 20:20:40 +00:00
mv dist/vim/$( VIMRTDIR) /runtime/* dist/vim/$( VIMRTDIR)
rmdir dist/vim/$( VIMRTDIR) /runtime
2019-01-10 21:51:48 +01:00
# Add the message translations. Trick: skip ja.mo/ja.euc-jp.mo and use
# ja.sjis.mo instead. Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo,
# sk.mo / sk.cp1250.mo, zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and
# ru.mo / ru.cp1251.mo.
2010-05-15 15:41:59 +02:00
for i in $( LANG_DOS) ; do \
2019-01-10 21:51:48 +01:00
if test " $$ i " != "src/po/ja.mo" -a " $$ i " != "src/po/ja.euc-jp.mo" -a " $$ i " != "src/po/pl.mo" -a " $$ i " != "src/po/cs.mo" -a " $$ i " != "src/po/sk.mo" -a " $$ i " != "src/po/zh_CN.mo" -a " $$ i " != "src/po/ru.mo" -a " $$ i " != "src/po/uk.mo" ; then \
2010-05-15 15:41:59 +02:00
n = ` echo $$ i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+" ` ; \
mkdir dist/vim/$( VIMRTDIR) /lang/$$ n; \
mkdir dist/vim/$( VIMRTDIR) /lang/$$ n/LC_MESSAGES; \
cp $$ i dist/vim/$( VIMRTDIR) /lang/$$ n/LC_MESSAGES/vim.mo; \
fi \
done
2017-10-14 19:05:44 +02:00
mkdir dist/vim/$( VIMRTDIR) /gettext32
cp gettext32/libintl-8.dll dist/vim/$( VIMRTDIR) /gettext32/
cp gettext32/libiconv-2.dll dist/vim/$( VIMRTDIR) /gettext32/
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$( VIMRTDIR) /gettext32/
mkdir dist/vim/$( VIMRTDIR) /gettext64
cp gettext64/libintl-8.dll dist/vim/$( VIMRTDIR) /gettext64/
cp gettext64/libiconv-2.dll dist/vim/$( VIMRTDIR) /gettext64/
2004-06-13 20:20:40 +00:00
# Used before uploading. Don't delete the AAPDIR/sign files!
2016-01-02 15:00:30 +01:00
runtime_unix2dos : dosrt_files
2004-06-13 20:20:40 +00:00
-rm -rf ` find runtime/dos -type f -print | sed -e /AAPDIR/d`
cd dist/vim/$( VIMRTDIR) ; tar cf - * \
| ( cd ../../../runtime/dos; tar xf -)
2016-08-28 18:47:14 +02:00
dosbin : prepare dosbin_gvim dosbin_w 32 dosbin_ole $( DOSBIN_S )
2016-08-28 20:14:38 +02:00
-rm $( IN_README_DIR)
2004-06-13 20:20:40 +00:00
# make Win32 gvim
2024-03-28 09:19:44 +00:00
dosbin_gvim : dist dist /$( COMMENT_GVIM )
2004-06-13 20:20:40 +00:00
-rm -rf dist/gvim$( VERSION) .zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$( VIMRTDIR)
tar cf - \
$( BIN_DOS) \
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
cp gvim.exe dist/vim/$( VIMRTDIR) /gvim.exe
2016-08-28 18:47:14 +02:00
cp teew32.exe dist/vim/$( VIMRTDIR) /tee.exe
2004-06-13 20:20:40 +00:00
cp xxdw32.exe dist/vim/$( VIMRTDIR) /xxd.exe
cp vimrun.exe dist/vim/$( VIMRTDIR) /vimrun.exe
cp installw32.exe dist/vim/$( VIMRTDIR) /install.exe
2019-09-27 13:08:36 +02:00
cp uninstallw32.exe dist/vim/$( VIMRTDIR) /uninstall.exe
2017-10-14 19:05:44 +02:00
mkdir dist/vim/$( VIMRTDIR) /GvimExt32
cp gvimext.dll dist/vim/$( VIMRTDIR) /GvimExt32/gvimext.dll
mkdir dist/vim/$( VIMRTDIR) /GvimExt64
cp gvimext64.dll dist/vim/$( VIMRTDIR) /GvimExt64/gvimext.dll
2004-06-13 20:20:40 +00:00
cd dist && zip -9 -rD -z gvim$( VERSION) .zip vim <$( COMMENT_GVIM)
2006-03-06 23:29:24 +00:00
cp gvim.pdb dist/gvim$( VERSION) .pdb
2004-06-13 20:20:40 +00:00
# make Win32 console
2024-03-28 09:19:44 +00:00
dosbin_w32 : dist dist /$( COMMENT_W 32)
2004-06-13 20:20:40 +00:00
-rm -rf dist/vim$( VERSION) w32.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$( VIMRTDIR)
tar cf - \
$( BIN_DOS) \
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
cp vimw32.exe dist/vim/$( VIMRTDIR) /vim.exe
2016-08-28 18:47:14 +02:00
cp teew32.exe dist/vim/$( VIMRTDIR) /tee.exe
2004-06-13 20:20:40 +00:00
cp xxdw32.exe dist/vim/$( VIMRTDIR) /xxd.exe
cp installw32.exe dist/vim/$( VIMRTDIR) /install.exe
2019-09-27 13:08:36 +02:00
cp uninstallw32.exe dist/vim/$( VIMRTDIR) /uninstall.exe
2004-06-13 20:20:40 +00:00
cd dist && zip -9 -rD -z vim$( VERSION) w32.zip vim <$( COMMENT_W32)
2006-03-06 23:29:24 +00:00
cp vimw32.pdb dist/vim$( VERSION) w32.pdb
2004-06-13 20:20:40 +00:00
# make Win32 gvim with OLE
2024-03-28 09:19:44 +00:00
dosbin_ole : dist dist /$( COMMENT_OLE )
2004-06-13 20:20:40 +00:00
-rm -rf dist/gvim$( VERSION) ole.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$( VIMRTDIR)
tar cf - \
$( BIN_DOS) \
| ( cd dist/vim/$( VIMRTDIR) ; tar xf -)
cp gvim_ole.exe dist/vim/$( VIMRTDIR) /gvim.exe
2016-08-28 18:47:14 +02:00
cp teew32.exe dist/vim/$( VIMRTDIR) /tee.exe
2004-06-13 20:20:40 +00:00
cp xxdw32.exe dist/vim/$( VIMRTDIR) /xxd.exe
cp vimrun.exe dist/vim/$( VIMRTDIR) /vimrun.exe
cp installw32.exe dist/vim/$( VIMRTDIR) /install.exe
2019-09-27 13:08:36 +02:00
cp uninstallw32.exe dist/vim/$( VIMRTDIR) /uninstall.exe
2004-06-13 20:20:40 +00:00
cp gvimext.dll dist/vim/$( VIMRTDIR) /gvimext.dll
cp README_ole.txt dist/vim/$( VIMRTDIR)
cd dist && zip -9 -rD -z gvim$( VERSION) ole.zip vim <$( COMMENT_OLE)
2006-03-06 23:29:24 +00:00
cp gvim_ole.pdb dist/gvim$( VERSION) ole.pdb
2004-06-13 20:20:40 +00:00
html : dist dist /$( COMMENT_HTML )
-rm -rf dist/vim$( VERSION) html.zip
cd runtime/doc && zip -9 -z ../../dist/vim$( VERSION) html.zip *.html <../../dist/$( COMMENT_HTML)
farsi : dist dist /$( COMMENT_FARSI )
-rm -f dist/farsi$( VERSION) .zip
zip -9 -rD -z dist/farsi$( VERSION) .zip farsi < dist/$( COMMENT_FARSI)