Mercurial > vim
annotate src/Make_cyg_ming.mak @ 7712:bce3b5ddb393 v7.4.1154
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 23 19:46:28 2016 +0100
patch 7.4.1154
Problem: No support for JSON.
Solution: Add jsonencode() and jsondecode(). Also add v:false, v:true,
v:null and v:none.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 23 Jan 2016 20:00:04 +0100 |
parents | 854302b82ff9 |
children | 6069f43cea4e |
rev | line source |
---|---|
6326 | 1 # Makefile for VIM on Win32 (Cygwin and MinGW) |
2 # | |
3 # This file contains common part for Cygwin and MinGW and it is included | |
4 # from Make_cyg.mak and Make_ming.mak. | |
5 # | |
6 # Info at http://www.mingw.org | |
7 # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net | |
8 # Also requires GNU make, which you can download from the same sites. | |
9 # Get missing libraries from http://gnuwin32.sf.net. | |
10 # | |
11 # Tested on Win32 NT 4 and Win95. | |
12 # | |
13 # To make everything, just 'make -f Make_ming.mak'. | |
14 # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'. | |
15 # After a run, you can 'make -f Make_ming.mak clean' to clean up. | |
16 # | |
17 # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think | |
18 # it's just run out of memory or something. Run again, and it will continue | |
19 # with 'xxd'. | |
20 # | |
21 # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs, | |
22 # using the excellent UPX compressor: | |
23 # http://upx.sourceforge.net/ | |
24 # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs: | |
25 # http://www.matcode.com/mpress.htm | |
26 # | |
27 # Maintained by Ron Aaron <ronaharon@yahoo.com> et al. | |
28 # Updated 2014 Oct 13. | |
29 | |
30 #>>>>> choose options: | |
31 # set to yes for a debug build | |
32 DEBUG=no | |
33 # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization | |
34 OPTIMIZE=MAXSPEED | |
35 # set to yes to make gvim, no for vim | |
36 GUI=yes | |
37 # set to yes if you want to use DirectWrite (DirectX) | |
38 # MinGW-w64 is needed, and ARCH should be set to i686 or x86-64. | |
39 DIRECTX=no | |
40 # FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE] | |
41 # Set to TINY to make minimal version (few features). | |
7699
854302b82ff9
commit https://github.com/vim/vim/commit/e5f2be61595fbbba77261f3bf1e032fe03a1966d
Christian Brabandt <cb@256bit.org>
parents:
7695
diff
changeset
|
42 FEATURES=HUGE |
6326 | 43 # Set to one of i386, i486, i586, i686 as the minimum target processor. |
44 # For amd64/x64 architecture set ARCH=x86-64 . | |
45 ARCH=i386 | |
46 # Set to yes to cross-compile from unix; no=native Windows (and Cygwin). | |
47 CROSS=no | |
48 # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'. | |
49 #ICONV="." | |
50 ICONV=yes | |
51 GETTEXT=yes | |
52 # Set to yes to include multibyte support. | |
53 MBYTE=yes | |
54 # Set to yes to include IME support. | |
55 IME=yes | |
56 DYNAMIC_IME=yes | |
57 # Set to yes to enable writing a postscript file with :hardcopy. | |
58 POSTSCRIPT=no | |
59 # Set to yes to enable OLE support. | |
60 OLE=no | |
61 # Set the default $(WINVER) to make it work with pre-Win2k. | |
62 ifndef WINVER | |
63 WINVER = 0x0500 | |
64 endif | |
65 # Set to yes to enable Cscope support. | |
66 CSCOPE=yes | |
67 # Set to yes to enable Netbeans support. | |
68 NETBEANS=$(GUI) | |
69 | |
70 | |
71 # Link against the shared version of libstdc++ by default. Set | |
72 # STATIC_STDCPLUS to "yes" to link against static version instead. | |
73 ifndef STATIC_STDCPLUS | |
74 STATIC_STDCPLUS=no | |
75 endif | |
76 | |
77 # If the user doesn't want gettext, undefine it. | |
78 ifeq (no, $(GETTEXT)) | |
79 GETTEXT= | |
80 endif | |
81 # Added by E.F. Amatria <eferna1@platea.ptic.mec.es> 2001 Feb 23 | |
82 # Uncomment the first line and one of the following three if you want Native Language | |
83 # Support. You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by | |
84 # Franco Bez <franco.bez@gmx.de>. It may be found at | |
85 # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html | |
86 # Tested with mingw32 with GCC-2.95.2 on Win98 | |
87 # Updated 2001 Jun 9 | |
88 #GETTEXT=c:/gettext.win32.msvcrt | |
89 #STATIC_GETTEXT=USE_STATIC_GETTEXT | |
90 #DYNAMIC_GETTEXT=USE_GETTEXT_DLL | |
91 #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL | |
92 SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o | |
93 # Alternatively, if you uncomment the two following lines, you get a "safe" version | |
94 # without linking the safe_gettext_dll.o object file. | |
95 #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT | |
96 #GETTEXT_DYNAMIC=gnu_gettext.dll | |
97 INTLPATH=$(GETTEXT)/lib/mingw32 | |
98 INTLLIB=gnu_gettext | |
99 | |
100 # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext | |
101 # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/ | |
102 # uncomment the following, but I can't build a static version with them, ?-(| | |
103 #GETTEXT=c:/gettext-0.10.37-20010430 | |
104 #STATIC_GETTEXT=USE_STATIC_GETTEXT | |
105 #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT | |
106 #INTLPATH=$(GETTEXT)/lib | |
107 #INTLLIB=intl | |
108 | |
109 # Perl interface: | |
110 # PERL=[Path to Perl directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
111 # DYNAMIC_PERL=yes (to load the Perl DLL dynamically) | |
112 # PERL_VER=[Perl version, eg 56, 58, 510] (default is 56) | |
113 ifdef PERL | |
114 ifndef PERL_VER | |
115 PERL_VER=56 | |
116 endif | |
117 ifndef DYNAMIC_PERL | |
118 DYNAMIC_PERL=yes | |
119 endif | |
120 # on Linux, for cross-compile, it's here: | |
121 #PERLLIB=/home/ron/ActivePerl/lib | |
122 # on NT, it's here: | |
123 PERLEXE=$(PERL)/bin/perl | |
124 PERLLIB=$(PERL)/lib | |
125 PERLLIBS=$(PERLLIB)/Core | |
126 ifeq ($(UNDER_CYGWIN),yes) | |
127 PERLTYPEMAP:=$(shell cygpath -m $(PERLLIB)/ExtUtils/typemap) | |
128 XSUBPPTRY:=$(shell cygpath -m $(PERLLIB)/ExtUtils/xsubpp) | |
129 else | |
130 PERLTYPEMAP=$(PERLLIB)/ExtUtils/typemap | |
131 XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp | |
132 endif | |
133 XSUBPP_EXISTS=$(shell $(PERLEXE) -e "print 1 unless -e '$(XSUBPPTRY)'") | |
134 ifeq "$(XSUBPP_EXISTS)" "" | |
6349 | 135 XSUBPP=$(PERLEXE) $(XSUBPPTRY) |
6326 | 136 else |
137 XSUBPP=xsubpp | |
138 endif | |
139 endif | |
140 | |
141 # Lua interface: | |
142 # LUA=[Path to Lua directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
143 # DYNAMIC_LUA=yes (to load the Lua DLL dynamically) | |
144 # LUA_VER=[Lua version, eg 51, 52] (default is 51) | |
145 ifdef LUA | |
146 ifndef DYNAMIC_LUA | |
147 DYNAMIC_LUA=yes | |
148 endif | |
149 | |
150 ifndef LUA_VER | |
151 LUA_VER=51 | |
152 endif | |
153 | |
154 ifeq (no,$(DYNAMIC_LUA)) | |
155 LUA_LIB = -L$(LUA)/lib -llua | |
156 endif | |
157 | |
158 endif | |
159 | |
160 # MzScheme interface: | |
161 # MZSCHEME=[Path to MzScheme directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
162 # DYNAMIC_MZSCHEME=yes (to load the MzScheme DLL dynamically) | |
163 # MZSCHEME_VER=[MzScheme version] (default is 205_000) | |
164 # MZSCHEME_DEBUG=no | |
165 ifdef MZSCHEME | |
166 ifndef DYNAMIC_MZSCHEME | |
167 DYNAMIC_MZSCHEME=yes | |
168 endif | |
169 | |
170 ifndef MZSCHEME_VER | |
171 MZSCHEME_VER=205_000 | |
172 endif | |
173 | |
174 # for version 4.x we need to generate byte-code for Scheme base | |
175 ifndef MZSCHEME_GENERATE_BASE | |
176 MZSCHEME_GENERATE_BASE=no | |
177 endif | |
178 | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
179 ifneq ($(wildcard $(MZSCHEME)/lib/msvc/libmzsch$(MZSCHEME_VER).lib),) |
6326 | 180 MZSCHEME_MAIN_LIB=mzsch |
181 else | |
182 MZSCHEME_MAIN_LIB=racket | |
183 endif | |
184 | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
185 ifndef MZSCHEME_PRECISE_GC |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
186 MZSCHEME_PRECISE_GC=no |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
187 ifneq ($(wildcard $(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll),) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
188 ifeq ($(wildcard $(MZSCHEME)\lib\libmzgc$(MZSCHEME_VER).dll),) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
189 MZSCHEME_PRECISE_GC=yes |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
190 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
191 else |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
192 ifneq ($(wildcard $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib),) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
193 ifeq ($(wildcard $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib),) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
194 MZSCHEME_PRECISE_GC=yes |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
195 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
196 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
197 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
198 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
199 |
6326 | 200 ifeq (no,$(DYNAMIC_MZSCHEME)) |
201 ifeq (yes,$(MZSCHEME_PRECISE_GC)) | |
202 MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) | |
203 else | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
204 MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) |
6326 | 205 endif |
206 # the modern MinGW can dynamically link to dlls directly. | |
207 # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll | |
208 ifndef MZSCHEME_DLLS | |
209 MZSCHEME_DLLS=$(MZSCHEME) | |
210 endif | |
211 MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib | |
212 endif | |
213 | |
214 endif | |
215 | |
216 # Python interface: | |
217 # PYTHON=[Path to Python directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
218 # DYNAMIC_PYTHON=yes (to load the Python DLL dynamically) | |
219 # PYTHON_VER=[Python version, eg 22, 23, ..., 27] (default is 22) | |
220 ifdef PYTHON | |
221 ifndef DYNAMIC_PYTHON | |
222 DYNAMIC_PYTHON=yes | |
223 endif | |
224 | |
225 ifndef PYTHON_VER | |
7456
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
226 PYTHON_VER=27 |
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
227 endif |
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
228 ifndef DYNAMIC_PYTHON_DLL |
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
229 DYNAMIC_PYTHON_DLL=python$(PYTHON_VER).dll |
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
230 endif |
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
231 ifdef PYTHON_HOME |
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
232 PYTHON_HOME_DEF=-DPYTHON_HOME=\"$(PYTHON_HOME)\" |
6326 | 233 endif |
234 | |
235 ifeq (no,$(DYNAMIC_PYTHON)) | |
236 PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER) | |
237 endif | |
238 # my include files are in 'win32inc' on Linux, and 'include' in the standard | |
239 # NT distro (ActiveState) | |
7456
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
240 ifndef PYTHONINC |
6326 | 241 ifeq ($(CROSS),no) |
242 PYTHONINC=-I $(PYTHON)/include | |
243 else | |
244 PYTHONINC=-I $(PYTHON)/win32inc | |
245 endif | |
246 endif | |
7456
2c5e813e8852
commit https://github.com/vim/vim/commit/3c6f92e52ef15df4aa248ce00eacd65928044210
Christian Brabandt <cb@256bit.org>
parents:
6872
diff
changeset
|
247 endif |
6326 | 248 |
249 # Python3 interface: | |
250 # PYTHON3=[Path to Python3 directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
251 # DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically) | |
252 # PYTHON3_VER=[Python3 version, eg 31, 32] (default is 31) | |
253 ifdef PYTHON3 | |
254 ifndef DYNAMIC_PYTHON3 | |
255 DYNAMIC_PYTHON3=yes | |
256 endif | |
257 | |
258 ifndef PYTHON3_VER | |
259 PYTHON3_VER=31 | |
260 endif | |
7695
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
261 ifndef DYNAMIC_PYTHON3_DLL |
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
262 DYNAMIC_PYTHON3_DLL=python$(PYTHON3_VER).dll |
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
263 endif |
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
264 ifdef PYTHON3_HOME |
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
265 PYTHON3_HOME_DEF=-DPYTHON3_HOME=\"$(PYTHON3_HOME)\" |
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
266 endif |
6326 | 267 |
268 ifeq (no,$(DYNAMIC_PYTHON3)) | |
7695
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
269 PYTHON3LIB=-L$(PYTHON3)/libs -lpython$(PYTHON3_VER) |
6326 | 270 endif |
271 | |
7695
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
272 ifndef PYTHON3INC |
6326 | 273 ifeq ($(CROSS),no) |
274 PYTHON3INC=-I $(PYTHON3)/include | |
275 else | |
276 PYTHON3INC=-I $(PYTHON3)/win32inc | |
277 endif | |
278 endif | |
7695
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
279 endif |
6326 | 280 |
281 # TCL interface: | |
282 # TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
283 # DYNAMIC_TCL=yes (to load the TCL DLL dynamically) | |
284 # TCL_VER=[TCL version, eg 83, 84] (default is 83) | |
7523
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
285 # TCL_VER_LONG=[Tcl version, eg 8.3] (default is 8.3) |
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
286 # You must set TCL_VER_LONG when you set TCL_VER. |
6326 | 287 ifdef TCL |
288 ifndef DYNAMIC_TCL | |
289 DYNAMIC_TCL=yes | |
290 endif | |
291 ifndef TCL_VER | |
292 TCL_VER = 83 | |
293 endif | |
7523
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
294 ifndef TCL_VER_LONG |
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
295 TCL_VER_LONG = 8.3 |
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
296 endif |
6326 | 297 TCLINC += -I$(TCL)/include |
298 endif | |
299 | |
300 | |
301 # Ruby interface: | |
302 # RUBY=[Path to Ruby directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
303 # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) | |
304 # RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18) | |
305 # RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8) | |
306 # You must set RUBY_VER_LONG when changing RUBY_VER. | |
307 # RUBY_API_VER is derived from RUBY_VER_LONG. | |
308 # Note: If you use Ruby 1.9.3, set as follows: | |
309 # RUBY_VER=19 | |
310 # RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) | |
311 ifdef RUBY | |
312 ifndef DYNAMIC_RUBY | |
313 DYNAMIC_RUBY=yes | |
314 endif | |
315 # Set default value | |
316 ifndef RUBY_VER | |
317 RUBY_VER = 18 | |
318 endif | |
319 ifndef RUBY_VER_LONG | |
320 RUBY_VER_LONG = 1.8 | |
321 endif | |
322 ifndef RUBY_API_VER | |
323 RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG)) | |
324 endif | |
325 | |
326 ifndef RUBY_PLATFORM | |
327 ifeq ($(RUBY_VER), 16) | |
328 RUBY_PLATFORM = i586-mswin32 | |
329 else | |
330 ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) | |
331 RUBY_PLATFORM = i386-mingw32 | |
332 else | |
333 ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),) | |
334 RUBY_PLATFORM = x64-mingw32 | |
335 else | |
336 RUBY_PLATFORM = i386-mswin32 | |
337 endif | |
338 endif | |
339 endif | |
340 endif | |
341 | |
342 ifndef RUBY_INSTALL_NAME | |
343 ifeq ($(RUBY_VER), 16) | |
344 RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER) | |
345 else | |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
346 ifndef RUBY_MSVCRT_NAME |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
347 # Base name of msvcrXX.dll which is used by ruby's dll. |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
348 RUBY_MSVCRT_NAME = msvcrt |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
349 endif |
6326 | 350 ifeq ($(ARCH),x86-64) |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
351 RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) |
6326 | 352 else |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
353 RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) |
6326 | 354 endif |
355 endif | |
356 endif | |
357 | |
358 ifeq (19, $(word 1,$(sort 19 $(RUBY_VER)))) | |
359 RUBY_19_OR_LATER = 1 | |
360 endif | |
361 | |
362 RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) | |
363 ifdef RUBY_19_OR_LATER | |
364 RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) | |
365 endif | |
366 ifeq (no, $(DYNAMIC_RUBY)) | |
367 RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) | |
368 endif | |
369 | |
370 endif # RUBY | |
371 | |
372 # See feature.h for a list of options. | |
373 # Any other defines can be included here. | |
374 DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD | |
375 DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ | |
376 -DHAVE_PATHDEF -DFEAT_$(FEATURES) | |
377 ifeq ($(ARCH),x86-64) | |
378 DEFINES+=-DMS_WIN64 | |
379 endif | |
380 ifeq ($(CROSS),yes) | |
381 # cross-compiler prefix: | |
382 ifndef CROSS_COMPILE | |
383 CROSS_COMPILE = i586-pc-mingw32msvc- | |
384 endif | |
385 DEL = rm | |
386 MKDIR = mkdir -p | |
387 DIRSLASH = / | |
388 else | |
389 # normal (Windows) compilation: | |
390 ifndef CROSS_COMPILE | |
391 CROSS_COMPILE = | |
392 endif | |
393 ifneq (sh.exe, $(SHELL)) | |
394 DEL = rm | |
395 MKDIR = mkdir -p | |
396 DIRSLASH = / | |
397 else | |
398 DEL = del | |
399 MKDIR = mkdir | |
400 DIRSLASH = \\ | |
401 endif | |
402 endif | |
403 CC := $(CROSS_COMPILE)gcc | |
404 CXX := $(CROSS_COMPILE)g++ | |
6436 | 405 ifeq ($(UNDER_CYGWIN),yes) |
6326 | 406 WINDRES := $(CROSS_COMPILE)windres |
6436 | 407 else |
408 WINDRES := windres | |
409 endif | |
6326 | 410 WINDRES_CC = $(CC) |
411 | |
412 #>>>>> end of choices | |
413 ########################################################################### | |
414 | |
415 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall | |
416 WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED | |
417 EXTRA_LIBS = | |
418 | |
419 ifdef GETTEXT | |
420 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H | |
421 GETTEXTINCLUDE = $(GETTEXT)/include | |
422 GETTEXTLIB = $(INTLPATH) | |
423 ifeq (yes, $(GETTEXT)) | |
424 DEFINES += -DDYNAMIC_GETTEXT | |
425 else | |
426 ifdef DYNAMIC_GETTEXT | |
427 DEFINES += -D$(DYNAMIC_GETTEXT) | |
428 ifdef GETTEXT_DYNAMIC | |
429 DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\" | |
430 endif | |
431 endif | |
432 endif | |
433 endif | |
434 | |
435 ifdef PERL | |
6872 | 436 CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS |
6326 | 437 ifeq (yes, $(DYNAMIC_PERL)) |
438 CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" | |
439 EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) | |
440 endif | |
441 endif | |
442 | |
443 ifdef LUA | |
444 CFLAGS += -I$(LUA)/include -I$(LUA) -DFEAT_LUA | |
445 ifeq (yes, $(DYNAMIC_LUA)) | |
446 CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" | |
447 endif | |
448 endif | |
449 | |
450 ifdef MZSCHEME | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
451 ifndef MZSCHEME_COLLECTS |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
452 MZSCHEME_COLLECTS=$(MZSCHEME)/collects |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
453 ifeq (yes, $(UNDER_CYGWIN)) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
454 MZSCHEME_COLLECTS:=$(shell cygpath -m $(MZSCHEME_COLLECTS) | sed -e 's/ /\\ /g') |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
455 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
456 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
457 CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME_COLLECTS)\" |
6326 | 458 ifeq (yes, $(DYNAMIC_MZSCHEME)) |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
459 ifeq (yes, $(MZSCHEME_PRECISE_GC)) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
460 # Precise GC does not use separate dll |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
461 CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
462 else |
6326 | 463 CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" |
464 endif | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
465 endif |
6326 | 466 ifeq (yes, "$(MZSCHEME_DEBUG)") |
467 CFLAGS += -DMZSCHEME_FORCE_GC | |
468 endif | |
469 endif | |
470 | |
471 ifdef RUBY | |
472 CFLAGS += -DFEAT_RUBY $(RUBYINC) | |
473 ifeq (yes, $(DYNAMIC_RUBY)) | |
474 CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" | |
475 CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER) | |
476 endif | |
477 ifneq ($(findstring w64-mingw32,$(CC)),) | |
478 # A workaround for MinGW-w64 | |
479 CFLAGS += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE | |
480 endif | |
481 endif | |
482 | |
483 ifdef PYTHON | |
484 CFLAGS += -DFEAT_PYTHON | |
485 ifeq (yes, $(DYNAMIC_PYTHON)) | |
7532
0acbe61244ac
commit https://github.com/vim/vim/commit/449538c3d2f7089dcaa1a888f09f41714faec9a6
Christian Brabandt <cb@256bit.org>
parents:
7523
diff
changeset
|
486 CFLAGS += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"$(DYNAMIC_PYTHON_DLL)\" |
6326 | 487 endif |
488 endif | |
489 | |
490 ifdef PYTHON3 | |
491 CFLAGS += -DFEAT_PYTHON3 | |
492 ifeq (yes, $(DYNAMIC_PYTHON3)) | |
7695
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
493 CFLAGS += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"$(DYNAMIC_PYTHON3_DLL)\" |
6326 | 494 endif |
495 endif | |
496 | |
497 ifdef TCL | |
498 CFLAGS += -DFEAT_TCL $(TCLINC) | |
499 ifeq (yes, $(DYNAMIC_TCL)) | |
7523
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
500 CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\" |
6326 | 501 endif |
502 endif | |
503 | |
504 ifeq ($(POSTSCRIPT),yes) | |
505 DEFINES += -DMSWINPS | |
506 endif | |
507 | |
508 ifeq (yes, $(OLE)) | |
509 DEFINES += -DFEAT_OLE | |
510 endif | |
511 | |
512 ifeq ($(CSCOPE),yes) | |
513 DEFINES += -DFEAT_CSCOPE | |
514 endif | |
515 | |
516 ifeq ($(NETBEANS),yes) | |
517 # Only allow NETBEANS for a GUI build. | |
518 ifeq (yes, $(GUI)) | |
519 DEFINES += -DFEAT_NETBEANS_INTG | |
520 | |
521 ifeq ($(NBDEBUG), yes) | |
522 DEFINES += -DNBDEBUG | |
523 NBDEBUG_INCL = nbdebug.h | |
524 NBDEBUG_SRC = nbdebug.c | |
525 endif | |
526 endif | |
527 endif | |
528 | |
529 # DirectWrite (DirectX) | |
530 ifeq ($(DIRECTX),yes) | |
531 # Only allow DirectWrite for a GUI build. | |
532 ifeq (yes, $(GUI)) | |
533 DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX | |
534 endif | |
535 endif | |
536 | |
537 # Only allow XPM for a GUI build. | |
538 ifeq (yes, $(GUI)) | |
539 | |
540 ifndef XPM | |
541 ifeq ($(ARCH),i386) | |
542 XPM = xpm/x86 | |
543 endif | |
544 ifeq ($(ARCH),i486) | |
545 XPM = xpm/x86 | |
546 endif | |
547 ifeq ($(ARCH),i586) | |
548 XPM = xpm/x86 | |
549 endif | |
550 ifeq ($(ARCH),i686) | |
551 XPM = xpm/x86 | |
552 endif | |
553 ifeq ($(ARCH),x86-64) | |
554 XPM = xpm/x64 | |
555 endif | |
556 endif | |
557 ifdef XPM | |
558 ifneq ($(XPM),no) | |
559 CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include | |
560 endif | |
561 endif | |
562 | |
563 endif | |
564 | |
565 ifeq ($(DEBUG),yes) | |
566 CFLAGS += -g -fstack-check | |
567 DEBUG_SUFFIX=d | |
568 else | |
569 ifeq ($(OPTIMIZE), SIZE) | |
570 CFLAGS += -Os | |
571 else | |
572 ifeq ($(OPTIMIZE), MAXSPEED) | |
573 CFLAGS += -O3 | |
574 CFLAGS += -fomit-frame-pointer -freg-struct-return | |
575 else # SPEED | |
576 CFLAGS += -O2 | |
577 endif | |
578 endif | |
579 CFLAGS += -s | |
580 endif | |
581 | |
582 LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion | |
583 GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o | |
584 OBJ = \ | |
585 $(OUTDIR)/blowfish.o \ | |
586 $(OUTDIR)/buffer.o \ | |
587 $(OUTDIR)/charset.o \ | |
588 $(OUTDIR)/crypt.o \ | |
589 $(OUTDIR)/crypt_zip.o \ | |
590 $(OUTDIR)/diff.o \ | |
591 $(OUTDIR)/digraph.o \ | |
592 $(OUTDIR)/edit.o \ | |
593 $(OUTDIR)/eval.o \ | |
594 $(OUTDIR)/ex_cmds.o \ | |
595 $(OUTDIR)/ex_cmds2.o \ | |
596 $(OUTDIR)/ex_docmd.o \ | |
597 $(OUTDIR)/ex_eval.o \ | |
598 $(OUTDIR)/ex_getln.o \ | |
599 $(OUTDIR)/fileio.o \ | |
600 $(OUTDIR)/fold.o \ | |
601 $(OUTDIR)/getchar.o \ | |
602 $(OUTDIR)/hardcopy.o \ | |
603 $(OUTDIR)/hashtab.o \ | |
7712
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7699
diff
changeset
|
604 $(OUTDIR)/json.o \ |
6326 | 605 $(OUTDIR)/main.o \ |
606 $(OUTDIR)/mark.o \ | |
607 $(OUTDIR)/memfile.o \ | |
608 $(OUTDIR)/memline.o \ | |
609 $(OUTDIR)/menu.o \ | |
610 $(OUTDIR)/message.o \ | |
611 $(OUTDIR)/misc1.o \ | |
612 $(OUTDIR)/misc2.o \ | |
613 $(OUTDIR)/move.o \ | |
614 $(OUTDIR)/mbyte.o \ | |
615 $(OUTDIR)/normal.o \ | |
616 $(OUTDIR)/ops.o \ | |
617 $(OUTDIR)/option.o \ | |
618 $(OUTDIR)/os_win32.o \ | |
619 $(OUTDIR)/os_mswin.o \ | |
620 $(OUTDIR)/winclip.o \ | |
621 $(OUTDIR)/pathdef.o \ | |
622 $(OUTDIR)/popupmnu.o \ | |
623 $(OUTDIR)/quickfix.o \ | |
624 $(OUTDIR)/regexp.o \ | |
625 $(OUTDIR)/screen.o \ | |
626 $(OUTDIR)/search.o \ | |
627 $(OUTDIR)/sha256.o \ | |
628 $(OUTDIR)/spell.o \ | |
629 $(OUTDIR)/syntax.o \ | |
630 $(OUTDIR)/tag.o \ | |
631 $(OUTDIR)/term.o \ | |
632 $(OUTDIR)/ui.o \ | |
633 $(OUTDIR)/undo.o \ | |
634 $(OUTDIR)/version.o \ | |
635 $(OUTDIR)/vimrc.o \ | |
636 $(OUTDIR)/window.o | |
637 | |
638 ifdef PERL | |
639 OBJ += $(OUTDIR)/if_perl.o | |
640 endif | |
641 ifdef LUA | |
642 OBJ += $(OUTDIR)/if_lua.o | |
643 endif | |
644 ifdef MZSCHEME | |
645 OBJ += $(OUTDIR)/if_mzsch.o | |
646 MZSCHEME_INCL = if_mzsch.h | |
647 ifeq (yes,$(MZSCHEME_GENERATE_BASE)) | |
648 CFLAGS += -DINCLUDE_MZSCHEME_BASE | |
649 MZ_EXTRA_DEP += mzscheme_base.c | |
650 endif | |
651 ifeq (yes,$(MZSCHEME_PRECISE_GC)) | |
652 CFLAGS += -DMZ_PRECISE_GC | |
653 endif | |
654 endif | |
655 ifdef PYTHON | |
656 OBJ += $(OUTDIR)/if_python.o | |
657 endif | |
658 ifdef PYTHON3 | |
659 OBJ += $(OUTDIR)/if_python3.o | |
660 endif | |
661 ifdef RUBY | |
662 OBJ += $(OUTDIR)/if_ruby.o | |
663 endif | |
664 ifdef TCL | |
665 OBJ += $(OUTDIR)/if_tcl.o | |
666 endif | |
667 ifeq ($(CSCOPE),yes) | |
668 OBJ += $(OUTDIR)/if_cscope.o | |
669 endif | |
670 ifeq ($(NETBEANS),yes) | |
671 # Only allow NETBEANS for a GUI build. | |
672 ifeq (yes, $(GUI)) | |
673 OBJ += $(OUTDIR)/netbeans.o | |
674 LIB += -lwsock32 | |
675 endif | |
676 endif | |
677 ifeq ($(DIRECTX),yes) | |
678 # Only allow DIRECTX for a GUI build. | |
679 ifeq (yes, $(GUI)) | |
680 OBJ += $(OUTDIR)/gui_dwrite.o | |
681 LIB += -ld2d1 -ldwrite | |
682 USE_STDCPLUS = yes | |
683 endif | |
684 endif | |
685 ifneq ($(XPM),no) | |
686 # Only allow XPM for a GUI build. | |
687 ifeq (yes, $(GUI)) | |
688 OBJ += $(OUTDIR)/xpm_w32.o | |
689 # You'll need libXpm.a from http://gnuwin32.sf.net | |
690 LIB += -L$(XPM)/lib -lXpm | |
691 endif | |
692 endif | |
693 | |
694 | |
695 ifdef MZSCHEME | |
696 MZSCHEME_SUFFIX = Z | |
697 endif | |
698 | |
699 ifeq ($(GUI),yes) | |
700 TARGET := gvim$(DEBUG_SUFFIX).exe | |
701 DEFINES += $(DEF_GUI) | |
702 OBJ += $(GUIOBJ) | |
703 LFLAGS += -mwindows | |
704 OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) | |
705 else | |
706 TARGET := vim$(DEBUG_SUFFIX).exe | |
707 OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) | |
708 endif | |
709 | |
710 ifdef GETTEXT | |
711 ifneq (yes, $(GETTEXT)) | |
712 CFLAGS += -I$(GETTEXTINCLUDE) | |
713 ifndef STATIC_GETTEXT | |
714 LIB += -L$(GETTEXTLIB) -l$(INTLLIB) | |
715 ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT)) | |
716 OBJ+=$(SAFE_GETTEXT_DLL_OBJ) | |
717 endif | |
718 else | |
719 LIB += -L$(GETTEXTLIB) -lintl | |
720 endif | |
721 endif | |
722 endif | |
723 | |
724 ifdef PERL | |
725 ifeq (no, $(DYNAMIC_PERL)) | |
726 LIB += -L$(PERLLIBS) -lperl$(PERL_VER) | |
727 endif | |
728 endif | |
729 | |
730 ifdef TCL | |
731 LIB += -L$(TCL)/lib | |
732 ifeq (yes, $(DYNAMIC_TCL)) | |
733 LIB += -ltclstub$(TCL_VER) | |
734 else | |
735 LIB += -ltcl$(TCL_VER) | |
736 endif | |
737 endif | |
738 | |
739 ifeq (yes, $(OLE)) | |
740 LIB += -loleaut32 | |
741 OBJ += $(OUTDIR)/if_ole.o | |
742 USE_STDCPLUS = yes | |
743 endif | |
744 | |
745 ifeq (yes, $(MBYTE)) | |
746 DEFINES += -DFEAT_MBYTE | |
747 endif | |
748 | |
749 ifeq (yes, $(IME)) | |
750 DEFINES += -DFEAT_MBYTE_IME | |
751 ifeq (yes, $(DYNAMIC_IME)) | |
752 DEFINES += -DDYNAMIC_IME | |
753 else | |
754 LIB += -limm32 | |
755 endif | |
756 endif | |
757 | |
758 ifdef ICONV | |
759 ifneq (yes, $(ICONV)) | |
760 LIB += -L$(ICONV) | |
761 CFLAGS += -I$(ICONV) | |
762 endif | |
763 DEFINES+=-DDYNAMIC_ICONV | |
764 endif | |
765 | |
766 ifeq (yes, $(USE_STDCPLUS)) | |
767 ifeq (yes, $(STATIC_STDCPLUS)) | |
768 LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic | |
769 else | |
770 LIB += -lstdc++ | |
771 endif | |
772 endif | |
773 | |
774 all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll | |
775 | |
776 vimrun.exe: vimrun.c | |
777 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB) | |
778 | |
779 install.exe: dosinst.c | |
780 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid | |
781 | |
782 uninstal.exe: uninstal.c | |
783 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) | |
784 | |
785 $(TARGET): $(OUTDIR) $(OBJ) | |
786 $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) | |
787 | |
788 upx: exes | |
789 upx gvim.exe | |
790 upx vim.exe | |
791 | |
792 mpress: exes | |
793 mpress gvim.exe | |
794 mpress vim.exe | |
795 | |
796 xxd/xxd.exe: xxd/xxd.c | |
797 $(MAKE) -C xxd -f Make_ming.mak CC='$(CC)' | |
798 | |
799 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
800 $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS) | |
801 | |
802 clean: | |
803 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o | |
804 -$(DEL) $(OUTDIR)$(DIRSLASH)*.res | |
805 -rmdir $(OUTDIR) | |
806 -$(DEL) *.exe | |
807 -$(DEL) pathdef.c | |
808 ifdef PERL | |
809 -$(DEL) if_perl.c | |
810 endif | |
811 ifdef MZSCHEME | |
812 -$(DEL) mzscheme_base.c | |
813 endif | |
814 $(MAKE) -C GvimExt -f Make_ming.mak clean | |
815 $(MAKE) -C xxd -f Make_ming.mak clean | |
816 | |
817 ########################################################################### | |
818 INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ | |
819 structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \ | |
820 gui.h | |
821 | |
822 $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL) | |
7532
0acbe61244ac
commit https://github.com/vim/vim/commit/449538c3d2f7089dcaa1a888f09f41714faec9a6
Christian Brabandt <cb@256bit.org>
parents:
7523
diff
changeset
|
823 $(CC) -c $(CFLAGS) $(PYTHONINC) $(PYTHON_HOME_DEF) $< -o $@ |
6326 | 824 |
825 $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL) | |
7695
a865f9773cb2
commit https://github.com/vim/vim/commit/a7c3795a2e65233ba2d187d680acc83bf6bf4ef5
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
826 $(CC) -c $(CFLAGS) $(PYTHON3INC) $(PYTHON3_HOME_DEF) $< -o $@ |
6326 | 827 |
828 $(OUTDIR)/%.o : %.c $(INCL) | |
829 $(CC) -c $(CFLAGS) $< -o $@ | |
830 | |
831 $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h | |
832 $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \ | |
833 --input-format=rc --output-format=coff -i vim.rc -o $@ | |
834 | |
835 $(OUTDIR): | |
836 $(MKDIR) $(OUTDIR) | |
837 | |
838 $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h | |
839 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o | |
840 | |
841 $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h | |
842 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o | |
843 | |
844 $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL) | |
845 $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o | |
846 | |
847 $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h | |
848 $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o | |
849 | |
850 $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h | |
851 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o | |
852 | |
853 # Remove -D__IID_DEFINED__ for newer versions of the w32api | |
854 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) | |
855 $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp | |
856 | |
857 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) | |
858 ifeq (16, $(RUBY)) | |
859 $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c | |
860 endif | |
861 | |
862 if_perl.c: if_perl.xs typemap | |
863 $(XSUBPP) -prototypes -typemap \ | |
6349 | 864 $(PERLTYPEMAP) if_perl.xs > $@ |
6326 | 865 |
866 $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) | |
867 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o | |
868 | |
869 $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL) | |
870 $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o | |
871 | |
872 $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) | |
873 $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o | |
874 | |
875 mzscheme_base.c: | |
876 $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base | |
877 | |
878 pathdef.c: $(INCL) | |
879 ifneq (sh.exe, $(SHELL)) | |
880 @echo creating pathdef.c | |
881 @echo '/* pathdef.c */' > pathdef.c | |
882 @echo '#include "vim.h"' >> pathdef.c | |
883 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c | |
884 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c | |
885 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c | |
886 @echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c | |
887 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c | |
888 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c | |
889 else | |
890 @echo creating pathdef.c | |
891 @echo /* pathdef.c */ > pathdef.c | |
892 @echo #include "vim.h" >> pathdef.c | |
893 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c | |
894 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c | |
895 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c | |
896 @echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)"; >> pathdef.c | |
897 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c | |
898 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c | |
899 endif |