blob: a6b4bc96e956f7713ae3f22b406a6e29cabaa8ab [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile for Vim.
3# Compiler: Borland C++ 5.0 and later 32-bit compiler
Bram Moolenaara06ecab2016-07-16 14:47:36 +02004# Targets: Win32 (Windows NT and Windows 95) (with/without GUI)
Bram Moolenaar071d4272004-06-13 20:20:40 +00005#
Bram Moolenaar17b609e2016-01-01 17:56:17 +01006# NOTE: THIS IS OLD AND PROBABLY NO LONGER WORKS.
7#
Bram Moolenaar071d4272004-06-13 20:20:40 +00008# Contributed by Ben Singer.
9# Updated 4/1997 by Ron Aaron
Bram Moolenaar48e330a2016-02-23 14:53:34 +010010# 2016: removed support for 16 bit DOS
Bram Moolenaar071d4272004-06-13 20:20:40 +000011# 6/1997 - added support for 16 bit DOS
12# Note: this has been tested, and works, for BC5. Your mileage may vary.
13# Has been reported NOT to work with BC 4.52. Maybe it can be fixed?
14# 10/1997 - ron - fixed bugs w/ BC 5.02
15# 8/1998 - ron - updated with new targets, fixed some stuff
16# 3/2000 - Bram: Made it work with BC 5.5 free command line compiler,
17# cleaned up variables.
18# 6/2001 - Dan - Added support for compiling Python and TCL
19# 7/2001 - Dan - Added support for compiling Ruby
20#
21# It builds on Windows 95 and NT-Intel, producing the same binary in either
22# case. To build using Microsoft Visual C++, use Make_mvc.mak.
23#
24# This should work with the free Borland command line compiler, version 5.5.
25# You need at least sp1 (service pack 1). With sp2 it compiles faster.
26# Use a command like this:
27# <path>\bin\make /f Make_bc5.mak BOR=<path>
28#
29
30# let the make utility do the hard work:
31.AUTODEPEND
32.CACHEAUTODEPEND
33
34# VARIABLES:
35# name value (default)
36#
37# BOR path to root of Borland C install (c:\bc5)
Bram Moolenaar48e330a2016-02-23 14:53:34 +010038# LINK name of the linker ($(BOR)\bin\ilink32)
Bram Moolenaar071d4272004-06-13 20:20:40 +000039# GUI no or yes: set to yes if you want the GUI version (yes)
Bram Moolenaar0ba04292010-07-14 23:23:17 +020040# LUA define to path to Lua dir to get Lua support (not defined)
41# LUA_VER define to version of Lua being used (51)
42# DYNAMIC_LUA no or yes: set to yes to load the Lua DLL dynamically (no)
Bram Moolenaar071d4272004-06-13 20:20:40 +000043# PERL define to path to Perl dir to get Perl support (not defined)
44# PERL_VER define to version of Perl being used (56)
45# DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (no)
46# PYTHON define to path to Python dir to get PYTHON support (not defined)
47# PYTHON_VER define to version of Python being used (22)
48# DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (no)
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +020049# PYTHON3 define to path to Python3 dir to get PYTHON3 support (not defined)
50# PYTHON3_VER define to version of Python3 being used (31)
51# DYNAMIC_PYTHON3 no or yes: use yes to load the Python3 DLL dynamically (no)
Bram Moolenaar071d4272004-06-13 20:20:40 +000052# TCL define to path to TCL dir to get TCL support (not defined)
53# TCL_VER define to version of TCL being used (83)
54# DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (no)
55# RUBY define to path to Ruby dir to get Ruby support (not defined)
56# NOTE: You may have to remove the defines for uid_t and gid_t
57# from the Ruby config.h header file.
58# RUBY_VER define to version of Ruby being used (16)
59# NOTE: compilation on WinNT/2K/XP requires
60# at least version 1.6.5 of Ruby. Earlier versions
61# of Ruby will cause a compile error on these systems.
Bram Moolenaar910f66f2006-04-05 20:41:53 +000062# RUBY_VER_LONG same, but in format with dot. (1.6)
Bram Moolenaar071d4272004-06-13 20:20:40 +000063# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
Bram Moolenaar071d4272004-06-13 20:20:40 +000064# IME no or yes: set to yes for multi-byte IME support (yes)
65# DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
66# GETTEXT no or yes: set to yes for multi-language support (yes)
67# ICONV no or yes: set to yes for dynamic iconv support (yes)
68# OLE no or yes: set to yes to make OLE gvim (no)
Bram Moolenaar071d4272004-06-13 20:20:40 +000069# DEBUG no or yes: set to yes if you wish a DEBUGging build (no)
70# CODEGUARD no or yes: set to yes if you want to use CODEGUARD (no)
71# CPUNR 1 through 6: select -CPU argument to compile with (3)
72# 3 for 386, 4 for 486, 5 for pentium, 6 for pentium pro.
73# USEDLL no or yes: set to yes to use the Runtime library DLL (no)
74# For USEDLL=yes the cc3250.dll is required to run Vim.
Bram Moolenaar48e330a2016-02-23 14:53:34 +010075# ALIGN 1, 2 or 4: Alignment to use (4 for Win32)
Bram Moolenaar071d4272004-06-13 20:20:40 +000076# FASTCALL no or yes: set to yes to use register-based function protocol (yes)
77# OPTIMIZE SPACE, SPEED, or MAXSPEED: type of optimization (MAXSPEED)
78# POSTSCRIPT no or yes: set to yes for PostScript printing
Bram Moolenaar48e330a2016-02-23 14:53:34 +010079# FEATURES TINY, SMALL, NORMAL, BIG or HUGE (BIG for WIN32)
Bram Moolenaar071d4272004-06-13 20:20:40 +000080# WINVER 0x0400 or 0x0500: minimum Win32 version to support (0x0400)
81# CSCOPE no or yes: include support for Cscope interface (yes)
Bram Moolenaare0874f82016-01-24 20:36:41 +010082# NETBEANS no or yes: include support for Netbeans interface; also
83# requires CHANNEL (yes if GUI
Bram Moolenaar071d4272004-06-13 20:20:40 +000084# is yes)
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000085# NBDEBUG no or yes: include support for debugging Netbeans interface (no)
Bram Moolenaare0874f82016-01-24 20:36:41 +010086# CHANNEL no or yes: include support for inter process communication (yes
87# if GUI is yes)
Bram Moolenaar071d4272004-06-13 20:20:40 +000088# XPM define to path to XPM dir to get support for loading XPM images.
89
90### BOR: root of the BC installation
91!if ("$(BOR)"=="")
92BOR = c:\bc5
93!endif
94
Bram Moolenaar48e330a2016-02-23 14:53:34 +010095### LINK: Name of the linker: ilink32 (this is below)
Bram Moolenaar071d4272004-06-13 20:20:40 +000096
97### GUI: yes for GUI version, no for console version
98!if ("$(GUI)"=="")
99GUI = yes
100!endif
101
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102### IME: yes for multibyte support, no to disable it.
103!if ("$(IME)"=="")
104IME = yes
105!endif
106!if ("$(DYNAMIC_IME)"=="")
107DYNAMIC_IME = yes
108!endif
109
110### GETTEXT: yes for multilanguage support, no to disable it.
111!if ("$(GETTEXT)"=="")
112GETTEXT = yes
113!endif
114
115### ICONV: yes to enable dynamic-iconv support, no to disable it
116!if ("$(ICONV)"=="")
117ICONV = yes
118!endif
119
120### CSCOPE: yes to enable Cscope support, no to disable it
121!if ("$(CSCOPE)"=="")
122CSCOPE = yes
123!endif
124
125### NETBEANS: yes to enable NetBeans interface support, no to disable it
126!if ("$(NETBEANS)"=="") && ("$(GUI)"=="yes")
127NETBEANS = yes
128!endif
129
Bram Moolenaare0874f82016-01-24 20:36:41 +0100130### CHANNEL: yes to enable inter process communication, no to disable it
131!if ("$(CHANNEL)"=="") && ("$(GUI)"=="yes")
132CHANNEL = yes
133!endif
134
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200135### LUA: uncomment this line if you want lua support in vim
136# LUA=c:\lua
137
Bram Moolenaar071d4272004-06-13 20:20:40 +0000138### PERL: uncomment this line if you want perl support in vim
139# PERL=c:\perl
140
141### PYTHON: uncomment this line if you want python support in vim
142# PYTHON=c:\python22
143
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200144### PYTHON3: uncomment this line if you want python3 support in vim
145# PYTHON3=c:\python31
146
Bram Moolenaar071d4272004-06-13 20:20:40 +0000147### RUBY: uncomment this line if you want ruby support in vim
148# RUBY=c:\ruby
149
150### TCL: uncomment this line if you want tcl support in vim
151# TCL=c:\tcl
152
153### OLE: no for normal gvim, yes for OLE-capable gvim (only works with GUI)
154#OLE = yes
155
Bram Moolenaar071d4272004-06-13 20:20:40 +0000156### DEBUG: Uncomment to make an executable for debugging
157# DEBUG = yes
158!if ("$(DEBUG)"=="yes")
159DEBUG_FLAG = -v
160!endif
161
162### CODEGUARD: Uncomment to use the CODEGUARD stuff (BC 5.0 or later):
163# CODEGUARD = yes
164!if ("$(CODEGUARD)"=="yes")
165CODEGUARD_FLAG = -vG
166!endif
167
168### CPUNR: set your target processor (3 to 6)
169!if ("$(CPUNR)" == "i386") || ("$(CPUNR)" == "3")
170CPUNR = 3
171!elif ("$(CPUNR)" == "i486") || ("$(CPUNR)" == "4")
172CPUNR = 4
173!elif ("$(CPUNR)" == "i586") || ("$(CPUNR)" == "5")
174CPUNR = 5
175!elif ("$(CPUNR)" == "i686") || ("$(CPUNR)" == "6")
176CPUNR = 6
177!else
178CPUNR = 3
179!endif
180
181### Comment out to use precompiled headers (faster, but uses lots of disk!)
182HEADERS = -H -H=vim.csm -Hc
183
184### USEDLL: no for statically linked version of run-time, yes for DLL runtime
185!if ("$(USEDLL)"=="")
186USEDLL = no
187!endif
188
Bram Moolenaar48e330a2016-02-23 14:53:34 +0100189### ALIGN: alignment you desire: (1,2 or 4: s/b 4 for Win32)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000190!if ("$(ALIGN)"=="")
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191ALIGN = 4
192!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000193
194### FASTCALL: yes to use FASTCALL calling convention (RECOMMENDED!), no otherwise
195# Incompatible when calling external functions (like MSVC-compiled DLLs), so
196# don't use FASTCALL when linking with external libs.
197!if ("$(FASTCALL)"=="") && \
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200198 ("$(LUA)"=="") && \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000199 ("$(PYTHON)"=="") && \
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200200 ("$(PYTHON3)"=="") && \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000201 ("$(PERL)"=="") && \
202 ("$(TCL)"=="") && \
203 ("$(RUBY)"=="") && \
204 ("$(ICONV)"!="yes") && \
205 ("$(IME)"!="yes") && \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000206 ("$(XPM)"=="")
207FASTCALL = yes
208!endif
209
210### OPTIMIZE: SPEED to optimize for speed, SPACE otherwise (SPEED RECOMMENDED)
211!if ("$(OPTIMIZE)"=="")
212OPTIMIZE = MAXSPEED
213!endif
214
Bram Moolenaar48e330a2016-02-23 14:53:34 +0100215### FEATURES: TINY, SMALL, NORMAL, BIG or HUGE (BIG for WIN32)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000216!if ("$(FEATURES)"=="")
Bram Moolenaar071d4272004-06-13 20:20:40 +0000217FEATURES = BIG
Bram Moolenaar071d4272004-06-13 20:20:40 +0000218!endif
219
220### POSTSCRIPT: uncomment this line if you want PostScript printing
221#POSTSCRIPT = yes
222
223###
224# If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal
225# default, use these lines.
226#VIMRCLOC = somewhere
227#VIMRUNTIMEDIR = somewhere
228
229### Set the default $(WINVER) to make it work with Bcc 5.5.
230!ifndef WINVER
231WINVER = 0x0400
232!endif
233
234#
235# Sanity checks for the above options:
236#
237
Bram Moolenaar48e330a2016-02-23 14:53:34 +0100238OSTYPE = WIN32
Bram Moolenaar071d4272004-06-13 20:20:40 +0000239
240#
241# Optimizations: change as desired (RECOMMENDATION: Don't change!):
242#
243!if ("$(DEBUG)"=="yes")
244OPT = -Od -N
245!else
246!if ("$(OPTIMIZE)"=="SPACE")
247OPT = -O1 -f- -d
248!elif ("$(OPTIMIZE)"=="MAXSPEED")
249OPT = -O2 -f- -d -Ocavi -O
250!else
251OPT = -O2 -f- -d -Oc -O
252!endif
253!if ("$(FASTCALL)"=="yes")
254OPT = $(OPT) -pr
255!endif
256!if ("$(CODEGUARD)"!="yes")
257OPT = $(OPT) -vi-
258!endif
259!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000260# shouldn't have to change:
261LIB = $(BOR)\lib
262INCLUDE = $(BOR)\include;.;proto
263DEFINES = -DFEAT_$(FEATURES) -DWIN32 -DHAVE_PATHDEF \
264 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
265
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200266!ifdef LUA
267INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_LUA
268INCLUDE = $(LUA)\include;$(INCLUDE)
269! ifndef LUA_VER
270LUA_VER = 51
271! endif
272! if ("$(DYNAMIC_LUA)" == "yes")
273INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
274LUA_LIB_FLAG = /nodefaultlib:
275! endif
276!endif
277
Bram Moolenaar071d4272004-06-13 20:20:40 +0000278!ifdef PERL
279INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_PERL
280INCLUDE = $(PERL)\lib\core;$(INCLUDE)
281! ifndef PERL_VER
282PERL_VER = 56
283! endif
284! if ("$(DYNAMIC_PERL)" == "yes")
285! if ($(PERL_VER) > 55)
286INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
287PERL_LIB_FLAG = /nodefaultlib:
288! else
289! message "Cannot dynamically load Perl versions less than 5.6. Loading statically..."
290! endif
291! endif
292!endif
293
294!ifdef PYTHON
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200295!ifdef PYTHON3
296DYNAMIC_PYTHON=yes
297DYNAMIC_PYTHON3=yes
298!endif
299!endif
300
301!ifdef PYTHON
Bram Moolenaar071d4272004-06-13 20:20:40 +0000302INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_PYTHON
Bram Moolenaar071d4272004-06-13 20:20:40 +0000303!ifndef PYTHON_VER
304PYTHON_VER = 22
305!endif
306!if "$(DYNAMIC_PYTHON)" == "yes"
307INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
308PYTHON_LIB_FLAG = /nodefaultlib:
309!endif
310!endif
311
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200312!ifdef PYTHON3
313INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_PYTHON3
314!ifndef PYTHON3_VER
315PYTHON3_VER = 31
316!endif
317!if "$(DYNAMIC_PYTHON3)" == "yes"
318INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python$(PYTHON3_VER).dll\"
319PYTHON3_LIB_FLAG = /nodefaultlib:
320!endif
321!endif
322
323
Bram Moolenaar071d4272004-06-13 20:20:40 +0000324!ifdef RUBY
325!ifndef RUBY_VER
326RUBY_VER = 16
327!endif
328!ifndef RUBY_VER_LONG
329RUBY_VER_LONG = 1.6
330!endif
331
332!if "$(RUBY_VER)" == "16"
333!ifndef RUBY_PLATFORM
334RUBY_PLATFORM = i586-mswin32
335!endif
336!ifndef RUBY_INSTALL_NAME
337RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_VER)
338!endif
339!else
340!ifndef RUBY_PLATFORM
341RUBY_PLATFORM = i386-mswin32
342!endif
343!ifndef RUBY_INSTALL_NAME
344RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_VER)
345!endif
346!endif
347
348INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_RUBY
349INCLUDE = $(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM);$(INCLUDE)
350
351!if "$(DYNAMIC_RUBY)" == "yes"
352INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
353INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_RUBY_VER=$(RUBY_VER)
354RUBY_LIB_FLAG = /nodefaultlib:
355!endif
356!endif
357
358!ifdef TCL
359INTERP_DEFINES = $(INTERP_DEFINES) -DFEAT_TCL
360INCLUDE = $(TCL)\include;$(INCLUDE)
361!ifndef TCL_VER
362TCL_VER = 83
363!endif
364TCL_LIB = $(TCL)\lib\tcl$(TCL_VER).lib
365TCL_LIB_FLAG =
366!if "$(DYNAMIC_TCL)" == "yes"
367INTERP_DEFINES = $(INTERP_DEFINES) -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
368TCL_LIB = tclstub$(TCL_VER)-bor.lib
369TCL_LIB_FLAG =
370!endif
371!endif
372#
373# DO NOT change below:
374#
375CPUARG = -$(CPUNR)
376ALIGNARG = -a$(ALIGN)
377#
378!if ("$(DEBUG)"=="yes")
Bram Moolenaar78cf3f02014-01-10 18:16:07 +0100379DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
Bram Moolenaar071d4272004-06-13 20:20:40 +0000380!endif
381#
382!if ("$(OLE)"=="yes")
383DEFINES = $(DEFINES) -DFEAT_OLE
384!endif
385#
Bram Moolenaar071d4272004-06-13 20:20:40 +0000386!if ("$(IME)"=="yes")
387MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE_IME
388!if ("$(DYNAMIC_IME)" == "yes")
389MBDEFINES = $(MBDEFINES) -DDYNAMIC_IME
390!endif
391!endif
392!if ("$(ICONV)"=="yes")
393MBDEFINES = $(MBDEFINES) -DDYNAMIC_ICONV
394!endif
395!if ("$(GETTEXT)"=="yes")
396MBDEFINES = $(MBDEFINES) -DDYNAMIC_GETTEXT
397!endif
398
399!if ("$(CSCOPE)"=="yes")
400DEFINES = $(DEFINES) -DFEAT_CSCOPE
401!endif
402
Bram Moolenaar071d4272004-06-13 20:20:40 +0000403!if ("$(GUI)"=="yes")
Bram Moolenaar0472b6d2019-02-18 21:41:37 +0100404DEFINES = $(DEFINES) -DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD
Bram Moolenaar071d4272004-06-13 20:20:40 +0000405!if ("$(DEBUG)"=="yes")
406TARGET = gvimd.exe
407!else
408TARGET = gvim.exe
409!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000410EXETYPE=-W
Bram Moolenaar071d4272004-06-13 20:20:40 +0000411STARTUPOBJ = c0w32.obj
412LINK2 = -aa
413RESFILE = vim.res
414!else
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000415!undef NETBEANS
Bram Moolenaare0874f82016-01-24 20:36:41 +0100416!undef CHANNEL
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000417!undef XPM
Bram Moolenaar071d4272004-06-13 20:20:40 +0000418!if ("$(DEBUG)"=="yes")
419TARGET = vimd.exe
420!else
421# for now, anyway: VIMDLL is only for the GUI version
Bram Moolenaar071d4272004-06-13 20:20:40 +0000422TARGET = vim.exe
423!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000424EXETYPE=-WC
425STARTUPOBJ = c0x32.obj
426LINK2 = -ap -OS -o -P
Bram Moolenaar071d4272004-06-13 20:20:40 +0000427RESFILE = vim.res
428!endif
429
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000430!if ("$(NETBEANS)"=="yes")
Bram Moolenaare0874f82016-01-24 20:36:41 +0100431!if ("$(CHANNEL)"!="yes")
432# cannot use Netbeans without CHANNEL
433NETBEANS = no
434!else
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000435DEFINES = $(DEFINES) -DFEAT_NETBEANS_INTG
436!if ("$(NBDEBUG)"=="yes")
437DEFINES = $(DEFINES) -DNBDEBUG
438NBDEBUG_DEP = nbdebug.h nbdebug.c
439!endif
440!endif
Bram Moolenaare0874f82016-01-24 20:36:41 +0100441!endif
442
443!if ("$(CHANNEL)"=="yes")
Bram Moolenaar509ce2a2016-03-11 22:52:15 +0100444DEFINES = $(DEFINES) -DFEAT_JOB_CHANNEL
Bram Moolenaare0874f82016-01-24 20:36:41 +0100445!endif
Bram Moolenaarcfbc5ee2004-07-02 15:38:35 +0000446
447!ifdef XPM
448!if ("$(GUI)"=="yes")
449DEFINES = $(DEFINES) -DFEAT_XPM_W32
450INCLUDE = $(XPM)\include;$(INCLUDE)
451!endif
452!endif
453
Bram Moolenaar071d4272004-06-13 20:20:40 +0000454!if ("$(USEDLL)"=="yes")
455DEFINES = $(DEFINES) -D_RTLDLL
456!endif
457
458!if ("$(DEBUG)"=="yes")
459OBJDIR = $(OSTYPE)\objdbg
460!else
461!if ("$(GUI)"=="yes")
462!if ("$(OLE)"=="yes")
463OBJDIR = $(OSTYPE)\oleobj
464!else
465OBJDIR = $(OSTYPE)\gobj
466!endif
467!else
468OBJDIR = $(OSTYPE)\obj
469!endif
470!endif
471
472!if ("$(POSTSCRIPT)"=="yes")
473DEFINES = $(DEFINES) -DMSWINPS
474!endif
475
476##### BASE COMPILER/TOOLS RULES #####
477MAKE = $(BOR)\bin\make
478CFLAGS = -w-aus -w-par -w-pch -w-ngu -w-csu -I$(INCLUDE)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000479BRC = $(BOR)\BIN\brc32
480!if ("$(LINK)"=="")
481LINK = $(BOR)\BIN\ILink32
482!endif
483CC = $(BOR)\BIN\Bcc32
484LFLAGS = -OS -Tpe -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
485LFLAGSDLL = -Tpd -c -m -L$(LIB) $(DEBUG_FLAG) $(LINK2)
486CFLAGS = $(CFLAGS) -d -RT- -k- -Oi $(HEADERS) -f-
Bram Moolenaar071d4272004-06-13 20:20:40 +0000487
488CC1 = -c
489CC2 = -o
490CCARG = +$(OBJDIR)\bcc.cfg
491
492# implicit rules:
493
494# Without the following, the implicit rule in BUILTINS.MAK is picked up
495# for a rule for .c.obj rather than the local implicit rule
496.SUFFIXES
497.SUFFIXES .c .obj
498.path.c = .
499
500{.}.c{$(OBJDIR)}.obj:
501 $(CC) $(CCARG) $(CC1) -n$(OBJDIR)\ {$< }
502
503.cpp.obj:
504 $(CC) $(CCARG) $(CC1) $(CC2)$@ $*.cpp
505
Bram Moolenaar071d4272004-06-13 20:20:40 +0000506vimmain = \
507 $(OBJDIR)\os_w32exe.obj
Bram Moolenaar071d4272004-06-13 20:20:40 +0000508vimwinmain = \
509 $(OBJDIR)\os_w32exe.obj
Bram Moolenaar071d4272004-06-13 20:20:40 +0000510
511vimobj = \
Bram Moolenaar75464dc2016-07-02 20:27:50 +0200512 $(OBJDIR)\arabic.obj \
Bram Moolenaar3e460fd2019-01-26 16:21:07 +0100513 $(OBJDIR)\autocmd.obj \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200514 $(OBJDIR)\blowfish.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000515 $(OBJDIR)\buffer.obj \
516 $(OBJDIR)\charset.obj \
Bram Moolenaar07cf3822014-08-10 16:31:50 +0200517 $(OBJDIR)\crypt.obj \
518 $(OBJDIR)\crypt_zip.obj \
Bram Moolenaareead75c2019-04-21 11:35:00 +0200519 $(OBJDIR)\debugger.obj \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200520 $(OBJDIR)\dict.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000521 $(OBJDIR)\diff.obj \
522 $(OBJDIR)\digraph.obj \
523 $(OBJDIR)\edit.obj \
524 $(OBJDIR)\eval.obj \
Bram Moolenaar73dad1e2016-07-17 22:13:49 +0200525 $(OBJDIR)\evalfunc.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000526 $(OBJDIR)\ex_cmds.obj \
527 $(OBJDIR)\ex_cmds2.obj \
528 $(OBJDIR)\ex_docmd.obj \
529 $(OBJDIR)\ex_eval.obj \
530 $(OBJDIR)\ex_getln.obj \
531 $(OBJDIR)\fileio.obj \
Bram Moolenaar5fd0f502019-02-13 23:13:28 +0100532 $(OBJDIR)\findfile.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000533 $(OBJDIR)\fold.obj \
534 $(OBJDIR)\getchar.obj \
Bram Moolenaar58d98232005-07-23 22:25:46 +0000535 $(OBJDIR)\hardcopy.obj \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000536 $(OBJDIR)\hashtab.obj \
Bram Moolenaar4b471622019-01-31 13:48:09 +0100537 $(OBJDIR)\indent.obj \
Bram Moolenaar7591bb32019-03-30 13:53:47 +0100538 $(OBJDIR)\insexpand.obj \
Bram Moolenaar520e1e42016-01-23 19:46:28 +0100539 $(OBJDIR)\json.obj \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200540 $(OBJDIR)\list.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000541 $(OBJDIR)\main.obj \
542 $(OBJDIR)\mark.obj \
543 $(OBJDIR)\memfile.obj \
544 $(OBJDIR)\memline.obj \
545 $(OBJDIR)\menu.obj \
546 $(OBJDIR)\message.obj \
547 $(OBJDIR)\misc1.obj \
548 $(OBJDIR)\misc2.obj \
549 $(OBJDIR)\move.obj \
550 $(OBJDIR)\mbyte.obj \
551 $(OBJDIR)\normal.obj \
552 $(OBJDIR)\ops.obj \
553 $(OBJDIR)\option.obj \
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000554 $(OBJDIR)\popupmnu.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000555 $(OBJDIR)\quickfix.obj \
556 $(OBJDIR)\regexp.obj \
557 $(OBJDIR)\screen.obj \
558 $(OBJDIR)\search.obj \
Bram Moolenaar40e6a712010-05-16 22:32:54 +0200559 $(OBJDIR)\sha256.obj \
Bram Moolenaarbbea4702019-01-01 13:20:31 +0100560 $(OBJDIR)\sign.obj \
Bram Moolenaarfc735152005-03-22 22:54:12 +0000561 $(OBJDIR)\spell.obj \
Bram Moolenaar9ccfebd2016-07-19 16:39:08 +0200562 $(OBJDIR)\spellfile.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000563 $(OBJDIR)\syntax.obj \
564 $(OBJDIR)\tag.obj \
565 $(OBJDIR)\term.obj \
566 $(OBJDIR)\ui.obj \
567 $(OBJDIR)\undo.obj \
Bram Moolenaarac9fb182019-04-27 13:04:13 +0200568 $(OBJDIR)\usercmd.obj \
Bram Moolenaar6583c442016-07-17 18:41:47 +0200569 $(OBJDIR)\userfunc.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000570 $(OBJDIR)\version.obj \
571 $(OBJDIR)\window.obj \
572 $(OBJDIR)\pathdef.obj
573
574!if ("$(OLE)"=="yes")
575vimobj = $(vimobj) \
576 $(OBJDIR)\if_ole.obj
577!endif
578
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200579!ifdef LUA
580vimobj = $(vimobj) \
581 $(OBJDIR)\if_lua.obj
582!endif
583
Bram Moolenaar071d4272004-06-13 20:20:40 +0000584!ifdef PERL
585vimobj = $(vimobj) \
586 $(OBJDIR)\if_perl.obj
587!endif
588
589!ifdef PYTHON
590vimobj = $(vimobj) \
591 $(OBJDIR)\if_python.obj
592!endif
593
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200594!ifdef PYTHON3
595vimobj = $(vimobj) \
596 $(OBJDIR)\if_python3.obj
597!endif
598
Bram Moolenaar071d4272004-06-13 20:20:40 +0000599!ifdef RUBY
600vimobj = $(vimobj) \
601 $(OBJDIR)\if_ruby.obj
602!endif
603
604!ifdef TCL
605vimobj = $(vimobj) \
606 $(OBJDIR)\if_tcl.obj
607!endif
608
609!if ("$(CSCOPE)"=="yes")
610vimobj = $(vimobj) \
611 $(OBJDIR)\if_cscope.obj
612!endif
613
614!if ("$(NETBEANS)"=="yes")
615vimobj = $(vimobj) \
Bram Moolenaar408fb622005-03-07 23:03:19 +0000616 $(OBJDIR)\netbeans.obj
Bram Moolenaar071d4272004-06-13 20:20:40 +0000617!endif
618
Bram Moolenaare0874f82016-01-24 20:36:41 +0100619!if ("$(CHANNEL)"=="yes")
620vimobj = $(vimobj) \
621 $(OBJDIR)\channel.obj
622!endif
623
Bram Moolenaar071d4272004-06-13 20:20:40 +0000624!ifdef XPM
625vimobj = $(vimobj) \
626 $(OBJDIR)\xpm_w32.obj
627!endif
628
Bram Moolenaar071d4272004-06-13 20:20:40 +0000629!if ("$(GUI)"=="yes")
630vimobj = $(vimobj) \
631 $(vimwinmain) \
632 $(OBJDIR)\gui.obj \
Bram Moolenaar408fb622005-03-07 23:03:19 +0000633 $(OBJDIR)\gui_beval.obj \
Bram Moolenaar071d4272004-06-13 20:20:40 +0000634 $(OBJDIR)\gui_w32.obj
635!endif
636
Bram Moolenaar071d4272004-06-13 20:20:40 +0000637vimobj = $(vimobj) \
Bram Moolenaar693e40c2013-02-26 14:56:42 +0100638 $(OBJDIR)\os_win32.obj $(OBJDIR)\os_mswin.obj $(OBJDIR)\winclip.obj
Bram Moolenaar071d4272004-06-13 20:20:40 +0000639# Blab what we are going to do:
640MSG = Compiling $(OSTYPE) $(TARGET) $(OLETARGET), with:
641!if ("$(GUI)"=="yes")
642MSG = $(MSG) GUI
643!endif
644!if ("$(OLE)"=="yes")
645MSG = $(MSG) OLE
646!endif
647!if ("$(USEDLL)"=="yes")
648MSG = $(MSG) USEDLL
649!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000650!if ("$(FASTCALL)"=="yes")
651MSG = $(MSG) FASTCALL
652!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000653!if ("$(IME)"=="yes")
654MSG = $(MSG) IME
655! if "$(DYNAMIC_IME)" == "yes"
656MSG = $(MSG)(dynamic)
657! endif
658!endif
659!if ("$(GETTEXT)"=="yes")
660MSG = $(MSG) GETTEXT
661!endif
662!if ("$(ICONV)"=="yes")
663MSG = $(MSG) ICONV
664!endif
665!if ("$(DEBUG)"=="yes")
666MSG = $(MSG) DEBUG
667!endif
668!if ("$(CODEGUARD)"=="yes")
669MSG = $(MSG) CODEGUARD
670!endif
671!if ("$(CSCOPE)"=="yes")
672MSG = $(MSG) CSCOPE
673!endif
674!if ("$(NETBEANS)"=="yes")
675MSG = $(MSG) NETBEANS
676!endif
Bram Moolenaare0874f82016-01-24 20:36:41 +0100677!if ("$(CHANNEL)"=="yes")
678MSG = $(MSG) CHANNEL
679!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000680!ifdef XPM
681MSG = $(MSG) XPM
682!endif
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200683!ifdef LUA
684MSG = $(MSG) LUA
685! if "$(DYNAMIC_LUA)" == "yes"
686MSG = $(MSG)(dynamic)
687! endif
688!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000689!ifdef PERL
690MSG = $(MSG) PERL
691! if "$(DYNAMIC_PERL)" == "yes"
692MSG = $(MSG)(dynamic)
693! endif
694!endif
695!ifdef PYTHON
696MSG = $(MSG) PYTHON
697! if "$(DYNAMIC_PYTHON)" == "yes"
698MSG = $(MSG)(dynamic)
699! endif
700!endif
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200701!ifdef PYTHON3
702MSG = $(MSG) PYTHON3
703! if "$(DYNAMIC_PYTHON3)" == "yes"
704MSG = $(MSG)(dynamic)
705! endif
706!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000707!ifdef RUBY
708MSG = $(MSG) RUBY
709! if "$(DYNAMIC_RUBY)" == "yes"
710MSG = $(MSG)(dynamic)
711! endif
712!endif
713!ifdef TCL
714MSG = $(MSG) TCL
715! if "$(DYNAMIC_TCL)" == "yes"
716MSG = $(MSG)(dynamic)
717! endif
718!endif
719MSG = $(MSG) cpu=$(CPUARG)
720MSG = $(MSG) Align=$(ALIGNARG)
721
722!message $(MSG)
723
Bram Moolenaar071d4272004-06-13 20:20:40 +0000724TARGETS = $(TARGETS) $(TARGET)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000725
726# Targets:
727all: vim vimrun.exe install.exe xxd uninstal.exe GvimExt/gvimext.dll
728
729vim: $(OSTYPE) $(OBJDIR) $(OBJDIR)\bcc.cfg $(TARGETS)
730 @if exist $(OBJDIR)\version.obj del $(OBJDIR)\version.obj
731 @if exist auto\pathdef.c del auto\pathdef.c
732
733$(OSTYPE):
734 -@md $(OSTYPE)
735
736$(OBJDIR):
737 -@md $(OBJDIR)
738
739xxd:
740 @cd xxd
741 $(MAKE) /f Make_bc5.mak BOR="$(BOR)" BCC="$(CC)"
742 @cd ..
743
744GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
745 cd GvimExt
746 $(MAKE) /f Make_bc5.mak USEDLL=$(USEDLL) BOR=$(BOR)
747 cd ..
748
749install.exe: dosinst.c $(OBJDIR)\bcc.cfg
Bram Moolenaar071d4272004-06-13 20:20:40 +0000750 $(CC) $(CCARG) -WC -DWIN32 -einstall dosinst.c
Bram Moolenaar071d4272004-06-13 20:20:40 +0000751
752uninstal.exe: uninstal.c $(OBJDIR)\bcc.cfg
Bram Moolenaar071d4272004-06-13 20:20:40 +0000753 $(CC) $(CCARG) -WC -DWIN32 -O2 -euninstal uninstal.c
Bram Moolenaar071d4272004-06-13 20:20:40 +0000754
755clean:
756!if "$(OS)" == "Windows_NT"
757 # For Windows NT/2000, doesn't work on Windows 95/98...
758 # $(COMSPEC) needed to ensure rmdir.exe is not run
759 -@$(COMSPEC) /C rmdir /Q /S $(OBJDIR)
760!else
761 # For Windows 95/98, doesn't work on Windows NT/2000...
762 -@deltree /y $(OBJDIR)
763!endif
764 -@del *.res
765 -@del vim32*.dll
766 -@del vim32*.lib
767 -@del *vim*.exe
768 -@del *install*.exe
769 -@del *.csm
770 -@del *.map
771 -@del *.ilc
772 -@del *.ild
773 -@del *.ilf
774 -@del *.ils
775 -@del *.tds
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200776!ifdef LUA
777 -@del lua.lib
778!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000779!ifdef PERL
780 -@del perl.lib
Bram Moolenaara16bc542018-10-14 16:25:10 +0200781 -@del if_perl.c
782 -@del auto\if_perl.c
Bram Moolenaar071d4272004-06-13 20:20:40 +0000783!endif
784!ifdef PYTHON
785 -@del python.lib
786!endif
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200787!ifdef PYTHON3
788 -@del python3.lib
789!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000790!ifdef RUBY
791 -@del ruby.lib
792!endif
793!ifdef TCL
794 -@del tcl.lib
795!endif
796!ifdef XPM
797 -@del xpm.lib
798!endif
799 cd xxd
800 $(MAKE) /f Make_bc5.mak BOR="$(BOR)" clean
801 cd ..
802 cd GvimExt
803 $(MAKE) /f Make_bc5.mak BOR="$(BOR)" clean
804 cd ..
805
Bram Moolenaar071d4272004-06-13 20:20:40 +0000806
Bram Moolenaar071d4272004-06-13 20:20:40 +0000807$(TARGET): $(OBJDIR) $(vimobj) $(OBJDIR)\$(RESFILE)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000808 $(LINK) @&&|
809 $(LFLAGS) +
810 $(STARTUPOBJ) +
Bram Moolenaar071d4272004-06-13 20:20:40 +0000811 $(vimobj)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000812 $<,$*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000813!if ("$(CODEGUARD)"=="yes")
814 cg32.lib+
815!endif
816# $(OSTYPE)==WIN32 causes os_mswin.c compilation. FEAT_SHORTCUT in it needs OLE
Bram Moolenaar071d4272004-06-13 20:20:40 +0000817 ole2w32.lib +
Bram Moolenaar071d4272004-06-13 20:20:40 +0000818 import32.lib+
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200819!ifdef LUA
820 $(LUA_LIB_FLAG)lua.lib+
821!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000822!ifdef PERL
823 $(PERL_LIB_FLAG)perl.lib+
824!endif
825!ifdef PYTHON
826 $(PYTHON_LIB_FLAG)python.lib+
827!endif
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200828!ifdef PYTHON3
829 $(PYTHON3_LIB_FLAG)python3.lib+
830!endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000831!ifdef RUBY
832 $(RUBY_LIB_FLAG)ruby.lib+
833!endif
834!ifdef TCL
835 $(TCL_LIB_FLAG)tcl.lib+
836!endif
837!ifdef XPM
838 xpm.lib+
839!endif
840!if ("$(USEDLL)"=="yes")
841 cw32i.lib
842!else
843 cw32.lib
844!endif
845
846 $(OBJDIR)\$(RESFILE)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000847|
848
849test:
850 cd testdir
851 $(MAKE) /NOLOGO -f Make_dos.mak win32
852 cd ..
853
854$(OBJDIR)\ex_docmd.obj: ex_docmd.c ex_cmds.h
855
856$(OBJDIR)\ex_eval.obj: ex_eval.c ex_cmds.h
857
858$(OBJDIR)\if_ole.obj: if_ole.cpp
859
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200860$(OBJDIR)\if_lua.obj: if_lua.c lua.lib
861 $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_lua.c
862
Bram Moolenaara16bc542018-10-14 16:25:10 +0200863$(OBJDIR)\if_perl.obj: auto/if_perl.c perl.lib
864 $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc auto/if_perl.c
Bram Moolenaar071d4272004-06-13 20:20:40 +0000865
Bram Moolenaara16bc542018-10-14 16:25:10 +0200866auto/if_perl.c: if_perl.xs typemap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000867 $(PERL)\bin\perl.exe $(PERL)\lib\ExtUtils\xsubpp -prototypes -typemap \
Bram Moolenaara16bc542018-10-14 16:25:10 +0200868 $(PERL)\lib\ExtUtils\typemap if_perl.xs -output $@
Bram Moolenaar071d4272004-06-13 20:20:40 +0000869
Bram Moolenaardd9a4a42013-06-03 20:12:51 +0200870$(OBJDIR)\if_python.obj: if_python.c if_py_both.h python.lib
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200871 $(CC) -I$(PYTHON)\include $(CCARG) $(CC1) $(CC2)$@ -pc if_python.c
872
Bram Moolenaardd9a4a42013-06-03 20:12:51 +0200873$(OBJDIR)\if_python3.obj: if_python3.c if_py_both.h python3.lib
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200874 $(CC) -I$(PYTHON3)\include $(CCARG) $(CC1) $(CC2)$@ -pc if_python3.c
Bram Moolenaar071d4272004-06-13 20:20:40 +0000875
876$(OBJDIR)\if_ruby.obj: if_ruby.c ruby.lib
877 $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_ruby.c
878
879$(OBJDIR)\if_tcl.obj: if_tcl.c tcl.lib
880 $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc if_tcl.c
881
882$(OBJDIR)\xpm_w32.obj: xpm_w32.c xpm.lib
883 $(CC) $(CCARG) $(CC1) $(CC2)$@ -pc xpm_w32.c
884
885$(OBJDIR)\netbeans.obj: netbeans.c $(NBDEBUG_DEP)
886 $(CC) $(CCARG) $(CC1) $(CC2)$@ netbeans.c
887
Bram Moolenaare0874f82016-01-24 20:36:41 +0100888$(OBJDIR)\channel.obj: channel.c
889 $(CC) $(CCARG) $(CC1) $(CC2)$@ channel.c
890
Bram Moolenaar071d4272004-06-13 20:20:40 +0000891$(OBJDIR)\vim.res: vim.rc version.h tools.bmp tearoff.bmp \
892 vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
893 $(BRC) -fo$(OBJDIR)\vim.res -i $(BOR)\include -w32 -r vim.rc @&&|
894 $(DEFINES)
895|
896
897$(OBJDIR)\pathdef.obj: auto\pathdef.c
898 $(CC) $(CCARG) $(CC1) $(CC2)$@ auto\pathdef.c
899
900
901# Need to escape both quotes and backslashes in $INTERP_DEFINES
902INTERP_DEFINES_ESC_BKS=$(INTERP_DEFINES:\=\\)
903INTERP_DEFINES_ESC=$(INTERP_DEFINES_ESC_BKS:"=\")
904
905# Note: the silly /*"*/ below are there to trick make into accepting
906# the # character as something other than a comment without messing up
907# the preprocessor directive.
908auto\pathdef.c::
909 -@md auto
910 @echo creating auto/pathdef.c
911 @copy /y &&|
912/* pathdef.c */
913/*"*/#include "vim.h"/*"*/
914
915char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)";
916char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)";
917char_u *all_cflags = (char_u *)"$(CC:\=\\) $(CFLAGS:\=\\) $(DEFINES) $(MBDEFINES) $(INTERP_DEFINES_ESC) $(OPT) $(EXETYPE) $(CPUARG) $(ALIGNARG) $(DEBUG_FLAG) $(CODEGUARD_FLAG)";
918char_u *all_lflags = (char_u *)"$(LINK:\=\\) $(LFLAGS:\=\\)";
919char_u *compiled_user = (char_u *)"$(USERNAME)";
920char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";
921| auto\pathdef.c
922
Bram Moolenaar0ba04292010-07-14 23:23:17 +0200923lua.lib: $(LUA)\lib\lua$(LUA_VER).lib
924 coff2omf $(LUA)\lib\lua$(LUA_VER).lib $@
925
Bram Moolenaar071d4272004-06-13 20:20:40 +0000926perl.lib: $(PERL)\lib\CORE\perl$(PERL_VER).lib
927 coff2omf $(PERL)\lib\CORE\perl$(PERL_VER).lib $@
928
929python.lib: $(PYTHON)\libs\python$(PYTHON_VER).lib
930 coff2omf $(PYTHON)\libs\python$(PYTHON_VER).lib $@
931
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200932python3.lib: $(PYTHON3)\libs\python$(PYTHON3_VER).lib
933 coff2omf $(PYTHON3)\libs\python$(PYTHON3_VER).lib $@
934
Bram Moolenaar071d4272004-06-13 20:20:40 +0000935ruby.lib: $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib
936 coff2omf $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib $@
937
938# For some reason, the coff2omf method doesn't work on libXpm.lib, so
939# we have to manually generate an import library straight from the DLL.
940xpm.lib: $(XPM)\lib\libXpm.lib
941 implib -a $@ $(XPM)\bin\libXpm.dll
942
943tcl.lib: $(TCL_LIB)
944!if ("$(DYNAMIC_TCL)" == "yes")
945 copy $(TCL_LIB) $@
946!else
947 coff2omf $(TCL_LIB) $@
948!endif
949
950!if ("$(DYNAMIC_TCL)" == "yes")
951tclstub$(TCL_VER)-bor.lib:
952 -@IF NOT EXIST $@ ECHO You must download tclstub$(TCL_VER)-bor.lib separately and\
953 place it in the src directory in order to compile a dynamic TCL-enabled\
954 (g)vim with the Borland compiler. You can get the tclstub$(TCL_VER)-bor.lib file\
955 at http://mywebpage.netscape.com/sharppeople/vim/tclstub$(TCL_VER)-bor.lib
956!endif
957
958# vimrun.exe:
959vimrun.exe: vimrun.c
960!if ("$(USEDLL)"=="yes")
961 $(CC) -WC -O1 -I$(INCLUDE) -L$(LIB) -D_RTLDLL vimrun.c cw32mti.lib
962!else
963 $(CC) -WC -O1 -I$(INCLUDE) -L$(LIB) vimrun.c
964!endif
965
966# The dependency on $(OBJDIR) is to have bcc.cfg generated each time.
967$(OBJDIR)\bcc.cfg: Make_bc5.mak $(OBJDIR)
968 copy /y &&|
969 $(CFLAGS)
970 -L$(LIB)
971 $(DEFINES)
972 $(MBDEFINES)
973 $(INTERP_DEFINES)
974 $(EXETYPE)
975 $(DEBUG_FLAG)
976 $(OPT)
977 $(CODEGUARD_FLAG)
978 $(CPUARG)
979 $(ALIGNARG)
980| $@
981
982# vi:set sts=4 sw=4:
Bram Moolenaarbd5e15f2010-07-17 21:19:38 +0200983