Mercurial > vim
annotate src/Make_ming.mak @ 2320:966a5609669e vim73
Added Lua interfae. (Luis Carvalho)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 14 Jul 2010 23:23:17 +0200 |
parents | 40edf1be1cd8 |
children | ad2889f48843 |
rev | line source |
---|---|
7 | 1 # Makefile for VIM on Win32, using 'EGCS/mingw32 1.1.2'. |
2 # Info at http://www.mingw.org | |
3 # Also requires 'GNU make 3.77', which you can get through a link | |
4 # to 'JanJaap's page from the above page. | |
5 # Get missing libraries from http://gnuwin32.sf.net. | |
6 # | |
7 # Tested on Win32 NT 4 and Win95. | |
8 # | |
9 # To make everything, just 'make -f Make_ming.mak' | |
10 # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe' | |
11 # After a run, you can 'make -f Make_ming.mak clean' to clean up | |
12 # | |
13 # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think | |
14 # it's just run out of memory or something. Run again, and it will continue | |
15 # with 'xxd'. | |
16 # | |
17 # "make upx" makes *compressed* versions of the GUI and console EXEs, using the | |
18 # excellent UPX compressor: | |
19 # http://upx.sourceforge.net/ | |
20 # | |
21 # Maintained by Ron Aaron <ronaharon@yahoo.com> | |
22 # updated 2003 Jan 20 | |
23 | |
24 #>>>>> choose options: | |
25 # set to yes for a debug build | |
26 DEBUG=no | |
1201 | 27 # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization |
7 | 28 OPTIMIZE=MAXSPEED |
29 # set to yes to make gvim, no for vim | |
30 GUI=yes | |
31 # FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE] | |
32 # set to TINY to make minimal version (few features) | |
33 FEATURES=BIG | |
39 | 34 # set to one of i386, i486, i586, i686 as the minimum target processor |
7 | 35 ARCH=i386 |
36 # set to yes to cross-compile from unix; no=native Windows | |
37 CROSS=no | |
38 # set to path to iconv.h and libiconv.a to enable using 'iconv.dll' | |
39 #ICONV="." | |
40 ICONV=yes | |
41 GETTEXT=yes | |
42 # set to yes to include multibyte support | |
43 MBYTE=yes | |
44 # set to yes to include IME support | |
45 IME=yes | |
46 DYNAMIC_IME=yes | |
47 # set to yes to enable writing a postscript file with :hardcopy | |
48 POSTSCRIPT=no | |
49 # set to yes to enable OLE support | |
50 OLE=no | |
51 # Set the default $(WINVER) to make it work with pre-Win2k | |
52 WINVER = 0x0400 | |
53 # Set to yes to enable Cscope support | |
54 CSCOPE=yes | |
55 # Set to yes to enable Netbeans support | |
56 NETBEANS=$(GUI) | |
57 | |
58 | |
59 # If the user doesn't want gettext, undefine it. | |
60 ifeq (no, $(GETTEXT)) | |
61 GETTEXT= | |
62 endif | |
63 # Added by E.F. Amatria <eferna1@platea.ptic.mec.es> 2001 Feb 23 | |
64 # Uncomment the first line and one of the following three if you want Native Language | |
65 # Support. You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by | |
66 # Franco Bez <franco.bez@gmx.de>. It may be found at | |
67 # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html | |
68 # Tested with mingw32 with GCC-2.95.2 on Win98 | |
69 # Updated 2001 Jun 9 | |
70 #GETTEXT=c:/gettext.win32.msvcrt | |
71 #STATIC_GETTEXT=USE_STATIC_GETTEXT | |
72 #DYNAMIC_GETTEXT=USE_GETTEXT_DLL | |
73 #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL | |
74 SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o | |
75 # Alternatively, if you uncomment the two following lines, you get a "safe" version | |
76 # without linking the safe_gettext_dll.o object file. | |
77 #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT | |
78 #GETTEXT_DYNAMIC=gnu_gettext.dll | |
79 INTLPATH=$(GETTEXT)/lib/mingw32 | |
80 INTLLIB=gnu_gettext | |
81 | |
82 # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext | |
83 # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/ | |
84 # uncomment the following, but I can't build a static versión with them, ?-(| | |
85 #GETTEXT=c:/gettext-0.10.37-20010430 | |
86 #STATIC_GETTEXT=USE_STATIC_GETTEXT | |
87 #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT | |
88 #INTLPATH=$(GETTEXT)/lib | |
89 #INTLLIB=intl | |
90 | |
91 # uncomment 'PERL' if you want a perl-enabled version | |
92 #PERL=C:/perl | |
93 ifdef PERL | |
94 ifndef PERL_VER | |
95 PERL_VER=56 | |
96 endif | |
97 ifndef DYNAMIC_PERL | |
98 DYNAMIC_PERL=yes | |
99 endif | |
100 # on Linux, for cross-compile, it's here: | |
101 #PERLLIB=/home/ron/ActivePerl/lib | |
102 # on NT, it's here: | |
103 PERLLIB=$(PERL)/lib | |
104 PERLLIBS=$(PERLLIB)/Core | |
105 endif | |
106 | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
107 # uncomment 'LUA' if you want a Lua-enabled version |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
108 #LUA=/usr/local |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
109 ifdef LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
110 ifndef DYNAMIC_LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
111 DYNAMIC_LUA=yes |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
112 endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
113 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
114 ifndef LUA_VER |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
115 LUA_VER=51 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
116 endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
117 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
118 ifeq (no,$(DYNAMIC_LUA)) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
119 LUA_LIB = -L$(LUA)/lib -llua |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
120 endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
121 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
122 endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
123 |
14 | 124 # uncomment 'MZSCHEME' if you want a MzScheme-enabled version |
125 #MZSCHEME=d:/plt | |
126 ifdef MZSCHEME | |
128 | 127 ifndef DYNAMIC_MZSCHEME |
128 DYNAMIC_MZSCHEME=yes | |
129 endif | |
130 | |
14 | 131 ifndef MZSCHEME_VER |
132 MZSCHEME_VER=205_000 | |
133 endif | |
128 | 134 |
1894 | 135 ifndef MZSCHEME_PRECISE_GC |
136 MZSCHEME_PRECISE_GC=no | |
137 endif | |
138 | |
139 # for version 4.x we need to generate byte-code for Scheme base | |
140 ifndef MZSCHEME_GENERATE_BASE | |
141 MZSCHEME_GENERATE_BASE=no | |
142 endif | |
143 | |
128 | 144 ifeq (no,$(DYNAMIC_MZSCHEME)) |
1894 | 145 ifeq (yes,$(MZSCHEME_PRECISE_GC)) |
146 MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER) | |
147 else | |
128 | 148 MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) |
1894 | 149 endif |
128 | 150 # the modern MinGW can dynamically link to dlls directly. |
151 # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll | |
152 ifndef MZSCHEME_DLLS | |
153 MZSCHEME_DLLS=$(MZSCHEME) | |
14 | 154 endif |
1951 | 155 MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib |
128 | 156 endif |
157 | |
14 | 158 endif |
159 | |
7 | 160 # Python support -- works with the ActiveState python 2.0 release (and others |
161 # too, probably) | |
162 # | |
163 # uncomment 'PYTHON' to make python-enabled version | |
164 # Put the path to the python distro here. If cross compiling from Linux, you | |
165 # will also need to convert the header files to unix instead of dos format: | |
166 # for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil | |
167 # and also, you will need to make a mingw32 'libpython20.a' to link with: | |
168 # cd $PYTHON/libs | |
169 # pexports python20.dll > python20.def | |
170 # dlltool -d python20.def -l libpython20.a | |
171 # on my Linux box, I put the Python stuff here: | |
172 #PYTHON=/home/ron/ActivePython-2.0.0-202/src/Core | |
173 # on my NT box, it's here: | |
174 #PYTHON=c:/python20 | |
175 | |
176 ifdef PYTHON | |
177 ifndef DYNAMIC_PYTHON | |
178 DYNAMIC_PYTHON=yes | |
179 endif | |
180 | |
181 ifndef PYTHON_VER | |
182 PYTHON_VER=22 | |
183 endif | |
184 | |
185 ifeq (no,$(DYNAMIC_PYTHON)) | |
186 PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER) | |
187 endif | |
188 # my include files are in 'win32inc' on Linux, and 'include' in the standard | |
189 # NT distro (ActiveState) | |
190 ifeq ($(CROSS),no) | |
191 PYTHONINC=-I $(PYTHON)/include | |
192 else | |
193 PYTHONINC=-I $(PYTHON)/win32inc | |
194 endif | |
195 endif | |
196 | |
197 # TCL interface: | |
198 # TCL=[Path to TCL directory] | |
199 # DYNAMIC_TCL=yes (to load the TCL DLL dynamically) | |
200 # TCL_VER=[TCL version, eg 83, 84] (default is 83) | |
201 #TCL=c:/tcl | |
202 ifdef TCL | |
203 ifndef DYNAMIC_TCL | |
204 DYNAMIC_TCL=yes | |
205 endif | |
206 ifndef TCL_VER | |
207 TCL_VER = 83 | |
208 endif | |
209 TCLINC += -I$(TCL)/include | |
210 endif | |
211 | |
212 | |
213 # Ruby interface: | |
214 # RUBY=[Path to Ruby directory] | |
215 # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) | |
216 # RUBY_VER=[Ruby version, eg 16, 17] (default is 16) | |
217 # RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6) | |
218 # You must set RUBY_VER_LONG when change RUBY_VER. | |
219 #RUBY=c:/ruby | |
220 ifdef RUBY | |
221 ifndef DYNAMIC_RUBY | |
222 DYNAMIC_RUBY=yes | |
223 endif | |
224 # Set default value | |
225 ifndef RUBY_VER | |
226 RUBY_VER = 16 | |
227 endif | |
228 ifndef RUBY_VER_LONG | |
229 RUBY_VER_LONG = 1.6 | |
230 endif | |
231 | |
2105
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
232 ifndef RUBY_PLATFORM |
7 | 233 ifeq ($(RUBY_VER), 16) |
234 RUBY_PLATFORM = i586-mswin32 | |
2116
2832243e801e
updated for version 7.2.399
Bram Moolenaar <bram@zimbu.org>
parents:
2105
diff
changeset
|
235 else |
2832243e801e
updated for version 7.2.399
Bram Moolenaar <bram@zimbu.org>
parents:
2105
diff
changeset
|
236 ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),) |
2105
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
237 RUBY_PLATFORM = i386-mingw32 |
7 | 238 else |
239 RUBY_PLATFORM = i386-mswin32 | |
240 endif | |
2105
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
241 endif |
2116
2832243e801e
updated for version 7.2.399
Bram Moolenaar <bram@zimbu.org>
parents:
2105
diff
changeset
|
242 endif |
2105
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
243 |
7 | 244 ifndef RUBY_INSTALL_NAME |
2105
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
245 ifeq ($(RUBY_VER), 16) |
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
246 RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER) |
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
247 else |
7 | 248 RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER) |
249 endif | |
250 endif | |
251 | |
2105
8562c6804861
updated for version 7.2.388
Bram Moolenaar <bram@zimbu.org>
parents:
2093
diff
changeset
|
252 RUBYINC =-I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM) |
7 | 253 ifeq (no, $(DYNAMIC_RUBY)) |
254 RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) | |
255 endif | |
256 | |
257 endif # RUBY | |
258 | |
259 # See feature.h for a list of options. | |
260 # Any other defines can be included here. | |
261 DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD | |
262 DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ | |
263 -DHAVE_PATHDEF -DFEAT_$(FEATURES) | |
264 ifeq ($(CROSS),yes) | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
265 # cross-compiler prefix: |
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
266 CROSS_COMPILE = i586-pc-mingw32msvc- |
7 | 267 DEL = rm |
107 | 268 MKDIR = mkdir -p |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
269 DIRSLASH = / |
7 | 270 else |
271 # normal (Windows) compilation: | |
2093
0e4631bf9441
updated for version 7.2.377
Bram Moolenaar <bram@zimbu.org>
parents:
2088
diff
changeset
|
272 CROSS_COMPILE = |
7 | 273 ifneq (sh.exe, $(SHELL)) |
274 DEL = rm | |
107 | 275 MKDIR = mkdir -p |
7 | 276 DIRSLASH = / |
277 else | |
278 DEL = del | |
107 | 279 MKDIR = mkdir |
7 | 280 DIRSLASH = \\ |
281 endif | |
282 endif | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
283 CC := $(CROSS_COMPILE)gcc |
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
284 WINDRES := $(CROSS_COMPILE)windres |
7 | 285 |
286 #>>>>> end of choices | |
287 ########################################################################### | |
288 | |
39 | 289 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall |
7 | 290 |
291 ifdef GETTEXT | |
177 | 292 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H |
7 | 293 GETTEXTINCLUDE = $(GETTEXT)/include |
294 GETTEXTLIB = $(INTLPATH) | |
295 ifeq (yes, $(GETTEXT)) | |
177 | 296 DEFINES += -DDYNAMIC_GETTEXT |
7 | 297 else |
298 ifdef DYNAMIC_GETTEXT | |
177 | 299 DEFINES += -D$(DYNAMIC_GETTEXT) |
7 | 300 ifdef GETTEXT_DYNAMIC |
301 DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\" | |
302 endif | |
303 endif | |
304 endif | |
305 endif | |
306 | |
307 ifdef PERL | |
308 CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS) | |
309 ifeq (yes, $(DYNAMIC_PERL)) | |
310 CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" | |
311 endif | |
312 endif | |
313 | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
314 ifdef LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
315 CFLAGS += -I$(LUA)/include -DFEAT_LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
316 ifeq (yes, $(DYNAMIC_LUA)) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
317 CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
318 endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
319 endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
320 |
14 | 321 ifdef MZSCHEME |
322 CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\" | |
128 | 323 ifeq (yes, $(DYNAMIC_MZSCHEME)) |
324 CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" | |
325 endif | |
14 | 326 endif |
327 | |
7 | 328 ifdef RUBY |
329 CFLAGS += -DFEAT_RUBY $(RUBYINC) | |
330 ifeq (yes, $(DYNAMIC_RUBY)) | |
331 CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" | |
332 CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER) | |
333 endif | |
334 endif | |
335 | |
336 ifdef PYTHON | |
337 CFLAGS += -DFEAT_PYTHON $(PYTHONINC) | |
338 ifeq (yes, $(DYNAMIC_PYTHON)) | |
339 CFLAGS += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" | |
340 endif | |
341 endif | |
342 | |
343 ifdef TCL | |
344 CFLAGS += -DFEAT_TCL $(TCLINC) | |
345 ifeq (yes, $(DYNAMIC_TCL)) | |
346 CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" | |
347 endif | |
348 endif | |
349 | |
350 ifeq ($(POSTSCRIPT),yes) | |
351 DEFINES += -DMSWINPS | |
352 endif | |
353 | |
354 ifeq (yes, $(OLE)) | |
355 DEFINES += -DFEAT_OLE | |
356 endif | |
357 | |
358 ifeq ($(CSCOPE),yes) | |
359 DEFINES += -DFEAT_CSCOPE | |
360 endif | |
361 | |
362 ifeq ($(NETBEANS),yes) | |
12 | 363 # Only allow NETBEANS for a GUI build. |
364 ifeq (yes, $(GUI)) | |
7 | 365 DEFINES += -DFEAT_NETBEANS_INTG |
12 | 366 |
367 ifeq ($(NBDEBUG), yes) | |
7 | 368 DEFINES += -DNBDEBUG |
369 NBDEBUG_INCL = nbdebug.h | |
370 NBDEBUG_SRC = nbdebug.c | |
371 endif | |
372 endif | |
12 | 373 endif |
7 | 374 |
375 ifdef XPM | |
12 | 376 # Only allow XPM for a GUI build. |
377 ifeq (yes, $(GUI)) | |
7 | 378 CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include |
379 endif | |
12 | 380 endif |
7 | 381 |
382 ifeq ($(DEBUG),yes) | |
383 CFLAGS += -g -fstack-check | |
384 DEBUG_SUFFIX=d | |
385 else | |
386 ifeq ($(OPTIMIZE), SIZE) | |
387 CFLAGS += -Os | |
388 else | |
389 ifeq ($(OPTIMIZE), MAXSPEED) | |
390 CFLAGS += -O3 | |
39 | 391 CFLAGS += -fomit-frame-pointer -freg-struct-return |
7 | 392 else # SPEED |
393 CFLAGS += -O2 | |
394 endif | |
395 endif | |
396 CFLAGS += -s | |
397 endif | |
398 | |
434 | 399 LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion |
188 | 400 GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o |
7 | 401 OBJ = \ |
2192
40edf1be1cd8
Add blowfish and sha256 source files to more Makefiles.
Bram Moolenaar <bram@vim.org>
parents:
2116
diff
changeset
|
402 $(OUTDIR)/blowfish.o \ |
7 | 403 $(OUTDIR)/buffer.o \ |
404 $(OUTDIR)/charset.o \ | |
405 $(OUTDIR)/diff.o \ | |
406 $(OUTDIR)/digraph.o \ | |
407 $(OUTDIR)/edit.o \ | |
408 $(OUTDIR)/eval.o \ | |
409 $(OUTDIR)/ex_cmds.o \ | |
410 $(OUTDIR)/ex_cmds2.o \ | |
411 $(OUTDIR)/ex_docmd.o \ | |
412 $(OUTDIR)/ex_eval.o \ | |
413 $(OUTDIR)/ex_getln.o \ | |
414 $(OUTDIR)/fileio.o \ | |
415 $(OUTDIR)/fold.o \ | |
416 $(OUTDIR)/getchar.o \ | |
440 | 417 $(OUTDIR)/hardcopy.o \ |
799 | 418 $(OUTDIR)/hashtab.o \ |
7 | 419 $(OUTDIR)/main.o \ |
420 $(OUTDIR)/mark.o \ | |
421 $(OUTDIR)/memfile.o \ | |
422 $(OUTDIR)/memline.o \ | |
423 $(OUTDIR)/menu.o \ | |
424 $(OUTDIR)/message.o \ | |
425 $(OUTDIR)/misc1.o \ | |
426 $(OUTDIR)/misc2.o \ | |
427 $(OUTDIR)/move.o \ | |
428 $(OUTDIR)/mbyte.o \ | |
429 $(OUTDIR)/normal.o \ | |
430 $(OUTDIR)/ops.o \ | |
431 $(OUTDIR)/option.o \ | |
432 $(OUTDIR)/os_win32.o \ | |
433 $(OUTDIR)/os_mswin.o \ | |
434 $(OUTDIR)/pathdef.o \ | |
799 | 435 $(OUTDIR)/popupmnu.o \ |
7 | 436 $(OUTDIR)/quickfix.o \ |
437 $(OUTDIR)/regexp.o \ | |
438 $(OUTDIR)/screen.o \ | |
439 $(OUTDIR)/search.o \ | |
2192
40edf1be1cd8
Add blowfish and sha256 source files to more Makefiles.
Bram Moolenaar <bram@vim.org>
parents:
2116
diff
changeset
|
440 $(OUTDIR)/sha256.o \ |
227 | 441 $(OUTDIR)/spell.o \ |
7 | 442 $(OUTDIR)/syntax.o \ |
443 $(OUTDIR)/tag.o \ | |
444 $(OUTDIR)/term.o \ | |
445 $(OUTDIR)/ui.o \ | |
446 $(OUTDIR)/undo.o \ | |
447 $(OUTDIR)/version.o \ | |
448 $(OUTDIR)/vimrc.o \ | |
449 $(OUTDIR)/window.o | |
450 | |
451 ifdef PERL | |
452 OBJ += $(OUTDIR)/if_perl.o | |
453 endif | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
454 ifdef LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
455 OBJ += $(OUTDIR)/if_lua.o |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
456 endif |
14 | 457 ifdef MZSCHEME |
458 OBJ += $(OUTDIR)/if_mzsch.o | |
459 MZSCHEME_INCL = if_mzsch.h | |
1894 | 460 ifeq (yes,$(MZSCHEME_GENERATE_BASE)) |
461 CFLAGS += -DINCLUDE_MZSCHEME_BASE | |
462 MZ_EXTRA_DEP += mzscheme_base.c | |
463 endif | |
464 ifeq (yes,$(MZSCHEME_PRECISE_GC)) | |
465 CFLAGS += -DMZ_PRECISE_GC | |
466 endif | |
14 | 467 endif |
7 | 468 ifdef PYTHON |
469 OBJ += $(OUTDIR)/if_python.o | |
470 endif | |
471 ifdef RUBY | |
472 OBJ += $(OUTDIR)/if_ruby.o | |
473 endif | |
474 ifdef TCL | |
475 OBJ += $(OUTDIR)/if_tcl.o | |
476 endif | |
477 ifeq ($(CSCOPE),yes) | |
478 OBJ += $(OUTDIR)/if_cscope.o | |
479 endif | |
480 ifeq ($(NETBEANS),yes) | |
12 | 481 # Only allow NETBEANS for a GUI build. |
482 ifeq (yes, $(GUI)) | |
188 | 483 OBJ += $(OUTDIR)/netbeans.o |
7 | 484 LIB += -lwsock32 |
485 endif | |
12 | 486 endif |
7 | 487 ifdef XPM |
12 | 488 # Only allow XPM for a GUI build. |
489 ifeq (yes, $(GUI)) | |
7 | 490 OBJ += $(OUTDIR)/xpm_w32.o |
491 # You'll need libXpm.a from http://gnuwin32.sf.net | |
492 LIB += -L $(XPM)/lib -lXpm | |
493 endif | |
12 | 494 endif |
7 | 495 |
496 | |
14 | 497 ifdef MZSCHEME |
498 MZSCHEME_SUFFIX = Z | |
499 endif | |
500 | |
7 | 501 ifeq ($(GUI),yes) |
502 TARGET := gvim$(DEBUG_SUFFIX).exe | |
503 DEFINES += $(DEF_GUI) | |
504 OBJ += $(GUIOBJ) | |
505 LFLAGS += -mwindows | |
14 | 506 OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX) |
7 | 507 else |
508 TARGET := vim$(DEBUG_SUFFIX).exe | |
14 | 509 OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX) |
7 | 510 endif |
511 | |
512 ifdef GETTEXT | |
513 ifneq (yes, $(GETTEXT)) | |
514 CFLAGS += -I$(GETTEXTINCLUDE) | |
515 ifndef STATIC_GETTEXT | |
516 LIB += -L$(GETTEXTLIB) -l$(INTLLIB) | |
517 ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT)) | |
518 OBJ+=$(SAFE_GETTEXT_DLL_OBJ) | |
519 endif | |
520 else | |
521 LIB += -L$(GETTEXTLIB) -lintl | |
522 endif | |
523 endif | |
524 endif | |
525 | |
526 ifdef PERL | |
527 ifeq (no, $(DYNAMIC_PERL)) | |
528 LIB += -lperl$(PERL_VER) | |
529 endif | |
530 endif | |
531 | |
532 ifdef TCL | |
533 LIB += -L$(TCL)/lib | |
534 ifeq (yes, $(DYNAMIC_TCL)) | |
535 LIB += -ltclstub$(TCL_VER) | |
536 else | |
537 LIB += -ltcl$(TCL_VER) | |
538 endif | |
539 endif | |
540 | |
541 ifeq (yes, $(OLE)) | |
542 LIB += -loleaut32 -lstdc++ | |
543 OBJ += $(OUTDIR)/if_ole.o | |
544 endif | |
545 | |
546 ifeq (yes, $(MBYTE)) | |
547 DEFINES += -DFEAT_MBYTE | |
548 endif | |
549 | |
550 ifeq (yes, $(IME)) | |
551 DEFINES += -DFEAT_MBYTE_IME | |
552 ifeq (yes, $(DYNAMIC_IME)) | |
553 DEFINES += -DDYNAMIC_IME | |
554 else | |
555 LIB += -limm32 | |
556 endif | |
557 endif | |
558 | |
559 ifdef ICONV | |
560 ifneq (yes, $(ICONV)) | |
561 LIB += -L$(ICONV) | |
562 CFLAGS += -I$(ICONV) | |
563 endif | |
564 DEFINES+=-DDYNAMIC_ICONV | |
565 endif | |
566 | |
567 all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll | |
568 | |
569 vimrun.exe: vimrun.c | |
570 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB) | |
571 | |
572 install.exe: dosinst.c | |
573 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid | |
574 | |
575 uninstal.exe: uninstal.c | |
576 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) | |
577 | |
578 $(TARGET): $(OUTDIR) $(OBJ) | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
579 $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB) |
7 | 580 |
581 upx: exes | |
582 upx gvim.exe | |
583 upx vim.exe | |
584 | |
585 xxd/xxd.exe: xxd/xxd.c | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
586 $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) |
7 | 587 |
588 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
589 $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) |
7 | 590 |
591 clean: | |
592 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o | |
593 -$(DEL) $(OUTDIR)$(DIRSLASH)*.res | |
594 -rmdir $(OUTDIR) | |
595 -$(DEL) *.exe | |
596 -$(DEL) pathdef.c | |
597 ifdef PERL | |
598 -$(DEL) if_perl.c | |
599 endif | |
1951 | 600 ifdef MZSCHEME |
601 -$(DEL) mzscheme_base.c | |
602 endif | |
7 | 603 $(MAKE) -C GvimExt -f Make_ming.mak clean |
604 $(MAKE) -C xxd -f Make_cyg.mak clean | |
605 | |
606 ########################################################################### | |
607 INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ | |
608 structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \ | |
609 gui.h | |
610 | |
611 $(OUTDIR)/%.o : %.c $(INCL) | |
612 $(CC) -c $(CFLAGS) $< -o $@ | |
613 | |
614 $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h | |
615 $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res | |
616 | |
617 $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res | |
618 $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o | |
619 | |
620 $(OUTDIR): | |
107 | 621 $(MKDIR) $(OUTDIR) |
7 | 622 |
623 $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h | |
624 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o | |
625 | |
626 $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h | |
627 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o | |
628 | |
629 $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h | |
630 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o | |
631 | |
1351 | 632 # Remove -D__IID_DEFINED__ for newer versions of the w32api |
7 | 633 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) |
1351 | 634 $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp |
7 | 635 |
636 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) | |
637 ifeq (16, $(RUBY)) | |
638 $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c | |
639 endif | |
640 | |
641 if_perl.c: if_perl.xs typemap | |
642 perl $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \ | |
643 $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@ | |
644 | |
645 $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) | |
646 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o | |
647 | |
1894 | 648 $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) |
649 $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o | |
650 | |
651 mzscheme_base.c: | |
652 $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base | |
653 | |
7 | 654 pathdef.c: $(INCL) |
655 ifneq (sh.exe, $(SHELL)) | |
656 @echo creating pathdef.c | |
657 @echo '/* pathdef.c */' > pathdef.c | |
658 @echo '#include "vim.h"' >> pathdef.c | |
659 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c | |
660 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c | |
661 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
662 @echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB)";' >> pathdef.c |
7 | 663 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c |
664 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c | |
665 else | |
666 @echo creating pathdef.c | |
667 @echo /* pathdef.c */ > pathdef.c | |
668 @echo #include "vim.h" >> pathdef.c | |
669 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c | |
670 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c | |
671 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2192
diff
changeset
|
672 @echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB)"; >> pathdef.c |
7 | 673 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c |
674 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c | |
675 endif |