Mercurial > vim
annotate src/Make_cyg_ming.mak @ 7668:21b0a39d13ed v7.4.1133
commit https://github.com/vim/vim/commit/ef26954a35207c3f17d6ed35d9a40c918d974892
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 19 13:22:12 2016 +0100
patch 7.4.1133
Problem: Generated function prototypes still have __ARGS().
Solution: Generate function prototypes without __ARGS().
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Jan 2016 13:30:06 +0100 |
parents | 77a14f3bc18b |
children | a865f9773cb2 |
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). | |
42 FEATURES=BIG | |
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 | |
261 | |
262 ifeq (no,$(DYNAMIC_PYTHON3)) | |
263 PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER) | |
264 endif | |
265 | |
266 ifeq ($(CROSS),no) | |
267 PYTHON3INC=-I $(PYTHON3)/include | |
268 else | |
269 PYTHON3INC=-I $(PYTHON3)/win32inc | |
270 endif | |
271 endif | |
272 | |
273 # TCL interface: | |
274 # TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
275 # DYNAMIC_TCL=yes (to load the TCL DLL dynamically) | |
276 # 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
|
277 # 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
|
278 # You must set TCL_VER_LONG when you set TCL_VER. |
6326 | 279 ifdef TCL |
280 ifndef DYNAMIC_TCL | |
281 DYNAMIC_TCL=yes | |
282 endif | |
283 ifndef TCL_VER | |
284 TCL_VER = 83 | |
285 endif | |
7523
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
286 ifndef TCL_VER_LONG |
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
287 TCL_VER_LONG = 8.3 |
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
288 endif |
6326 | 289 TCLINC += -I$(TCL)/include |
290 endif | |
291 | |
292 | |
293 # Ruby interface: | |
294 # RUBY=[Path to Ruby directory] (Set inside Make_cyg.mak or Make_ming.mak) | |
295 # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) | |
296 # RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18) | |
297 # RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8) | |
298 # You must set RUBY_VER_LONG when changing RUBY_VER. | |
299 # RUBY_API_VER is derived from RUBY_VER_LONG. | |
300 # Note: If you use Ruby 1.9.3, set as follows: | |
301 # RUBY_VER=19 | |
302 # RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) | |
303 ifdef RUBY | |
304 ifndef DYNAMIC_RUBY | |
305 DYNAMIC_RUBY=yes | |
306 endif | |
307 # Set default value | |
308 ifndef RUBY_VER | |
309 RUBY_VER = 18 | |
310 endif | |
311 ifndef RUBY_VER_LONG | |
312 RUBY_VER_LONG = 1.8 | |
313 endif | |
314 ifndef RUBY_API_VER | |
315 RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG)) | |
316 endif | |
317 | |
318 ifndef RUBY_PLATFORM | |
319 ifeq ($(RUBY_VER), 16) | |
320 RUBY_PLATFORM = i586-mswin32 | |
321 else | |
322 ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) | |
323 RUBY_PLATFORM = i386-mingw32 | |
324 else | |
325 ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),) | |
326 RUBY_PLATFORM = x64-mingw32 | |
327 else | |
328 RUBY_PLATFORM = i386-mswin32 | |
329 endif | |
330 endif | |
331 endif | |
332 endif | |
333 | |
334 ifndef RUBY_INSTALL_NAME | |
335 ifeq ($(RUBY_VER), 16) | |
336 RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER) | |
337 else | |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
338 ifndef RUBY_MSVCRT_NAME |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
339 # 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
|
340 RUBY_MSVCRT_NAME = msvcrt |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
341 endif |
6326 | 342 ifeq ($(ARCH),x86-64) |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
343 RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) |
6326 | 344 else |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7456
diff
changeset
|
345 RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) |
6326 | 346 endif |
347 endif | |
348 endif | |
349 | |
350 ifeq (19, $(word 1,$(sort 19 $(RUBY_VER)))) | |
351 RUBY_19_OR_LATER = 1 | |
352 endif | |
353 | |
354 RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) | |
355 ifdef RUBY_19_OR_LATER | |
356 RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) | |
357 endif | |
358 ifeq (no, $(DYNAMIC_RUBY)) | |
359 RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) | |
360 endif | |
361 | |
362 endif # RUBY | |
363 | |
364 # See feature.h for a list of options. | |
365 # Any other defines can be included here. | |
366 DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD | |
367 DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ | |
368 -DHAVE_PATHDEF -DFEAT_$(FEATURES) | |
369 ifeq ($(ARCH),x86-64) | |
370 DEFINES+=-DMS_WIN64 | |
371 endif | |
372 ifeq ($(CROSS),yes) | |
373 # cross-compiler prefix: | |
374 ifndef CROSS_COMPILE | |
375 CROSS_COMPILE = i586-pc-mingw32msvc- | |
376 endif | |
377 DEL = rm | |
378 MKDIR = mkdir -p | |
379 DIRSLASH = / | |
380 else | |
381 # normal (Windows) compilation: | |
382 ifndef CROSS_COMPILE | |
383 CROSS_COMPILE = | |
384 endif | |
385 ifneq (sh.exe, $(SHELL)) | |
386 DEL = rm | |
387 MKDIR = mkdir -p | |
388 DIRSLASH = / | |
389 else | |
390 DEL = del | |
391 MKDIR = mkdir | |
392 DIRSLASH = \\ | |
393 endif | |
394 endif | |
395 CC := $(CROSS_COMPILE)gcc | |
396 CXX := $(CROSS_COMPILE)g++ | |
6436 | 397 ifeq ($(UNDER_CYGWIN),yes) |
6326 | 398 WINDRES := $(CROSS_COMPILE)windres |
6436 | 399 else |
400 WINDRES := windres | |
401 endif | |
6326 | 402 WINDRES_CC = $(CC) |
403 | |
404 #>>>>> end of choices | |
405 ########################################################################### | |
406 | |
407 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall | |
408 WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED | |
409 EXTRA_LIBS = | |
410 | |
411 ifdef GETTEXT | |
412 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H | |
413 GETTEXTINCLUDE = $(GETTEXT)/include | |
414 GETTEXTLIB = $(INTLPATH) | |
415 ifeq (yes, $(GETTEXT)) | |
416 DEFINES += -DDYNAMIC_GETTEXT | |
417 else | |
418 ifdef DYNAMIC_GETTEXT | |
419 DEFINES += -D$(DYNAMIC_GETTEXT) | |
420 ifdef GETTEXT_DYNAMIC | |
421 DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\" | |
422 endif | |
423 endif | |
424 endif | |
425 endif | |
426 | |
427 ifdef PERL | |
6872 | 428 CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS |
6326 | 429 ifeq (yes, $(DYNAMIC_PERL)) |
430 CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" | |
431 EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER) | |
432 endif | |
433 endif | |
434 | |
435 ifdef LUA | |
436 CFLAGS += -I$(LUA)/include -I$(LUA) -DFEAT_LUA | |
437 ifeq (yes, $(DYNAMIC_LUA)) | |
438 CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" | |
439 endif | |
440 endif | |
441 | |
442 ifdef MZSCHEME | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
443 ifndef MZSCHEME_COLLECTS |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
444 MZSCHEME_COLLECTS=$(MZSCHEME)/collects |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
445 ifeq (yes, $(UNDER_CYGWIN)) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
446 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
|
447 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
448 endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
449 CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME_COLLECTS)\" |
6326 | 450 ifeq (yes, $(DYNAMIC_MZSCHEME)) |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
451 ifeq (yes, $(MZSCHEME_PRECISE_GC)) |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
452 # 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
|
453 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
|
454 else |
6326 | 455 CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" |
456 endif | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7532
diff
changeset
|
457 endif |
6326 | 458 ifeq (yes, "$(MZSCHEME_DEBUG)") |
459 CFLAGS += -DMZSCHEME_FORCE_GC | |
460 endif | |
461 endif | |
462 | |
463 ifdef RUBY | |
464 CFLAGS += -DFEAT_RUBY $(RUBYINC) | |
465 ifeq (yes, $(DYNAMIC_RUBY)) | |
466 CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" | |
467 CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER) | |
468 endif | |
469 ifneq ($(findstring w64-mingw32,$(CC)),) | |
470 # A workaround for MinGW-w64 | |
471 CFLAGS += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE | |
472 endif | |
473 endif | |
474 | |
475 ifdef PYTHON | |
476 CFLAGS += -DFEAT_PYTHON | |
477 ifeq (yes, $(DYNAMIC_PYTHON)) | |
7532
0acbe61244ac
commit https://github.com/vim/vim/commit/449538c3d2f7089dcaa1a888f09f41714faec9a6
Christian Brabandt <cb@256bit.org>
parents:
7523
diff
changeset
|
478 CFLAGS += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"$(DYNAMIC_PYTHON_DLL)\" |
6326 | 479 endif |
480 endif | |
481 | |
482 ifdef PYTHON3 | |
483 CFLAGS += -DFEAT_PYTHON3 | |
484 ifeq (yes, $(DYNAMIC_PYTHON3)) | |
7532
0acbe61244ac
commit https://github.com/vim/vim/commit/449538c3d2f7089dcaa1a888f09f41714faec9a6
Christian Brabandt <cb@256bit.org>
parents:
7523
diff
changeset
|
485 CFLAGS += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" |
6326 | 486 endif |
487 endif | |
488 | |
489 ifdef TCL | |
490 CFLAGS += -DFEAT_TCL $(TCLINC) | |
491 ifeq (yes, $(DYNAMIC_TCL)) | |
7523
55cd9a99514d
commit https://github.com/vim/vim/commit/eca99bd45f094b1b12e22b9d6b206bd05dc9a38c
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
492 CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\" |
6326 | 493 endif |
494 endif | |
495 | |
496 ifeq ($(POSTSCRIPT),yes) | |
497 DEFINES += -DMSWINPS | |
498 endif | |
499 | |
500 ifeq (yes, $(OLE)) | |
501 DEFINES += -DFEAT_OLE | |
502 endif | |
503 | |
504 ifeq ($(CSCOPE),yes) | |
505 DEFINES += -DFEAT_CSCOPE | |
506 endif | |
507 | |
508 ifeq ($(NETBEANS),yes) | |
509 # Only allow NETBEANS for a GUI build. | |
510 ifeq (yes, $(GUI)) | |
511 DEFINES += -DFEAT_NETBEANS_INTG | |
512 | |
513 ifeq ($(NBDEBUG), yes) | |
514 DEFINES += -DNBDEBUG | |
515 NBDEBUG_INCL = nbdebug.h | |
516 NBDEBUG_SRC = nbdebug.c | |
517 endif | |
518 endif | |
519 endif | |
520 | |
521 # DirectWrite (DirectX) | |
522 ifeq ($(DIRECTX),yes) | |
523 # Only allow DirectWrite for a GUI build. | |
524 ifeq (yes, $(GUI)) | |
525 DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX | |
526 endif | |
527 endif | |
528 | |
529 # Only allow XPM for a GUI build. | |
530 ifeq (yes, $(GUI)) | |
531 | |
532 ifndef XPM | |
533 ifeq ($(ARCH),i386) | |
534 XPM = xpm/x86 | |
535 endif | |
536 ifeq ($(ARCH),i486) | |
537 XPM = xpm/x86 | |
538 endif | |
539 ifeq ($(ARCH),i586) | |
540 XPM = xpm/x86 | |
541 endif | |
542 ifeq ($(ARCH),i686) | |
543 XPM = xpm/x86 | |
544 endif | |
545 ifeq ($(ARCH),x86-64) | |
546 XPM = xpm/x64 | |
547 endif | |
548 endif | |
549 ifdef XPM | |
550 ifneq ($(XPM),no) | |
551 CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include | |
552 endif | |
553 endif | |
554 | |
555 endif | |
556 | |
557 ifeq ($(DEBUG),yes) | |
558 CFLAGS += -g -fstack-check | |
559 DEBUG_SUFFIX=d | |
560 else | |
561 ifeq ($(OPTIMIZE), SIZE) | |
562 CFLAGS += -Os | |
563 else | |
564 ifeq ($(OPTIMIZE), MAXSPEED) | |
565 CFLAGS += -O3 | |
566 CFLAGS += -fomit-frame-pointer -freg-struct-return | |
567 else # SPEED | |
568 CFLAGS += -O2 | |
569 endif | |
570 endif | |
571 CFLAGS += -s | |
572 endif | |
573 | |
574 LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion | |
575 GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o | |
576 OBJ = \ | |
577 $(OUTDIR)/blowfish.o \ | |
578 $(OUTDIR)/buffer.o \ | |
579 $(OUTDIR)/charset.o \ | |
580 $(OUTDIR)/crypt.o \ | |
581 $(OUTDIR)/crypt_zip.o \ | |
582 $(OUTDIR)/diff.o \ | |
583 $(OUTDIR)/digraph.o \ | |
584 $(OUTDIR)/edit.o \ | |
585 $(OUTDIR)/eval.o \ | |
586 $(OUTDIR)/ex_cmds.o \ | |
587 $(OUTDIR)/ex_cmds2.o \ | |
588 $(OUTDIR)/ex_docmd.o \ | |
589 $(OUTDIR)/ex_eval.o \ | |
590 $(OUTDIR)/ex_getln.o \ | |
591 $(OUTDIR)/fileio.o \ | |
592 $(OUTDIR)/fold.o \ | |
593 $(OUTDIR)/getchar.o \ | |
594 $(OUTDIR)/hardcopy.o \ | |
595 $(OUTDIR)/hashtab.o \ | |
596 $(OUTDIR)/main.o \ | |
597 $(OUTDIR)/mark.o \ | |
598 $(OUTDIR)/memfile.o \ | |
599 $(OUTDIR)/memline.o \ | |
600 $(OUTDIR)/menu.o \ | |
601 $(OUTDIR)/message.o \ | |
602 $(OUTDIR)/misc1.o \ | |
603 $(OUTDIR)/misc2.o \ | |
604 $(OUTDIR)/move.o \ | |
605 $(OUTDIR)/mbyte.o \ | |
606 $(OUTDIR)/normal.o \ | |
607 $(OUTDIR)/ops.o \ | |
608 $(OUTDIR)/option.o \ | |
609 $(OUTDIR)/os_win32.o \ | |
610 $(OUTDIR)/os_mswin.o \ | |
611 $(OUTDIR)/winclip.o \ | |
612 $(OUTDIR)/pathdef.o \ | |
613 $(OUTDIR)/popupmnu.o \ | |
614 $(OUTDIR)/quickfix.o \ | |
615 $(OUTDIR)/regexp.o \ | |
616 $(OUTDIR)/screen.o \ | |
617 $(OUTDIR)/search.o \ | |
618 $(OUTDIR)/sha256.o \ | |
619 $(OUTDIR)/spell.o \ | |
620 $(OUTDIR)/syntax.o \ | |
621 $(OUTDIR)/tag.o \ | |
622 $(OUTDIR)/term.o \ | |
623 $(OUTDIR)/ui.o \ | |
624 $(OUTDIR)/undo.o \ | |
625 $(OUTDIR)/version.o \ | |
626 $(OUTDIR)/vimrc.o \ | |
627 $(OUTDIR)/window.o | |
628 | |
629 ifdef PERL | |
630 OBJ += $(OUTDIR)/if_perl.o | |
631 endif | |
632 ifdef LUA | |
633 OBJ += $(OUTDIR)/if_lua.o | |
634 endif | |
635 ifdef MZSCHEME | |
636 OBJ += $(OUTDIR)/if_mzsch.o | |
637 MZSCHEME_INCL = if_mzsch.h | |
638 ifeq (yes,$(MZSCHEME_GENERATE_BASE)) | |
639 CFLAGS += -DINCLUDE_MZSCHEME_BASE | |
640 MZ_EXTRA_DEP += mzscheme_base.c | |
641 endif | |
642 ifeq (yes,$(MZSCHEME_PRECISE_GC)) | |
643 CFLAGS += -DMZ_PRECISE_GC | |
644 endif | |
645 endif | |
646 ifdef PYTHON | |
647 OBJ += $(OUTDIR)/if_python.o | |
648 endif | |
649 ifdef PYTHON3 | |
650 OBJ += $(OUTDIR)/if_python3.o | |
651 endif | |
652 ifdef RUBY | |
653 OBJ += $(OUTDIR)/if_ruby.o | |
654 endif | |
655 ifdef TCL | |
656 OBJ += $(OUTDIR)/if_tcl.o | |
657 endif | |
658 ifeq ($(CSCOPE),yes) | |
659 OBJ += $(OUTDIR)/if_cscope.o | |
660 endif | |
661 ifeq ($(NETBEANS),yes) | |
662 # Only allow NETBEANS for a GUI build. | |
663 ifeq (yes, $(GUI)) | |
664 OBJ += $(OUTDIR)/netbeans.o | |
665 LIB += -lwsock32 | |
666 endif | |
667 endif | |
668 ifeq ($(DIRECTX),yes) | |
669 # Only allow DIRECTX for a GUI build. | |
670 ifeq (yes, $(GUI)) | |
671 OBJ += $(OUTDIR)/gui_dwrite.o | |
672 LIB += -ld2d1 -ldwrite | |
673 USE_STDCPLUS = yes | |
674 endif | |
675 endif | |
676 ifneq ($(XPM),no) | |
677 # Only allow XPM for a GUI build. | |
678 ifeq (yes, $(GUI)) | |
679 OBJ += $(OUTDIR)/xpm_w32.o | |
680 # You'll need libXpm.a from http://gnuwin32.sf.net | |
681 LIB += -L$(XPM)/lib -lXpm | |
682 endif | |
683 endif | |
684 | |
685 | |
686 ifdef MZSCHEME | |
687 MZSCHEME_SUFFIX = Z | |
688 endif | |
689 | |
690 ifeq ($(GUI),yes) | |
691 TARGET := gvim$(DEBUG_SUFFIX).exe | |
692 DEFINES += $(DEF_GUI) | |
693 OBJ += $(GUIOBJ) | |
694 LFLAGS += -mwindows | |
695 OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) | |
696 else | |
697 TARGET := vim$(DEBUG_SUFFIX).exe | |
698 OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH) | |
699 endif | |
700 | |
701 ifdef GETTEXT | |
702 ifneq (yes, $(GETTEXT)) | |
703 CFLAGS += -I$(GETTEXTINCLUDE) | |
704 ifndef STATIC_GETTEXT | |
705 LIB += -L$(GETTEXTLIB) -l$(INTLLIB) | |
706 ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT)) | |
707 OBJ+=$(SAFE_GETTEXT_DLL_OBJ) | |
708 endif | |
709 else | |
710 LIB += -L$(GETTEXTLIB) -lintl | |
711 endif | |
712 endif | |
713 endif | |
714 | |
715 ifdef PERL | |
716 ifeq (no, $(DYNAMIC_PERL)) | |
717 LIB += -L$(PERLLIBS) -lperl$(PERL_VER) | |
718 endif | |
719 endif | |
720 | |
721 ifdef TCL | |
722 LIB += -L$(TCL)/lib | |
723 ifeq (yes, $(DYNAMIC_TCL)) | |
724 LIB += -ltclstub$(TCL_VER) | |
725 else | |
726 LIB += -ltcl$(TCL_VER) | |
727 endif | |
728 endif | |
729 | |
730 ifeq (yes, $(OLE)) | |
731 LIB += -loleaut32 | |
732 OBJ += $(OUTDIR)/if_ole.o | |
733 USE_STDCPLUS = yes | |
734 endif | |
735 | |
736 ifeq (yes, $(MBYTE)) | |
737 DEFINES += -DFEAT_MBYTE | |
738 endif | |
739 | |
740 ifeq (yes, $(IME)) | |
741 DEFINES += -DFEAT_MBYTE_IME | |
742 ifeq (yes, $(DYNAMIC_IME)) | |
743 DEFINES += -DDYNAMIC_IME | |
744 else | |
745 LIB += -limm32 | |
746 endif | |
747 endif | |
748 | |
749 ifdef ICONV | |
750 ifneq (yes, $(ICONV)) | |
751 LIB += -L$(ICONV) | |
752 CFLAGS += -I$(ICONV) | |
753 endif | |
754 DEFINES+=-DDYNAMIC_ICONV | |
755 endif | |
756 | |
757 ifeq (yes, $(USE_STDCPLUS)) | |
758 ifeq (yes, $(STATIC_STDCPLUS)) | |
759 LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic | |
760 else | |
761 LIB += -lstdc++ | |
762 endif | |
763 endif | |
764 | |
765 all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll | |
766 | |
767 vimrun.exe: vimrun.c | |
768 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB) | |
769 | |
770 install.exe: dosinst.c | |
771 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid | |
772 | |
773 uninstal.exe: uninstal.c | |
774 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) | |
775 | |
776 $(TARGET): $(OUTDIR) $(OBJ) | |
777 $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) | |
778 | |
779 upx: exes | |
780 upx gvim.exe | |
781 upx vim.exe | |
782 | |
783 mpress: exes | |
784 mpress gvim.exe | |
785 mpress vim.exe | |
786 | |
787 xxd/xxd.exe: xxd/xxd.c | |
788 $(MAKE) -C xxd -f Make_ming.mak CC='$(CC)' | |
789 | |
790 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
791 $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS) | |
792 | |
793 clean: | |
794 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o | |
795 -$(DEL) $(OUTDIR)$(DIRSLASH)*.res | |
796 -rmdir $(OUTDIR) | |
797 -$(DEL) *.exe | |
798 -$(DEL) pathdef.c | |
799 ifdef PERL | |
800 -$(DEL) if_perl.c | |
801 endif | |
802 ifdef MZSCHEME | |
803 -$(DEL) mzscheme_base.c | |
804 endif | |
805 $(MAKE) -C GvimExt -f Make_ming.mak clean | |
806 $(MAKE) -C xxd -f Make_ming.mak clean | |
807 | |
808 ########################################################################### | |
809 INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ | |
810 structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \ | |
811 gui.h | |
812 | |
813 $(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
|
814 $(CC) -c $(CFLAGS) $(PYTHONINC) $(PYTHON_HOME_DEF) $< -o $@ |
6326 | 815 |
816 $(OUTDIR)/if_python3.o : if_python3.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
|
817 $(CC) -c $(CFLAGS) $(PYTHON3INC) $< -o $@ |
6326 | 818 |
819 $(OUTDIR)/%.o : %.c $(INCL) | |
820 $(CC) -c $(CFLAGS) $< -o $@ | |
821 | |
822 $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h | |
823 $(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \ | |
824 --input-format=rc --output-format=coff -i vim.rc -o $@ | |
825 | |
826 $(OUTDIR): | |
827 $(MKDIR) $(OUTDIR) | |
828 | |
829 $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h | |
830 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o | |
831 | |
832 $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h | |
833 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o | |
834 | |
835 $(OUTDIR)/gui_w32.o: gui_w32.c gui_w48.c $(INCL) | |
836 $(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o | |
837 | |
838 $(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h | |
839 $(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o | |
840 | |
841 $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h | |
842 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o | |
843 | |
844 # Remove -D__IID_DEFINED__ for newer versions of the w32api | |
845 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) | |
846 $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp | |
847 | |
848 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) | |
849 ifeq (16, $(RUBY)) | |
850 $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c | |
851 endif | |
852 | |
853 if_perl.c: if_perl.xs typemap | |
854 $(XSUBPP) -prototypes -typemap \ | |
6349 | 855 $(PERLTYPEMAP) if_perl.xs > $@ |
6326 | 856 |
857 $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) | |
858 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o | |
859 | |
860 $(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL) | |
861 $(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o | |
862 | |
863 $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) | |
864 $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o | |
865 | |
866 mzscheme_base.c: | |
867 $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base | |
868 | |
869 pathdef.c: $(INCL) | |
870 ifneq (sh.exe, $(SHELL)) | |
871 @echo creating pathdef.c | |
872 @echo '/* pathdef.c */' > pathdef.c | |
873 @echo '#include "vim.h"' >> pathdef.c | |
874 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c | |
875 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c | |
876 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c | |
877 @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 | |
878 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c | |
879 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c | |
880 else | |
881 @echo creating pathdef.c | |
882 @echo /* pathdef.c */ > pathdef.c | |
883 @echo #include "vim.h" >> pathdef.c | |
884 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c | |
885 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c | |
886 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c | |
887 @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 | |
888 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c | |
889 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c | |
890 endif |