blob: 5319994eaddd1961a0c92c75de2f3e87f9299045 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile for VIM on Win32, using Cygnus gcc
Bram Moolenaar383f9bc2005-01-19 22:18:32 +00003# Last updated by Dan Sharp. Last Change: 2005 Jan 19
Bram Moolenaar071d4272004-06-13 20:20:40 +00004#
5# This compiles Vim as a Windows application. If you want Vim to run as a
6# Cygwin application use the Makefile (just like on Unix).
7#
8# GUI no or yes: set to yes if you want the GUI version (yes)
9# PERL define to path to Perl dir to get Perl support (not defined)
10# PERL_VER define to version of Perl being used (56)
11# DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (yes)
12# PYTHON define to path to Python dir to get PYTHON support (not defined)
13# PYTHON_VER define to version of Python being used (22)
14# DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (yes)
15# TCL define to path to TCL dir to get TCL support (not defined)
16# TCL_VER define to version of TCL being used (83)
17# DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes)
18# RUBY define to path to Ruby dir to get Ruby support (not defined)
19# RUBY_VER define to version of Ruby being used (16)
20# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes)
Bram Moolenaar281bdce2005-01-25 21:53:18 +000021# MZSCHEME define to path to MzScheme dir to get MZSCHEME support (not defined)
22# MZSCHEME_VER define to version of MzScheme being used (209_000)
23# DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes)
24# MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch).
25# Is used for DYNAMIC_MZSCHEME=no only.
26# c:/windows/system32 isn't a good idea, copy them to some
27# dir and point MZSCHEME_DLLS to this dir.
28# By default $(MZSCHEME) will be used. You can remove
29# these DLLs from $(MZSCHEME_DLLS) after you
30# built Vim (they are used for dll "static" linking only)
Bram Moolenaar071d4272004-06-13 20:20:40 +000031# GETTEXT no or yes: set to yes for dynamic gettext support (yes)
32# ICONV no or yes: set to yes for dynamic iconv support (yes)
33# MBYTE no or yes: set to yes to include multibyte support (yes)
34# IME no or yes: set to yes to include IME support (yes)
35# DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
36# OLE no or yes: set to yes to make OLE gvim (no)
37# DEBUG no or yes: set to yes if you wish a DEBUGging build (no)
Bram Moolenaar1cd871b2004-12-19 22:46:22 +000038# CPUNR No longer supported, use ARCH.
Bram Moolenaar071d4272004-06-13 20:20:40 +000039# ARCH i386 through pentium4: select -march argument to compile with (i386)
40# USEDLL no or yes: set to yes to use the Runtime library DLL (no)
41# For USEDLL=yes the cygwin1.dll is required to run Vim.
42# POSTSCRIPT no or yes: set to yes for PostScript printing (no)
43# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG)
44# WINVER Lowest Win32 version to support. (0x0400)
45# CSCOPE no or yes: to include cscope interface support (yes)
46# OPTIMIZE SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
47# NETBEANS no or yes: to include netbeans interface support (yes when GUI
48# is yes)
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +000049# NBDEBUG no or yes: to include netbeans interface debugging support (no)
Bram Moolenaar071d4272004-06-13 20:20:40 +000050# XPM define to path to XPM dir to get XPM image support (not defined)
51#>>>>> choose options:
52ifndef GUI
53GUI=yes
54endif
55
56ifndef FEATURES
57FEATURES = BIG
58endif
59
60ifndef GETTEXT
61GETTEXT = yes
62endif
63
64ifndef ICONV
65ICONV = yes
66endif
67
68ifndef MBYTE
69MBYTE = yes
70endif
71
72ifndef IME
73IME = yes
74endif
75
Bram Moolenaar071d4272004-06-13 20:20:40 +000076ifndef ARCH
77ARCH = i386
78endif
79
80ifndef WINVER
81WINVER = 0x0400
82endif
83
84ifndef CSCOPE
85CSCOPE = yes
86endif
87
88ifndef NETBEANS
89ifeq ($(GUI),yes)
90NETBEANS = yes
91endif
92endif
93
94ifndef OPTIMIZE
95OPTIMIZE = MAXSPEED
96endif
97
98### See feature.h for a list of optionals.
99### Any other defines can be included here.
100
101DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \
102 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
Bram Moolenaar1cd871b2004-12-19 22:46:22 +0000103INCLUDES = -march=$(ARCH) -Iproto
Bram Moolenaar071d4272004-06-13 20:20:40 +0000104
105#>>>>> name of the compiler and linker, name of lib directory
106CC = gcc
107RC = windres
108
109##############################
110# DYNAMIC_PERL=yes and no both work
111##############################
112ifdef PERL
113DEFINES += -DFEAT_PERL
114INCLUDES += -I$(PERL)/lib/CORE
115EXTRA_OBJS += $(OUTDIR)/if_perl.o
116
117ifndef DYNAMIC_PERL
118DYNAMIC_PERL = yes
119endif
120
121ifndef PERL_VER
122PERL_VER = 56
123endif
124
125ifeq (yes, $(DYNAMIC_PERL))
126DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
127else
128EXTRA_LIBS += $(PERL)/lib/CORE/perl$(PERL_VER).lib
129endif
130endif
131
132##############################
133# DYNAMIC_PYTHON=yes works.
134# DYNAMIC_PYTHON=no does not (unresolved externals on link).
135##############################
136ifdef PYTHON
137DEFINES += -DFEAT_PYTHON
138INCLUDES += -I$(PYTHON)/include
139EXTRA_OBJS += $(OUTDIR)/if_python.o
140
141ifndef DYNAMIC_PYTHON
142DYNAMIC_PYTHON = yes
143endif
144
145ifndef PYTHON_VER
146PYTHON_VER = 22
147endif
148
149ifeq (yes, $(DYNAMIC_PYTHON))
150DEFINES += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
151else
152EXTRA_LIBS += $(PYTHON)/libs/python$(PYTHON_VER).lib
153endif
154endif
155
156##############################
157# DYNAMIC_RUBY=yes works.
158# DYNAMIC_RUBY=no does not (process exits).
159##############################
160ifdef RUBY
161
162ifndef RUBY_VER
163RUBY_VER=16
164endif
165
166ifndef RUBY_VER_LONG
167RUBY_VER_LONG=1.6
168endif
169
170ifndef DYNAMIC_RUBY
171DYNAMIC_RUBY = yes
172endif
173
174ifeq ($(RUBY_VER), 16)
175ifndef RUBY_PLATFORM
176RUBY_PLATFORM = i586-mswin32
177endif
178ifndef RUBY_INSTALL_NAME
179RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
180endif
181else
182ifndef RUBY_PLATFORM
183RUBY_PLATFORM = i386-mswin32
184endif
185ifndef RUBY_INSTALL_NAME
186RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
187endif
188endif
189
190DEFINES += -DFEAT_RUBY
191INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
192EXTRA_OBJS += $(OUTDIR)/if_ruby.o
193
194ifeq (yes, $(DYNAMIC_RUBY))
195DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
196DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
197else
198EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME).lib
199endif
200endif
201
202##############################
Bram Moolenaar281bdce2005-01-25 21:53:18 +0000203# DYNAMIC_MZSCHEME=yes works
204# DYNAMIC_MZSCHEME=no works too
205##############################
206ifdef MZSCHEME
207DEFINES += -DFEAT_MZSCHEME
208INCLUDES += -I$(MZSCHEME)/include
209EXTRA_OBJS += $(OUTDIR)/if_mzsch.o
210
211ifndef DYNAMIC_MZSCHEME
212DYNAMIC_MZSCHEME = yes
213endif
214
215ifndef MZSCHEME_VER
216MZSCHEME_VER = 209_000
217endif
218
219ifeq (yes, $(DYNAMIC_MZSCHEME))
220DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
221else
222ifndef MZSCHEME_DLLS
223MZSCHEME_DLLS = $(MZSCHEME)
224endif
225EXTRA_LIBS += -L$(MZSCHEME_DLLS) -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
226endif
227endif
228
229##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000230# DYNAMIC_TCL=yes and no both work.
231##############################
232ifdef TCL
233DEFINES += -DFEAT_TCL
234INCLUDES += -I$(TCL)/include
235EXTRA_OBJS += $(OUTDIR)/if_tcl.o
236
237ifndef DYNAMIC_TCL
238DYNAMIC_TCL = yes
239endif
240
241ifndef TCL_VER
242TCL_VER = 83
243endif
244
245ifeq (yes, $(DYNAMIC_TCL))
246DEFINES += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
247EXTRA_LIBS += $(TCL)/lib/tclstub$(TCL_VER).lib
248else
249EXTRA_LIBS += $(TCL)/lib/tcl$(TCL_VER).lib
250endif
251endif
252
253##############################
254ifeq (yes, $(GETTEXT))
255DEFINES += -DDYNAMIC_GETTEXT
256endif
257
258##############################
259ifeq (yes, $(ICONV))
260DEFINES += -DDYNAMIC_ICONV
261endif
262
263##############################
264ifeq (yes, $(MBYTE))
265DEFINES += -DFEAT_MBYTE
266endif
267
268##############################
269ifeq (yes, $(IME))
270DEFINES += -DFEAT_MBYTE_IME
271
272ifndef DYNAMIC_IME
273DYNAMIC_IME = yes
274endif
275
276ifeq (yes, $(DYNAMIC_IME))
277DEFINES += -DDYNAMIC_IME
278else
279EXTRA_LIBS += -limm32
280endif
281endif
282
283##############################
284ifeq (yes, $(DEBUG))
285DEFINES += -DDEBUG
286INCLUDES += -g -fstack-check
287DEBUG_SUFFIX = d
288else
289
290ifeq ($(OPTIMIZE), SIZE)
291OPTFLAG = -Os
292else
293ifeq ($(OPTIMIZE), MAXSPEED)
Bram Moolenaar1cd871b2004-12-19 22:46:22 +0000294OPTFLAG = -O3 -fomit-frame-pointer -freg-struct-return
Bram Moolenaar071d4272004-06-13 20:20:40 +0000295else
296OPTFLAG = -O2
297endif
298endif
299
300# A bug in the GCC <= 3.2 optimizer can cause a crash. The
301# following option removes the problem optimization.
302OPTFLAG += -fno-strength-reduce
303
304INCLUDES += -s
305
306endif
307
308##############################
309# USEDLL=yes will build a Cygwin32 executable that relies on cygwin1.dll.
310# USEDLL=no will build a Mingw32 executable with no extra dll dependencies.
311##############################
312ifeq (yes, $(USEDLL))
313DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
314else
315INCLUDES += -mno-cygwin
316endif
317
318##############################
319ifeq (yes, $(POSTSCRIPT))
320DEFINES += -DMSWINPS
321endif
322
323##############################
324ifeq (yes, $(CSCOPE))
325DEFINES += -DFEAT_CSCOPE
326EXTRA_OBJS += $(OUTDIR)/if_cscope.o
327endif
328
329##############################
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000330ifeq ($(GUI),yes)
331
332##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000333ifeq (yes, $(NETBEANS))
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000334# Only allow NETBEANS for a GUI build.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000335DEFINES += -DFEAT_NETBEANS_INTG
336EXTRA_OBJS += $(OUTDIR)/netbeans.o $(OUTDIR)/gui_beval.o
337EXTRA_LIBS += -lwsock32
338
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000339ifeq (yes, $(NBDEBUG))
Bram Moolenaar071d4272004-06-13 20:20:40 +0000340DEFINES += -DNBDEBUG
341NBDEBUG_DEP = nbdebug.h nbdebug.c
342endif
343
344endif
345
346##############################
347ifdef XPM
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000348# Only allow XPM for a GUI build.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000349DEFINES += -DFEAT_XPM_W32
350INCLUDES += -I$(XPM)/include
351EXTRA_OBJS += $(OUTDIR)/xpm_w32.o
352EXTRA_LIBS += -L$(XPM)/lib -lXpm
353endif
354
355##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000356EXE = gvim$(DEBUG_SUFFIX).exe
357OUTDIR = gobj$(DEBUG_SUFFIX)
358DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
359EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/os_w32exe.o
360EXTRA_LIBS += -mwindows -lcomctl32
361else
362EXE = vim$(DEBUG_SUFFIX).exe
363OUTDIR = obj$(DEBUG_SUFFIX)
364LIBS += -luser32 -lgdi32 -lcomdlg32
365endif
366
367##############################
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000368ifeq (yes, $(OLE))
369DEFINES += -DFEAT_OLE
370EXTRA_OBJS += $(OUTDIR)/if_ole.o
371EXTRA_LIBS += -loleaut32 -lstdc++
372endif
373
374##############################
Bram Moolenaar071d4272004-06-13 20:20:40 +0000375ifneq (sh.exe, $(SHELL))
376DEL = rm
Bram Moolenaar32e4e1f2005-01-16 21:57:33 +0000377MKDIR = mkdir -p
Bram Moolenaar071d4272004-06-13 20:20:40 +0000378DIRSLASH = /
379else
380DEL = del
Bram Moolenaar32e4e1f2005-01-16 21:57:33 +0000381MKDIR = mkdir
Bram Moolenaar071d4272004-06-13 20:20:40 +0000382DIRSLASH = \\
383endif
384
385#>>>>> end of choices
386###########################################################################
387
388INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_win32.h \
389 structs.h version.h
390
391CFLAGS = $(OPTFLAG) $(DEFINES) $(INCLUDES)
392
393RCFLAGS = -O coff $(DEFINES)
394
395OBJ = \
396 $(OUTDIR)/buffer.o \
397 $(OUTDIR)/charset.o \
398 $(OUTDIR)/diff.o \
399 $(OUTDIR)/digraph.o \
400 $(OUTDIR)/edit.o \
401 $(OUTDIR)/eval.o \
402 $(OUTDIR)/ex_cmds.o \
403 $(OUTDIR)/ex_cmds2.o \
404 $(OUTDIR)/ex_docmd.o \
405 $(OUTDIR)/ex_eval.o \
406 $(OUTDIR)/ex_getln.o \
407 $(OUTDIR)/fileio.o \
408 $(OUTDIR)/fold.o \
409 $(OUTDIR)/getchar.o \
Bram Moolenaar383f9bc2005-01-19 22:18:32 +0000410 $(OUTDIR)/hashtable.o \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000411 $(OUTDIR)/main.o \
412 $(OUTDIR)/mark.o \
413 $(OUTDIR)/memfile.o \
414 $(OUTDIR)/memline.o \
415 $(OUTDIR)/menu.o \
416 $(OUTDIR)/message.o \
417 $(OUTDIR)/misc1.o \
418 $(OUTDIR)/misc2.o \
419 $(OUTDIR)/move.o \
420 $(OUTDIR)/mbyte.o \
421 $(OUTDIR)/normal.o \
422 $(OUTDIR)/ops.o \
423 $(OUTDIR)/option.o \
424 $(OUTDIR)/os_win32.o \
425 $(OUTDIR)/os_mswin.o \
426 $(OUTDIR)/pathdef.o \
427 $(OUTDIR)/quickfix.o \
428 $(OUTDIR)/regexp.o \
429 $(OUTDIR)/screen.o \
430 $(OUTDIR)/search.o \
431 $(OUTDIR)/syntax.o \
432 $(OUTDIR)/tag.o \
433 $(OUTDIR)/term.o \
434 $(OUTDIR)/ui.o \
435 $(OUTDIR)/undo.o \
436 $(OUTDIR)/version.o \
437 $(OUTDIR)/vimrc.o \
438 $(OUTDIR)/window.o \
439 $(EXTRA_OBJS)
440
441all: $(EXE) xxd/xxd.exe vimrun.exe install.exe uninstal.exe GvimExt/gvimext.dll
442
443# According to the Cygwin doc 1.2 FAQ, kernel32 should not be specified for
444# linking unless calling ld directly.
445# See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information.
446$(EXE): $(OUTDIR) $(OBJ)
447 $(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
448
449xxd/xxd.exe: xxd/xxd.c
450 $(MAKE) -C xxd -f Make_cyg.mak USEDLL=$(USEDLL)
451
452GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
453 $(MAKE) -C GvimExt -f Make_ming.mak
454
455vimrun.exe: vimrun.c
456 $(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIBS)
457
458install.exe: dosinst.c
459 $(CC) $(CFLAGS) -o install.exe dosinst.c $(LIBS) -luuid -lole32
460
461uninstal.exe: uninstal.c
462 $(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIBS)
463
464$(OUTDIR):
Bram Moolenaar32e4e1f2005-01-16 21:57:33 +0000465 $(MKDIR) $(OUTDIR)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000466
467tags:
468 command /c ctags *.c $(INCL)
469
470clean:
471 -$(DEL) $(OUTDIR)$(DIRSLASH)*.o
472 -rmdir $(OUTDIR)
Bram Moolenaarcf3630f2005-01-08 16:04:29 +0000473 -$(DEL) $(EXE) vimrun.exe install.exe uninstal.exe
Bram Moolenaar071d4272004-06-13 20:20:40 +0000474ifdef PERL
475 -$(DEL) if_perl.c
476endif
477 -$(DEL) pathdef.c
478 $(MAKE) -C xxd -f Make_cyg.mak clean
479 $(MAKE) -C GvimExt -f Make_ming.mak clean
480
Bram Moolenaarcf3630f2005-01-08 16:04:29 +0000481distclean: clean
482 -$(DEL) obj$(DIRSLASH)*.o
483 -rmdir obj
484 -$(DEL) gobj$(DIRSLASH)*.o
485 -rmdir gobj
486 -$(DEL) objd$(DIRSLASH)*.o
487 -rmdir objd
488 -$(DEL) gobjd$(DIRSLASH)*.o
489 -rmdir gobjd
490 -$(DEL) *.exe
491
Bram Moolenaar071d4272004-06-13 20:20:40 +0000492###########################################################################
493
494$(OUTDIR)/%.o : %.c $(INCL)
495 $(CC) -c $(CFLAGS) $< -o $@
496
497$(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
498 $(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
499
500$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
501 $(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
502
503$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
504 $(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
505
506$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
507 $(CC) -c $(CFLAGS) -D__IID_DEFINED__ if_ole.cpp -o $(OUTDIR)/if_ole.o
508
509if_perl.c: if_perl.xs typemap
Bram Moolenaarcf3630f2005-01-08 16:04:29 +0000510 $(PERL)/bin/perl `cygpath -d $(PERL)/lib/ExtUtils/xsubpp` \
511 -prototypes -typemap \
512 `cygpath -d $(PERL)/lib/ExtUtils/typemap` if_perl.xs > $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000513
514$(OUTDIR)/if_perl.o: if_perl.c $(INCL)
515ifeq (yes, $(USEDLL))
516 $(CC) -c $(CFLAGS) -I/usr/include/mingw -D__MINGW32__ if_perl.c -o $(OUTDIR)/if_perl.o
517endif
518
519$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
520ifeq (16, $(RUBY_VER))
521 $(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o
522endif
523
524$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_DEP)
525 $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
526
527$(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
528 $(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o
529
530pathdef.c: $(INCL)
531ifneq (sh.exe, $(SHELL))
532 @echo creating pathdef.c
533 @echo '/* pathdef.c */' > pathdef.c
534 @echo '#include "vim.h"' >> pathdef.c
535 @echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
536 @echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
537 @echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
538 @echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)";' >> pathdef.c
539 @echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
540 @echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
541else
542 @echo creating pathdef.c
543 @echo /* pathdef.c */ > pathdef.c
544 @echo #include "vim.h" >> pathdef.c
545 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
546 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
547 @echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
548 @echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)"; >> pathdef.c
549 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
550 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
551endif