blob: fdbc12012fbe45df73b2e4e32b74b5b129b5d5a3 [file] [log] [blame]
RestorerZ2730d382025-01-17 14:04:44 +01001#
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
10ifdef VIMSRC
11MKNSISFLAGS := -D"VIMSRC=$(VIMSRC)"
12endif
13
14ifdef VIMRT
15MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMRT=$(VIMRT)"
16endif
17
18ifdef VIMTOOLS
19MKNSISFLAGS := $(MKNSISFLAGS) -D"VIMTOOLS=$(VIMTOOLS)"
20endif
21
22ifdef GETTEXT
23MKNSISFLAGS := $(MKNSISFLAGS) -D"GETTEXT=$(GETTEXT)"
24endif
25
26ifdef HAVE_UPX
27MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_UPX=$(HAVE_UPX)
28endif
29
30ifdef HAVE_NLS
31MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_NLS=$(HAVE_NLS)
32endif
33
34ifdef HAVE_MULTI_LANG
35MKNSISFLAGS := $(MKNSISFLAGS) -DHAVE_MULTI_LANG=$(HAVE_MULTI_LANG)
36endif
37
38ifdef WIN64
39MKNSISFLAGS := $(MKNSISFLAGS) -DWIN64=$(WIN64)
40endif
41
42ifdef INCLUDE_LIBGCC
43MKNSISFLAGS := $(MKNSISFLAGS) -DINCLUDE_LIBGCC=$(INCLUDE_LIBGCC)
44endif
45
46ifdef X
47XX := -X"$(X:;=" -X")"
48endif
49
50MAJOR != grep -E 'VIM_VERSION_MAJOR\s{2,}' ../src/version.h | \
51 awk '{ printf "%d",$$3 }'
52MINOR != grep -E 'VIM_VERSION_MINOR\s{2,}' ../src/version.h | \
53 awk '{ printf "%d",$$3 }'
54PATCH != awk '/number below this line/,/,/' ../src/version.c | \
55 awk 'NR == 3 { printf "%04d",$$1 }' | sed -e 's/[ ,]//g'
56
57MKNSISFLAGS := -INPUTCHARSET UTF8 $(MKNSISFLAGS)
58
59all: makeinst
60
61makeinst: prepare
62 makensis $(MKNSISFLAGS) gvim.nsi $(XX)
63
64prepare: unzipicons gvim_version.nsh license rename
65
66unzipicons: icons.zip
67 if test -d `basename $? .zip` ; then rm -rf `basename $? .zip` ; fi
68 unzip $?
69
70gvim_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
79license: ../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
86rename:
87 ../tools/rename.bat "$(SRC)" "$(DST)"
88
89clean:
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: