blob: 0a869dc122b897f45628e3f9f024207d5318bae4 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile for VIM on Win32, using Cygnus gcc
Bram Moolenaar61bfb9f2007-09-30 20:28:48 +00003# Last updated by Dan Sharp. Last Change: 2007 Sep 29
Bram Moolenaar65c1b012005-01-31 19:02:28 +00004#
5# Also read INSTALLpc.txt!
Bram Moolenaar071d4272004-06-13 20:20:40 +00006#
7# This compiles Vim as a Windows application. If you want Vim to run as a
8# Cygwin application use the Makefile (just like on Unix).
9#
10# GUI no or yes: set to yes if you want the GUI version (yes)
11# PERL define to path to Perl dir to get Perl support (not defined)
12# PERL_VER define to version of Perl being used (56)
13# DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (yes)
14# PYTHON define to path to Python dir to get PYTHON support (not defined)
15# PYTHON_VER define to version of Python being used (22)
16# DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (yes)
17# TCL define to path to TCL dir to get TCL support (not defined)
18# TCL_VER define to version of TCL being used (83)
19# DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes)
20# RUBY define to path to Ruby dir to get Ruby support (not defined)
21# RUBY_VER define to version of Ruby being used (16)
22# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes)
Bram Moolenaar281bdce2005-01-25 21:53:18 +000023# MZSCHEME define to path to MzScheme dir to get MZSCHEME support (not defined)
24# MZSCHEME_VER define to version of MzScheme being used (209_000)
25# DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes)
Bram Moolenaar65c1b012005-01-31 19:02:28 +000026# MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
Bram Moolenaar071d4272004-06-13 20:20:40 +000027# GETTEXT no or yes: set to yes for dynamic gettext support (yes)
28# ICONV no or yes: set to yes for dynamic iconv support (yes)
29# MBYTE no or yes: set to yes to include multibyte support (yes)
30# IME no or yes: set to yes to include IME support (yes)
31# DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
32# OLE no or yes: set to yes to make OLE gvim (no)
33# DEBUG no or yes: set to yes if you wish a DEBUGging build (no)
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000034# CPUNR No longer supported, use ARCH.
Bram Moolenaar071d4272004-06-13 20:20:40 +000035# ARCH i386 through pentium4: select -march argument to compile with (i386)
36# USEDLL no or yes: set to yes to use the Runtime library DLL (no)
37# For USEDLL=yes the cygwin1.dll is required to run Vim.
38# POSTSCRIPT no or yes: set to yes for PostScript printing (no)
39# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
40# WINVER Lowest Win32 version to support. (0x0400)
41# CSCOPE no or yes: to include cscope interface support (yes)
42# OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
43# NETBEANS no or yes: to include netbeans interface support (yes when GUI
44# is yes)
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000045# NBDEBUG no or yes: to include netbeans interface debugging support (no)
Bram Moolenaar071d4272004-06-13 20:20:40 +000046# XPM define to path to XPM dir to get XPM image support (not defined)
47#>>>>> choose options:
48ifndef GUI
49GUI=yes
50endif
51
52ifndef FEATURES
53FEATURES = BIG
54endif
55
56ifndef GETTEXT
57GETTEXT = yes
58endif
59
60ifndef ICONV
61ICONV = yes
62endif
63
64ifndef MBYTE
65MBYTE = yes
66endif
67
68ifndef IME
69IME = yes
70endif
71
Bram Moolenaar071d4272004-06-13 20:20:40 +000072ifndef ARCH
73ARCH = i386
74endif
75
76ifndef WINVER
77WINVER = 0x0400
78endif
79
80ifndef CSCOPE
81CSCOPE = yes
82endif
83
84ifndef NETBEANS
85ifeq ($(GUI),yes)
86NETBEANS = yes
87endif
88endif
89
90ifndef OPTIMIZE
91OPTIMIZE = MAXSPEED
92endif
93
94### See feature.h for a list of optionals.
95### Any other defines can be included here.
96
97DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \
98 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000099INCLUDES = -march=$(ARCH) -Iproto
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100
101#>>>>> name of the compiler and linker, name of lib directory
102CC = gcc
103RC = windres
104
105##############################
106# DYNAMIC_PERL=yes and no both work
107##############################
108ifdef PERL
109DEFINES += -DFEAT_PERL
110INCLUDES += -I$(PERL)/lib/CORE
111EXTRA_OBJS += $(OUTDIR)/if_perl.o
112
113ifndef DYNAMIC_PERL
114DYNAMIC_PERL = yes
115endif
116
117ifndef PERL_VER
118PERL_VER = 56
119endif
120
121ifeq (yes, $(DYNAMIC_PERL))
122DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
123else
124EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib
125endif
126endif
127
128##############################
129# DYNAMIC_PYTHON=yes works.
130# DYNAMIC_PYTHON=no does not (unresolved externals on link).
131##############################
132ifdef PYTHON
133DEFINES += -DFEAT_PYTHON
134INCLUDES += -I$(PYTHON)/include
135EXTRA_OBJS += $(OUTDIR)/if_python.o
136
137ifndef DYNAMIC_PYTHON
138DYNAMIC_PYTHON = yes
139endif
140
141ifndef PYTHON_VER
142PYTHON_VER = 22
143endif
144
145ifeq (yes, $(DYNAMIC_PYTHON))
146DEFINES += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
147else
148EXTRA_LIBS += $(PYTHON)/libs/python$(PYTHON_VER).lib
149endif
150endif
151
152##############################
153# DYNAMIC_RUBY=yes works.
154# DYNAMIC_RUBY=no does not (process exits).
155##############################
156ifdef RUBY
157
158ifndef RUBY_VER
159RUBY_VER=16
160endif
161
162ifndef RUBY_VER_LONG
163RUBY_VER_LONG=1.6
164endif
165
166ifndef DYNAMIC_RUBY
167DYNAMIC_RUBY = yes
168endif
169
170ifeq ($(RUBY_VER), 16)
171ifndef RUBY_PLATFORM
172RUBY_PLATFORM = i586-mswin32
173endif
174ifndef RUBY_INSTALL_NAME
175RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
176endif
177else
178ifndef RUBY_PLATFORM
179RUBY_PLATFORM = i386-mswin32
180endif
181ifndef RUBY_INSTALL_NAME
182RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
183endif
184endif
185
186DEFINES += -DFEAT_RUBY
187INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
188EXTRA_OBJS += $(OUTDIR)/if_ruby.o
189
190ifeq (yes, $(DYNAMIC_RUBY))
191DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
192DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
193else
194EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib
195endif
196endif
197
198##############################
Bram Moolenaar281bdce2005-01-25 21:53:18 +0000199# DYNAMIC_MZSCHEME=yes works
200# DYNAMIC_MZSCHEME=no works too
201##############################
202ifdef MZSCHEME
203DEFINES += -DFEAT_MZSCHEME
204INCLUDES += -I$(MZSCHEME)/include
205EXTRA_OBJS += $(OUTDIR)/if_mzsch.o
206
207ifndef DYNAMIC_MZSCHEME
208DYNAMIC_MZSCHEME = yes
209endif
210
211ifndef MZSCHEME_VER
212MZSCHEME_VER = 209_000
213endif
214
Bram Moolenaar2d6db762009-09-11 10:49:58 +0000215ifndef MZSCHEME_PRECISE_GC
216MZSCHEME_PRECISE_GC=no
217endif
218
219# for version 4.x we need to generate byte-code for Scheme base
220ifndef MZSCHEME_GENERATE_BASE
221MZSCHEME_GENERATE_BASE=no
222endif
223
Bram Moolenaar281bdce2005-01-25 21:53:18 +0000224ifeq (yes, $(DYNAMIC_MZSCHEME))
225DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
226else
227ifndef MZSCHEME_DLLS
228MZSCHEME_DLLS = $(MZSCHEME)
229endif
Bram Moolenaar2d6db762009-09-11 10:49:58 +0000230ifeq (yes,$(MZSCHEME_PRECISE_GC))
231MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
232else
233MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
234endif
235EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
236endif
237ifeq (yes,$(MZSCHEME_GENERATE_BASE))
238DEFINES += -DINCLUDE_MZSCHEME_BASE
239MZ_EXTRA_DEP += mzscheme_base.c
240endif
241ifeq (yes,$(MZSCHEME_PRECISE_GC))
242DEFINES += -DMZ_PRECISE_GC
Bram Moolenaar281bdce2005-01-25 21:53:18 +0000243endif
244endif
245
246##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000247# DYNAMIC_TCL=yes and no both work.
248##############################
249ifdef TCL
250DEFINES += -DFEAT_TCL
251INCLUDES += -I$(TCL)/include
252EXTRA_OBJS += $(OUTDIR)/if_tcl.o
253
254ifndef DYNAMIC_TCL
255DYNAMIC_TCL = yes
256endif
257
258ifndef TCL_VER
259TCL_VER = 83
260endif
261
262ifeq (yes, $(DYNAMIC_TCL))
263DEFINES += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
264EXTRA_LIBS += $(TCL)/lib/tclstub$(TCL_VER).lib
265else
266EXTRA_LIBS += $(TCL)/lib/tcl$(TCL_VER).lib
267endif
268endif
269
270##############################
271ifeq (yes, $(GETTEXT))
272DEFINES += -DDYNAMIC_GETTEXT
273endif
274
275##############################
276ifeq (yes, $(ICONV))
277DEFINES += -DDYNAMIC_ICONV
278endif
279
280##############################
281ifeq (yes, $(MBYTE))
282DEFINES += -DFEAT_MBYTE
283endif
284
285##############################
286ifeq (yes, $(IME))
287DEFINES += -DFEAT_MBYTE_IME
288
289ifndef DYNAMIC_IME
290DYNAMIC_IME = yes
291endif
292
293ifeq (yes, $(DYNAMIC_IME))
294DEFINES += -DDYNAMIC_IME
295else
296EXTRA_LIBS += -limm32
297endif
298endif
299
300##############################
301ifeq (yes, $(DEBUG))
302DEFINES += -DDEBUG
303INCLUDES += -g -fstack-check
304DEBUG_SUFFIX = d
305else
306
307ifeq ($(OPTIMIZE), SIZE)
308OPTFLAG = -Os
309else
310ifeq ($(OPTIMIZE), MAXSPEED)
Bram Moolenaar1cd871b2004-12-19 22:46:22 +0000311OPTFLAG = -O3 -fomit-frame-pointer -freg-struct-return
Bram Moolenaar071d4272004-06-13 20:20:40 +0000312else
313OPTFLAG = -O2
314endif
315endif
316
317# A bug in the GCC <= 3.2 optimizer can cause a crash. The
318# following option removes the problem optimization.
319OPTFLAG += -fno-strength-reduce
320
321INCLUDES += -s
322
323endif
324
325##############################
326# USEDLL=yes will build a Cygwin32 executable that relies on cygwin1.dll.
327# USEDLL=no will build a Mingw32 executable with no extra dll dependencies.
328##############################
329ifeq (yes, $(USEDLL))
330DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
331else
332INCLUDES += -mno-cygwin
333endif
334
335##############################
336ifeq (yes, $(POSTSCRIPT))
337DEFINES += -DMSWINPS
338endif
339
340##############################
341ifeq (yes, $(CSCOPE))
342DEFINES += -DFEAT_CSCOPE
343EXTRA_OBJS += $(OUTDIR)/if_cscope.o
344endif
345
346##############################
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000347ifeq ($(GUI),yes)
348
349##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000350ifeq (yes, $(NETBEANS))
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000351# Only allow NETBEANS for a GUI build.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000352DEFINES += -DFEAT_NETBEANS_INTG
Bram Moolenaar408fb622005-03-07 23:03:19 +0000353EXTRA_OBJS += $(OUTDIR)/netbeans.o
Bram Moolenaar071d4272004-06-13 20:20:40 +0000354EXTRA_LIBS += -lwsock32
355
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000356ifeq (yes, $(NBDEBUG))
Bram Moolenaar071d4272004-06-13 20:20:40 +0000357DEFINES += -DNBDEBUG
358NBDEBUG_DEP = nbdebug.h nbdebug.c
359endif
360
361endif
362
363##############################
364ifdef XPM
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000365# Only allow XPM for a GUI build.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000366DEFINES += -DFEAT_XPM_W32
367INCLUDES += -I$(XPM)/include
368EXTRA_OBJS += $(OUTDIR)/xpm_w32.o
369EXTRA_LIBS += -L$(XPM)/lib -lXpm
370endif
371
372##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000373EXE = gvim$(DEBUG_SUFFIX).exe
374OUTDIR = gobj$(DEBUG_SUFFIX)
375DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
Bram Moolenaar408fb622005-03-07 23:03:19 +0000376EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
Bram Moolenaar45360022005-07-21 21:08:21 +0000377EXTRA_LIBS += -mwindows -lcomctl32 -lversion
Bram Moolenaar071d4272004-06-13 20:20:40 +0000378else
379EXE = vim$(DEBUG_SUFFIX).exe
380OUTDIR = obj$(DEBUG_SUFFIX)
381LIBS += -luser32 -lgdi32 -lcomdlg32
382endif
383
384##############################
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000385ifeq (yes, $(OLE))
386DEFINES += -DFEAT_OLE
387EXTRA_OBJS += $(OUTDIR)/if_ole.o
388EXTRA_LIBS += -loleaut32 -lstdc++
389endif
390
391##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000392ifneq (sh.exe, $(SHELL))
393DEL = rm
Bram Moolenaar32e4e1f2005-01-16 21:57:33 +0000394MKDIR = mkdir -p
Bram Moolenaar071d4272004-06-13 20:20:40 +0000395DIRSLASH = /
396else
397DEL = del
Bram Moolenaar32e4e1f2005-01-16 21:57:33 +0000398MKDIR = mkdir
Bram Moolenaar071d4272004-06-13 20:20:40 +0000399DIRSLASH = \\
400endif
401
402#>>>>> end of choices
403###########################################################################
404
405INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_win32.h \
406 structs.h version.h
407
408CFLAGS = $(OPTFLAG) $(DEFINES) $(INCLUDES)
409
410RCFLAGS = -O coff $(DEFINES)
411
412OBJ = \
413 $(OUTDIR)/buffer.o \
414 $(OUTDIR)/charset.o \
415 $(OUTDIR)/diff.o \
416 $(OUTDIR)/digraph.o \
417 $(OUTDIR)/edit.o \
418 $(OUTDIR)/eval.o \
419 $(OUTDIR)/ex_cmds.o \
420 $(OUTDIR)/ex_cmds2.o \
421 $(OUTDIR)/ex_docmd.o \
422 $(OUTDIR)/ex_eval.o \
423 $(OUTDIR)/ex_getln.o \
424 $(OUTDIR)/fileio.o \
425 $(OUTDIR)/fold.o \
426 $(OUTDIR)/getchar.o \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000427 $(OUTDIR)/hardcopy.o \
Bram Moolenaar76b92b22006-03-24 22:46:53 +0000428 $(OUTDIR)/hashtab.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000429 $(OUTDIR)/main.o \
430 $(OUTDIR)/mark.o \
431 $(OUTDIR)/memfile.o \
432 $(OUTDIR)/memline.o \
433 $(OUTDIR)/menu.o \
434 $(OUTDIR)/message.o \
435 $(OUTDIR)/misc1.o \
436 $(OUTDIR)/misc2.o \
437 $(OUTDIR)/move.o \
438 $(OUTDIR)/mbyte.o \
439 $(OUTDIR)/normal.o \
440 $(OUTDIR)/ops.o \
441 $(OUTDIR)/option.o \
442 $(OUTDIR)/os_win32.o \
443 $(OUTDIR)/os_mswin.o \
444 $(OUTDIR)/pathdef.o \
Bram Moolenaar76b92b22006-03-24 22:46:53 +0000445 $(OUTDIR)/popupmnu.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000446 $(OUTDIR)/quickfix.o \
447 $(OUTDIR)/regexp.o \
448 $(OUTDIR)/screen.o \
449 $(OUTDIR)/search.o \
Bram Moolenaarfc735152005-03-22 22:54:12 +0000450 $(OUTDIR)/spell.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000451 $(OUTDIR)/syntax.o \
452 $(OUTDIR)/tag.o \
453 $(OUTDIR)/term.o \
454 $(OUTDIR)/ui.o \
455 $(OUTDIR)/undo.o \
456 $(OUTDIR)/version.o \
457 $(OUTDIR)/vimrc.o \
458 $(OUTDIR)/window.o \
459 $(EXTRA_OBJS)
460
461all: $(EXE) xxd/xxd.exe vimrun.exe install.exe uninstal.exe GvimExt/gvimext.dll
462
463# According to the Cygwin doc 1.2 FAQ, kernel32 should not be specified for
464# linking unless calling ld directly.
465# See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information.
466$(EXE): $(OUTDIR) $(OBJ)
467 $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
468
469xxd/xxd.exe: xxd/xxd.c
470 $(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL)
471
472GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
473 $(MAKE) -C GvimExt -f Make_ming.mak
474
475vimrun.exe: vimrun.c
476 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
477
478install.exe: dosinst.c
479 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIBS) -luuid -lole32
480
481uninstal.exe: uninstal.c
482 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIBS)
483
484$(OUTDIR):
Bram Moolenaar32e4e1f2005-01-16 21:57:33 +0000485 $(MKDIR) $(OUTDIR)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000486
487tags:
488 command /c ctags *.c $(INCL)
489
490clean:
491 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
492 -rmdir $(OUTDIR)
Bram Moolenaarcf3630f2005-01-08 16:04:29 +0000493 -$(DEL) $(EXE) vimrun.exe install.exe uninstal.exe
Bram Moolenaar071d4272004-06-13 20:20:40 +0000494ifdef PERL
495 -$(DEL) if_perl.c
496endif
Bram Moolenaar2d6db762009-09-11 10:49:58 +0000497ifdef MZSCHEME
498 -$(DEL) mzscheme_base.c
499endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000500 -$(DEL) pathdef.c
501 $(MAKE) -C xxd -f Make_cyg.mak clean
502 $(MAKE) -C GvimExt -f Make_ming.mak clean
503
Bram Moolenaarcf3630f2005-01-08 16:04:29 +0000504distclean: clean
505 -$(DEL) obj$(DIRSLASH)*.o
506 -rmdir obj
507 -$(DEL) gobj$(DIRSLASH)*.o
508 -rmdir gobj
509 -$(DEL) objd$(DIRSLASH)*.o
510 -rmdir objd
511 -$(DEL) gobjd$(DIRSLASH)*.o
512 -rmdir gobjd
513 -$(DEL) *.exe
514
Bram Moolenaar071d4272004-06-13 20:20:40 +0000515###########################################################################
516
517$(OUTDIR)/%.o : %.c $(INCL)
518 $(CC) -c $(CFLAGS) $< -o $@
519
520$(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
521 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
522
523$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
524 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
525
526$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
527 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
528
529$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
Bram Moolenaar61bfb9f2007-09-30 20:28:48 +0000530 $(CC) -c $(CFLAGS) if_ole.cpp -o $(OUTDIR)/if_ole.o
Bram Moolenaar071d4272004-06-13 20:20:40 +0000531
532if_perl.c: if_perl.xs typemap
Bram Moolenaarcf3630f2005-01-08 16:04:29 +0000533 $(PERL)/bin/perl `cygpath -d $(PERL)/lib/ExtUtils/xsubpp` \
534 -prototypes -typemap \
535 `cygpath -d $(PERL)/lib/ExtUtils/typemap` if_perl.xs > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000536
537$(OUTDIR)/if_perl.o: if_perl.c $(INCL)
538ifeq (yes, $(USEDLL))
539 $(CC) -c $(CFLAGS) -I/usr/include/mingw -D__MINGW32__ if_perl.c -o $(OUTDIR)/if_perl.o
540endif
541
542$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
543ifeq (16, $(RUBY_VER))
544 $(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o
545endif
546
547$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP)
548 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
549
Bram Moolenaar2d6db762009-09-11 10:49:58 +0000550$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
551 $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
552
Bram Moolenaar071d4272004-06-13 20:20:40 +0000553$(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
554 $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o
555
Bram Moolenaar2d6db762009-09-11 10:49:58 +0000556mzscheme_base.c:
557 $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
558
Bram Moolenaar071d4272004-06-13 20:20:40 +0000559pathdef.c: $(INCL)
560ifneq (sh.exe, $(SHELL))
561 @echo creating pathdef.c
562 @echo '/* pathdef.c */' > pathdef.c
563 @echo '#include "vim.h"' >> pathdef.c
564 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
565 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
566 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
567 @echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)";' >> pathdef.c
568 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
569 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
570else
571 @echo creating pathdef.c
572 @echo /* pathdef.c */ > pathdef.c
573 @echo #include "vim.h" >> pathdef.c
574 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
575 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
576 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
577 @echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)"; >> pathdef.c
578 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
579 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
580endif