Mercurial > vim
annotate src/Make_ming.mak @ 2093:0e4631bf9441 v7.2.377
updated for version 7.2.377
Problem: Misplaced assignment. Duplicate build line for gvimext.dll.
Solution: Move setting CROSS_COMPILE to before ifneq. Remove the wrong
build line. (Markus Heidelberg)
author | Bram Moolenaar <bram@zimbu.org> |
---|---|
date | Fri, 26 Feb 2010 22:05:22 +0100 |
parents | 4ec11bb387a5 |
children | 8562c6804861 |
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 | |
14 | 107 # uncomment 'MZSCHEME' if you want a MzScheme-enabled version |
108 #MZSCHEME=d:/plt | |
109 ifdef MZSCHEME | |
128 | 110 ifndef DYNAMIC_MZSCHEME |
111 DYNAMIC_MZSCHEME=yes | |
112 endif | |
113 | |
14 | 114 ifndef MZSCHEME_VER |
115 MZSCHEME_VER=205_000 | |
116 endif | |
128 | 117 |
1894 | 118 ifndef MZSCHEME_PRECISE_GC |
119 MZSCHEME_PRECISE_GC=no | |
120 endif | |
121 | |
122 # for version 4.x we need to generate byte-code for Scheme base | |
123 ifndef MZSCHEME_GENERATE_BASE | |
124 MZSCHEME_GENERATE_BASE=no | |
125 endif | |
126 | |
128 | 127 ifeq (no,$(DYNAMIC_MZSCHEME)) |
1894 | 128 ifeq (yes,$(MZSCHEME_PRECISE_GC)) |
129 MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER) | |
130 else | |
128 | 131 MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) |
1894 | 132 endif |
128 | 133 # the modern MinGW can dynamically link to dlls directly. |
134 # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll | |
135 ifndef MZSCHEME_DLLS | |
136 MZSCHEME_DLLS=$(MZSCHEME) | |
14 | 137 endif |
1951 | 138 MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib |
128 | 139 endif |
140 | |
14 | 141 endif |
142 | |
7 | 143 # Python support -- works with the ActiveState python 2.0 release (and others |
144 # too, probably) | |
145 # | |
146 # uncomment 'PYTHON' to make python-enabled version | |
147 # Put the path to the python distro here. If cross compiling from Linux, you | |
148 # will also need to convert the header files to unix instead of dos format: | |
149 # for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil | |
150 # and also, you will need to make a mingw32 'libpython20.a' to link with: | |
151 # cd $PYTHON/libs | |
152 # pexports python20.dll > python20.def | |
153 # dlltool -d python20.def -l libpython20.a | |
154 # on my Linux box, I put the Python stuff here: | |
155 #PYTHON=/home/ron/ActivePython-2.0.0-202/src/Core | |
156 # on my NT box, it's here: | |
157 #PYTHON=c:/python20 | |
158 | |
159 ifdef PYTHON | |
160 ifndef DYNAMIC_PYTHON | |
161 DYNAMIC_PYTHON=yes | |
162 endif | |
163 | |
164 ifndef PYTHON_VER | |
165 PYTHON_VER=22 | |
166 endif | |
167 | |
168 ifeq (no,$(DYNAMIC_PYTHON)) | |
169 PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER) | |
170 endif | |
171 # my include files are in 'win32inc' on Linux, and 'include' in the standard | |
172 # NT distro (ActiveState) | |
173 ifeq ($(CROSS),no) | |
174 PYTHONINC=-I $(PYTHON)/include | |
175 else | |
176 PYTHONINC=-I $(PYTHON)/win32inc | |
177 endif | |
178 endif | |
179 | |
180 # TCL interface: | |
181 # TCL=[Path to TCL directory] | |
182 # DYNAMIC_TCL=yes (to load the TCL DLL dynamically) | |
183 # TCL_VER=[TCL version, eg 83, 84] (default is 83) | |
184 #TCL=c:/tcl | |
185 ifdef TCL | |
186 ifndef DYNAMIC_TCL | |
187 DYNAMIC_TCL=yes | |
188 endif | |
189 ifndef TCL_VER | |
190 TCL_VER = 83 | |
191 endif | |
192 TCLINC += -I$(TCL)/include | |
193 endif | |
194 | |
195 | |
196 # Ruby interface: | |
197 # RUBY=[Path to Ruby directory] | |
198 # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) | |
199 # RUBY_VER=[Ruby version, eg 16, 17] (default is 16) | |
200 # RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6) | |
201 # You must set RUBY_VER_LONG when change RUBY_VER. | |
202 #RUBY=c:/ruby | |
203 ifdef RUBY | |
204 ifndef DYNAMIC_RUBY | |
205 DYNAMIC_RUBY=yes | |
206 endif | |
207 # Set default value | |
208 ifndef RUBY_VER | |
209 RUBY_VER = 16 | |
210 endif | |
211 ifndef RUBY_VER_LONG | |
212 RUBY_VER_LONG = 1.6 | |
213 endif | |
214 | |
215 ifeq ($(RUBY_VER), 16) | |
216 ifndef RUBY_PLATFORM | |
217 RUBY_PLATFORM = i586-mswin32 | |
218 endif | |
219 ifndef RUBY_INSTALL_NAME | |
220 RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER) | |
221 endif | |
222 else | |
223 ifndef RUBY_PLATFORM | |
224 RUBY_PLATFORM = i386-mswin32 | |
225 endif | |
226 ifndef RUBY_INSTALL_NAME | |
227 RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER) | |
228 endif | |
229 endif | |
230 | |
231 RUBYINC =-I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM) | |
232 ifeq (no, $(DYNAMIC_RUBY)) | |
233 RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME) | |
234 endif | |
235 | |
236 endif # RUBY | |
237 | |
238 # See feature.h for a list of options. | |
239 # Any other defines can be included here. | |
240 DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD | |
241 DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ | |
242 -DHAVE_PATHDEF -DFEAT_$(FEATURES) | |
243 ifeq ($(CROSS),yes) | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
244 # cross-compiler prefix: |
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
245 CROSS_COMPILE = i586-pc-mingw32msvc- |
7 | 246 DEL = rm |
107 | 247 MKDIR = mkdir -p |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
248 DIRSLASH = / |
7 | 249 else |
250 # normal (Windows) compilation: | |
2093
0e4631bf9441
updated for version 7.2.377
Bram Moolenaar <bram@zimbu.org>
parents:
2088
diff
changeset
|
251 CROSS_COMPILE = |
7 | 252 ifneq (sh.exe, $(SHELL)) |
253 DEL = rm | |
107 | 254 MKDIR = mkdir -p |
7 | 255 DIRSLASH = / |
256 else | |
257 DEL = del | |
107 | 258 MKDIR = mkdir |
7 | 259 DIRSLASH = \\ |
260 endif | |
261 endif | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
262 CC := $(CROSS_COMPILE)gcc |
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
263 WINDRES := $(CROSS_COMPILE)windres |
7 | 264 |
265 #>>>>> end of choices | |
266 ########################################################################### | |
267 | |
39 | 268 CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall |
7 | 269 |
270 ifdef GETTEXT | |
177 | 271 DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H |
7 | 272 GETTEXTINCLUDE = $(GETTEXT)/include |
273 GETTEXTLIB = $(INTLPATH) | |
274 ifeq (yes, $(GETTEXT)) | |
177 | 275 DEFINES += -DDYNAMIC_GETTEXT |
7 | 276 else |
277 ifdef DYNAMIC_GETTEXT | |
177 | 278 DEFINES += -D$(DYNAMIC_GETTEXT) |
7 | 279 ifdef GETTEXT_DYNAMIC |
280 DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\" | |
281 endif | |
282 endif | |
283 endif | |
284 endif | |
285 | |
286 ifdef PERL | |
287 CFLAGS += -I$(PERLLIBS) -DFEAT_PERL -L$(PERLLIBS) | |
288 ifeq (yes, $(DYNAMIC_PERL)) | |
289 CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\" | |
290 endif | |
291 endif | |
292 | |
14 | 293 ifdef MZSCHEME |
294 CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\" | |
128 | 295 ifeq (yes, $(DYNAMIC_MZSCHEME)) |
296 CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" | |
297 endif | |
14 | 298 endif |
299 | |
7 | 300 ifdef RUBY |
301 CFLAGS += -DFEAT_RUBY $(RUBYINC) | |
302 ifeq (yes, $(DYNAMIC_RUBY)) | |
303 CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" | |
304 CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER) | |
305 endif | |
306 endif | |
307 | |
308 ifdef PYTHON | |
309 CFLAGS += -DFEAT_PYTHON $(PYTHONINC) | |
310 ifeq (yes, $(DYNAMIC_PYTHON)) | |
311 CFLAGS += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" | |
312 endif | |
313 endif | |
314 | |
315 ifdef TCL | |
316 CFLAGS += -DFEAT_TCL $(TCLINC) | |
317 ifeq (yes, $(DYNAMIC_TCL)) | |
318 CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\" | |
319 endif | |
320 endif | |
321 | |
322 ifeq ($(POSTSCRIPT),yes) | |
323 DEFINES += -DMSWINPS | |
324 endif | |
325 | |
326 ifeq (yes, $(OLE)) | |
327 DEFINES += -DFEAT_OLE | |
328 endif | |
329 | |
330 ifeq ($(CSCOPE),yes) | |
331 DEFINES += -DFEAT_CSCOPE | |
332 endif | |
333 | |
334 ifeq ($(NETBEANS),yes) | |
12 | 335 # Only allow NETBEANS for a GUI build. |
336 ifeq (yes, $(GUI)) | |
7 | 337 DEFINES += -DFEAT_NETBEANS_INTG |
12 | 338 |
339 ifeq ($(NBDEBUG), yes) | |
7 | 340 DEFINES += -DNBDEBUG |
341 NBDEBUG_INCL = nbdebug.h | |
342 NBDEBUG_SRC = nbdebug.c | |
343 endif | |
344 endif | |
12 | 345 endif |
7 | 346 |
347 ifdef XPM | |
12 | 348 # Only allow XPM for a GUI build. |
349 ifeq (yes, $(GUI)) | |
7 | 350 CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include |
351 endif | |
12 | 352 endif |
7 | 353 |
354 ifeq ($(DEBUG),yes) | |
355 CFLAGS += -g -fstack-check | |
356 DEBUG_SUFFIX=d | |
357 else | |
358 ifeq ($(OPTIMIZE), SIZE) | |
359 CFLAGS += -Os | |
360 else | |
361 ifeq ($(OPTIMIZE), MAXSPEED) | |
362 CFLAGS += -O3 | |
39 | 363 CFLAGS += -fomit-frame-pointer -freg-struct-return |
7 | 364 else # SPEED |
365 CFLAGS += -O2 | |
366 endif | |
367 endif | |
368 CFLAGS += -s | |
369 endif | |
370 | |
434 | 371 LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion |
188 | 372 GUIOBJ = $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o |
7 | 373 OBJ = \ |
374 $(OUTDIR)/buffer.o \ | |
375 $(OUTDIR)/charset.o \ | |
376 $(OUTDIR)/diff.o \ | |
377 $(OUTDIR)/digraph.o \ | |
378 $(OUTDIR)/edit.o \ | |
379 $(OUTDIR)/eval.o \ | |
380 $(OUTDIR)/ex_cmds.o \ | |
381 $(OUTDIR)/ex_cmds2.o \ | |
382 $(OUTDIR)/ex_docmd.o \ | |
383 $(OUTDIR)/ex_eval.o \ | |
384 $(OUTDIR)/ex_getln.o \ | |
385 $(OUTDIR)/fileio.o \ | |
386 $(OUTDIR)/fold.o \ | |
387 $(OUTDIR)/getchar.o \ | |
440 | 388 $(OUTDIR)/hardcopy.o \ |
799 | 389 $(OUTDIR)/hashtab.o \ |
7 | 390 $(OUTDIR)/main.o \ |
391 $(OUTDIR)/mark.o \ | |
392 $(OUTDIR)/memfile.o \ | |
393 $(OUTDIR)/memline.o \ | |
394 $(OUTDIR)/menu.o \ | |
395 $(OUTDIR)/message.o \ | |
396 $(OUTDIR)/misc1.o \ | |
397 $(OUTDIR)/misc2.o \ | |
398 $(OUTDIR)/move.o \ | |
399 $(OUTDIR)/mbyte.o \ | |
400 $(OUTDIR)/normal.o \ | |
401 $(OUTDIR)/ops.o \ | |
402 $(OUTDIR)/option.o \ | |
403 $(OUTDIR)/os_win32.o \ | |
404 $(OUTDIR)/os_mswin.o \ | |
405 $(OUTDIR)/pathdef.o \ | |
799 | 406 $(OUTDIR)/popupmnu.o \ |
7 | 407 $(OUTDIR)/quickfix.o \ |
408 $(OUTDIR)/regexp.o \ | |
409 $(OUTDIR)/screen.o \ | |
410 $(OUTDIR)/search.o \ | |
227 | 411 $(OUTDIR)/spell.o \ |
7 | 412 $(OUTDIR)/syntax.o \ |
413 $(OUTDIR)/tag.o \ | |
414 $(OUTDIR)/term.o \ | |
415 $(OUTDIR)/ui.o \ | |
416 $(OUTDIR)/undo.o \ | |
417 $(OUTDIR)/version.o \ | |
418 $(OUTDIR)/vimrc.o \ | |
419 $(OUTDIR)/window.o | |
420 | |
421 ifdef PERL | |
422 OBJ += $(OUTDIR)/if_perl.o | |
423 endif | |
14 | 424 ifdef MZSCHEME |
425 OBJ += $(OUTDIR)/if_mzsch.o | |
426 MZSCHEME_INCL = if_mzsch.h | |
1894 | 427 ifeq (yes,$(MZSCHEME_GENERATE_BASE)) |
428 CFLAGS += -DINCLUDE_MZSCHEME_BASE | |
429 MZ_EXTRA_DEP += mzscheme_base.c | |
430 endif | |
431 ifeq (yes,$(MZSCHEME_PRECISE_GC)) | |
432 CFLAGS += -DMZ_PRECISE_GC | |
433 endif | |
14 | 434 endif |
7 | 435 ifdef PYTHON |
436 OBJ += $(OUTDIR)/if_python.o | |
437 endif | |
438 ifdef RUBY | |
439 OBJ += $(OUTDIR)/if_ruby.o | |
440 endif | |
441 ifdef TCL | |
442 OBJ += $(OUTDIR)/if_tcl.o | |
443 endif | |
444 ifeq ($(CSCOPE),yes) | |
445 OBJ += $(OUTDIR)/if_cscope.o | |
446 endif | |
447 ifeq ($(NETBEANS),yes) | |
12 | 448 # Only allow NETBEANS for a GUI build. |
449 ifeq (yes, $(GUI)) | |
188 | 450 OBJ += $(OUTDIR)/netbeans.o |
7 | 451 LIB += -lwsock32 |
452 endif | |
12 | 453 endif |
7 | 454 ifdef XPM |
12 | 455 # Only allow XPM for a GUI build. |
456 ifeq (yes, $(GUI)) | |
7 | 457 OBJ += $(OUTDIR)/xpm_w32.o |
458 # You'll need libXpm.a from http://gnuwin32.sf.net | |
459 LIB += -L $(XPM)/lib -lXpm | |
460 endif | |
12 | 461 endif |
7 | 462 |
463 | |
14 | 464 ifdef MZSCHEME |
465 MZSCHEME_SUFFIX = Z | |
466 endif | |
467 | |
7 | 468 ifeq ($(GUI),yes) |
469 TARGET := gvim$(DEBUG_SUFFIX).exe | |
470 DEFINES += $(DEF_GUI) | |
471 OBJ += $(GUIOBJ) | |
472 LFLAGS += -mwindows | |
14 | 473 OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX) |
7 | 474 else |
475 TARGET := vim$(DEBUG_SUFFIX).exe | |
14 | 476 OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX) |
7 | 477 endif |
478 | |
479 ifdef GETTEXT | |
480 ifneq (yes, $(GETTEXT)) | |
481 CFLAGS += -I$(GETTEXTINCLUDE) | |
482 ifndef STATIC_GETTEXT | |
483 LIB += -L$(GETTEXTLIB) -l$(INTLLIB) | |
484 ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT)) | |
485 OBJ+=$(SAFE_GETTEXT_DLL_OBJ) | |
486 endif | |
487 else | |
488 LIB += -L$(GETTEXTLIB) -lintl | |
489 endif | |
490 endif | |
491 endif | |
492 | |
493 ifdef PERL | |
494 ifeq (no, $(DYNAMIC_PERL)) | |
495 LIB += -lperl$(PERL_VER) | |
496 endif | |
497 endif | |
498 | |
499 ifdef TCL | |
500 LIB += -L$(TCL)/lib | |
501 ifeq (yes, $(DYNAMIC_TCL)) | |
502 LIB += -ltclstub$(TCL_VER) | |
503 else | |
504 LIB += -ltcl$(TCL_VER) | |
505 endif | |
506 endif | |
507 | |
508 ifeq (yes, $(OLE)) | |
509 LIB += -loleaut32 -lstdc++ | |
510 OBJ += $(OUTDIR)/if_ole.o | |
511 endif | |
512 | |
513 ifeq (yes, $(MBYTE)) | |
514 DEFINES += -DFEAT_MBYTE | |
515 endif | |
516 | |
517 ifeq (yes, $(IME)) | |
518 DEFINES += -DFEAT_MBYTE_IME | |
519 ifeq (yes, $(DYNAMIC_IME)) | |
520 DEFINES += -DDYNAMIC_IME | |
521 else | |
522 LIB += -limm32 | |
523 endif | |
524 endif | |
525 | |
526 ifdef ICONV | |
527 ifneq (yes, $(ICONV)) | |
528 LIB += -L$(ICONV) | |
529 CFLAGS += -I$(ICONV) | |
530 endif | |
531 DEFINES+=-DDYNAMIC_ICONV | |
532 endif | |
533 | |
534 all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll | |
535 | |
536 vimrun.exe: vimrun.c | |
537 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB) | |
538 | |
539 install.exe: dosinst.c | |
540 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid | |
541 | |
542 uninstal.exe: uninstal.c | |
543 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB) | |
544 | |
545 $(TARGET): $(OUTDIR) $(OBJ) | |
24 | 546 $(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB) |
7 | 547 |
548 upx: exes | |
549 upx gvim.exe | |
550 upx vim.exe | |
551 | |
552 xxd/xxd.exe: xxd/xxd.c | |
2088
4ec11bb387a5
updated for version 7.2.372
Bram Moolenaar <bram@zimbu.org>
parents:
1951
diff
changeset
|
553 $(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) |
7 | 554 |
555 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
|
556 $(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) |
7 | 557 |
558 clean: | |
559 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o | |
560 -$(DEL) $(OUTDIR)$(DIRSLASH)*.res | |
561 -rmdir $(OUTDIR) | |
562 -$(DEL) *.exe | |
563 -$(DEL) pathdef.c | |
564 ifdef PERL | |
565 -$(DEL) if_perl.c | |
566 endif | |
1951 | 567 ifdef MZSCHEME |
568 -$(DEL) mzscheme_base.c | |
569 endif | |
7 | 570 $(MAKE) -C GvimExt -f Make_ming.mak clean |
571 $(MAKE) -C xxd -f Make_cyg.mak clean | |
572 | |
573 ########################################################################### | |
574 INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \ | |
575 structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \ | |
576 gui.h | |
577 | |
578 $(OUTDIR)/%.o : %.c $(INCL) | |
579 $(CC) -c $(CFLAGS) $< -o $@ | |
580 | |
581 $(OUTDIR)/vimres.res: vim.rc version.h gui_w32_rc.h | |
582 $(WINDRES) $(DEFINES) vim.rc $(OUTDIR)/vimres.res | |
583 | |
584 $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res | |
585 $(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o | |
586 | |
587 $(OUTDIR): | |
107 | 588 $(MKDIR) $(OUTDIR) |
7 | 589 |
590 $(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h | |
591 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o | |
592 | |
593 $(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h | |
594 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o | |
595 | |
596 $(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h | |
597 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o | |
598 | |
1351 | 599 # Remove -D__IID_DEFINED__ for newer versions of the w32api |
7 | 600 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) |
1351 | 601 $(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp |
7 | 602 |
603 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL) | |
604 ifeq (16, $(RUBY)) | |
605 $(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c | |
606 endif | |
607 | |
608 if_perl.c: if_perl.xs typemap | |
609 perl $(PERLLIB)/ExtUtils/xsubpp -prototypes -typemap \ | |
610 $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@ | |
611 | |
612 $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) | |
613 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o | |
614 | |
1894 | 615 $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) |
616 $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o | |
617 | |
618 mzscheme_base.c: | |
619 $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base | |
620 | |
7 | 621 pathdef.c: $(INCL) |
622 ifneq (sh.exe, $(SHELL)) | |
623 @echo creating pathdef.c | |
624 @echo '/* pathdef.c */' > pathdef.c | |
625 @echo '#include "vim.h"' >> pathdef.c | |
626 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c | |
627 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c | |
628 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c | |
89 | 629 @echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB)";' >> pathdef.c |
7 | 630 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c |
631 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c | |
632 else | |
633 @echo creating pathdef.c | |
634 @echo /* pathdef.c */ > pathdef.c | |
635 @echo #include "vim.h" >> pathdef.c | |
636 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c | |
637 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c | |
638 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c | |
89 | 639 @echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(RUBYLIB)"; >> pathdef.c |
7 | 640 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c |
641 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c | |
642 endif |