RestorerZ | 2730d38 | 2025-01-17 14:04:44 +0100 | [diff] [blame] | 1 | # |
| 2 | # Makefile for UNIX-like for create self-installing exe of Vim. |
| 3 | # 15/12/2024, Restorer restorer@mail2k.ru |
| 4 | # |
| 5 | |
| 6 | |
| 7 | .SUFFIXES: |
| 8 | .PHONY: all makeinst prepare rename clean |
| 9 | |
| 10 | ifdef VIMSRC |
| 11 | MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)" |
| 12 | endif |
| 13 | |
| 14 | ifdef VIMRT |
| 15 | MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)" |
| 16 | endif |
| 17 | |
| 18 | ifdef VIMTOOLS |
| 19 | MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)" |
| 20 | endif |
| 21 | |
| 22 | ifdef GETTEXT |
| 23 | MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)" |
| 24 | endif |
| 25 | |
| 26 | ifdef HAVE_UPX |
| 27 | MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX) |
| 28 | endif |
| 29 | |
| 30 | ifdef HAVE_NLS |
| 31 | MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS) |
| 32 | endif |
| 33 | |
| 34 | ifdef HAVE_MULTI_LANG |
| 35 | MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG) |
| 36 | endif |
| 37 | |
| 38 | ifdef WIN64 |
| 39 | MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64) |
| 40 | endif |
| 41 | |
| 42 | ifdef INCLUDE_LIBGCC |
| 43 | MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC) |
| 44 | endif |
| 45 | |
| 46 | ifdef X |
| 47 | XX := -X"$(X:;=" -X")" |
| 48 | endif |
| 49 | |
| 50 | MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \ |
| 51 | awk '{ printf "%d",$$3 }' |
| 52 | MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \ |
| 53 | awk '{ printf "%d",$$3 }' |
| 54 | PATCH != awk '/number below this line/,/,/' ../src/version.c | \ |
| 55 | awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g' |
| 56 | |
| 57 | MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS) |
| 58 | |
| 59 | all: makeinst |
| 60 | |
| 61 | makeinst: prepare |
| 62 | makensis $(MKNSISFLAGS) gvim.nsi $(XX) |
| 63 | |
| 64 | prepare: unzipicons gvim_version.nsh license rename |
| 65 | |
| 66 | unzipicons: icons.zip |
| 67 | if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi |
| 68 | unzip $? |
| 69 | |
| 70 | gvim_version.nsh: Makefile |
| 71 | echo "# Generated from Makefile: define the version numbers" > $@ |
| 72 | echo "!ifndef __GVIM_VER__NSH__" >> $@ |
| 73 | echo "!define __GVIM_VER__NSH__" >> $@ |
| 74 | echo "!define VER_MAJOR $(MAJOR)" >> $@ |
| 75 | echo "!define VER_MINOR $(MINOR)" >> $@ |
| 76 | echo "!define PATCHLEVEL $(PATCH)" >> $@ |
| 77 | echo "!endif" >> $@ |
| 78 | |
| 79 | license: ../lang/LICENSE.*.txt ../LICENSE |
| 80 | for lic in $? ; do \ |
| 81 | bn=`basename $$lic .txt` ; \ |
| 82 | awk 'sub("$$", "\r")' < $$lic | \ |
| 83 | iconv -f UTF-8 -t UTF-16 > ../lang/$$bn.nsis.txt ; \ |
| 84 | done |
| 85 | |
| 86 | rename: |
| 87 | ../tools/rename.bat "$(SRC)" "$(DST)" |
| 88 | |
| 89 | clean: |
| 90 | if test -f gvim_version.nsh ; then rm -f gvim_version.nsh ; fi |
| 91 | rm -f ../lang/LICENSE*.nsis.txt |
| 92 | if test -d icons ; then rm -rf icons ; fi |
| 93 | if test -f gvim??.exe ; then rm -f gvim??.exe ; fi |
| 94 | |
| 95 | # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0 ft=make: |