| # |
| # Makefile for UNIX-like for create self-installing exe of Vim. |
| # 15/12/2024, Restorer restorer@mail2k.ru |
| # |
| |
| |
| .SUFFIXES: |
| .PHONY: all makeinst prepare rename clean |
| |
| ifdef VIMSRC |
| MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)" |
| endif |
| |
| ifdef VIMRT |
| MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)" |
| endif |
| |
| ifdef VIMTOOLS |
| MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)" |
| endif |
| |
| ifdef GETTEXT |
| MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)" |
| endif |
| |
| ifdef HAVE_UPX |
| MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX) |
| endif |
| |
| ifdef HAVE_NLS |
| MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS) |
| endif |
| |
| ifdef HAVE_MULTI_LANG |
| MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG) |
| endif |
| |
| ifdef WIN64 |
| MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64) |
| endif |
| |
| ifdef INCLUDE_LIBGCC |
| MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC) |
| endif |
| |
| ifdef X |
| XX := -X"$(X:;=" -X")" |
| endif |
| |
| MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \ |
| awk '{ printf "%d",$$3 }' |
| MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \ |
| awk '{ printf "%d",$$3 }' |
| PATCH != awk '/number below this line/,/,/' ../src/version.c | \ |
| awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g' |
| |
| MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS) |
| |
| all: makeinst |
| |
| makeinst: prepare |
| makensis $(MKNSISFLAGS) gvim.nsi $(XX) |
| |
| prepare: unzipicons gvim_version.nsh license rename |
| |
| unzipicons: icons.zip |
| if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi |
| unzip $? |
| |
| 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 "!define PATCHLEVEL $(PATCH)" >> $@ |
| echo "!endif" >> $@ |
| |
| license: ../lang/LICENSE.*.txt ../LICENSE |
| for lic in $? ; do \ |
| bn=`basename $$lic .txt` ; \ |
| awk 'sub("$$", "\r")' < $$lic | \ |
| iconv -f UTF-8 -t UTF-16 > ../lang/$$bn.nsis.txt ; \ |
| done |
| |
| rename: |
| ../tools/rename.bat "$(SRC)" "$(DST)" |
| |
| clean: |
| if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi |
| rm -f ../lang/LICENSE*.nsis.txt |
| if test -d icons ; then rm -rf icons ; fi |
| if test -f gvim??.exe ; then rm -f gvim??.exe ; fi |
| |
| # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: |