3 # Compiler: Borland C++ 5.0 and later 32-bit compiler
4 # Targets: Dos16 or Win32 (Windows NT and Windows 95) (with/without GUI)
6 # Contributed by Ben Singer.
7 # Updated 4/1997 by Ron Aaron
8 # 6/1997 - added support for 16 bit DOS
9 # Note: this has been tested, and works, for BC5. Your mileage may vary.
10 # Has been reported NOT to work with BC 4.52. Maybe it can be fixed?
11 # 10/1997 - ron - fixed bugs w/ BC 5.02
12 # 8/1998 - ron - updated with new targets, fixed some stuff
13 # 3/2000 - Bram: Made it work with BC 5.5 free command line compiler,
14 # cleaned up variables.
15 # 6/2001 - Dan - Added support for compiling Python and TCL
16 # 7/2001 - Dan - Added support for compiling Ruby
18 # It builds on Windows 95 and NT-Intel, producing the same binary in either
19 # case. To build using Microsoft Visual C++, use Make_mvc.mak.
21 # This should work with the free Borland command line compiler, version 5.5.
22 # You need at least sp1 (service pack 1). With sp2 it compiles faster.
23 # Use a command like this:
24 # <path>\bin\make /f Make_bc5.mak BOR=<path>
27 # let the make utility do the hard work:
32 # name value (default)
34 # BOR path to root of Borland C install (c:\bc5)
35 # LINK name of the linker ($(BOR)\bin\ilink if OSTYPE is DOS16,
36 # $(BOR)\bin\ilink32 otherwise)
37 # GUI no or yes: set to yes if you want the GUI version (yes)
38 # LUA define to path to Lua dir to get Lua support (not defined)
39 # LUA_VER define to version of Lua being used (51)
40 # DYNAMIC_LUA no or yes: set to yes to load the Lua DLL dynamically (no)
41 # PERL define to path to Perl dir to get Perl support (not defined)
42 # PERL_VER define to version of Perl being used (56)
43 # DYNAMIC_PERL no or yes: set to yes to load the Perl DLL dynamically (no)
44 # PYTHON define to path to Python dir to get PYTHON support (not defined)
45 # PYTHON_VER define to version of Python being used (22)
46 # DYNAMIC_PYTHON no or yes: use yes to load the Python DLL dynamically (no)
47 # TCL define to path to TCL dir to get TCL support (not defined)
48 # TCL_VER define to version of TCL being used (83)
49 # DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (no)
50 # RUBY define to path to Ruby dir to get Ruby support (not defined)
51 # NOTE: You may have to remove the defines for uid_t and gid_t
52 # from the Ruby config.h header file.
53 # RUBY_VER define to version of Ruby being used (16)
54 # NOTE: compilation on WinNT/2K/XP requires
55 # at least version 1.6.5 of Ruby. Earlier versions
56 # of Ruby will cause a compile error on these systems.
57 # RUBY_VER_LONG same, but in format with dot. (1.6)
58 # DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
59 # MBYTE no or yes: set to yes for multi-byte support (yes)
60 # NOTE: multi-byte support is broken in the Borland libraries,
61 # not everything will work properly! Esp. handling multi-byte
63 # IME no or yes: set to yes for multi-byte IME support (yes)
64 # DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
65 # GETTEXT no or yes: set to yes for multi-language support (yes)
66 # ICONV no or yes: set to yes for dynamic iconv support (yes)
67 # OLE no or yes: set to yes to make OLE gvim (no)
68 # OSTYPE DOS16 or WIN32 (WIN32)
69 # 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.
75 # VIMDLL no or yes: create vim32.dll, and stub (g)vim.exe (no)
76 # ALIGN 1, 2 or 4: Alignment to use (4 for Win32, 2 for DOS16)
77 # FASTCALL no or yes: set to yes to use register-based function protocol (yes)
78 # OPTIMIZE SPACE, SPEED, or MAXSPEED: type of optimization (MAXSPEED)
79 # POSTSCRIPT no or yes: set to yes for PostScript printing
80 # FEATURES TINY, SMALL, NORMAL, BIG or HUGE
81 # (BIG for WIN32, SMALL for DOS16)
82 # WINVER 0x0400 or 0x0500: minimum Win32 version to support (0x0400)
83 # CSCOPE no or yes: include support for Cscope interface (yes)
84 # NETBEANS no or yes: include support for Netbeans interface (yes if GUI
86 # NBDEBUG no or yes: include support for debugging Netbeans interface (no)
87 # XPM define to path to XPM dir to get support for loading XPM images.
89 ### BOR: root of the BC installation
94 ### LINK: Name of the linker: tlink or ilink32 (this is below, depends on
97 ### GUI: yes for GUI version, no for console version
102 ### MBYTE: yes for multibyte support, no to disable it.
107 ### IME: yes for multibyte support, no to disable it.
111 !if
("$(DYNAMIC_IME)"=="")
115 ### GETTEXT: yes for multilanguage support, no to disable it.
116 !if
("$(GETTEXT)"=="")
120 ### ICONV: yes to enable dynamic-iconv support, no to disable it
125 ### CSCOPE: yes to enable Cscope support, no to disable it
126 !if
("$(CSCOPE)"=="")
130 ### NETBEANS: yes to enable NetBeans interface support, no to disable it
131 !if
("$(NETBEANS)"=="") && ("$(GUI)"=="yes")
135 ### LUA: uncomment this line if you want lua support in vim
138 ### PERL: uncomment this line if you want perl support in vim
141 ### PYTHON: uncomment this line if you want python support in vim
144 ### RUBY: uncomment this line if you want ruby support in vim
147 ### TCL: uncomment this line if you want tcl support in vim
150 ### OLE: no for normal gvim, yes for OLE-capable gvim (only works with GUI)
153 ### OSTYPE: DOS16 for Windows 3.1 version, WIN32 for Windows 95/98/NT/2000
155 !if
("$(OSTYPE)"=="")
159 ### DEBUG: Uncomment to make an executable for debugging
161 !if
("$(DEBUG)"=="yes")
165 ### CODEGUARD: Uncomment to use the CODEGUARD stuff (BC 5.0 or later):
167 !if
("$(CODEGUARD)"=="yes")
171 ### CPUNR: set your target processor (3 to 6)
172 !if
("$(CPUNR)" == "i386") ||
("$(CPUNR)" == "3")
174 !elif
("$(CPUNR)" == "i486") ||
("$(CPUNR)" == "4")
176 !elif
("$(CPUNR)" == "i586") ||
("$(CPUNR)" == "5")
178 !elif
("$(CPUNR)" == "i686") ||
("$(CPUNR)" == "6")
184 ### Comment out to use precompiled headers (faster, but uses lots of disk!)
185 HEADERS
= -H
-H
=vim.csm
-Hc
187 ### USEDLL: no for statically linked version of run-time, yes for DLL runtime
188 !if
("$(USEDLL)"=="")
192 ### VIMDLL: yes for a DLL version of VIM (NOT RECOMMENDED), no otherwise
195 ### ALIGN: alignment you desire: (1,2 or 4: s/b 4 for Win32, 2 for DOS)
197 !if
($(OSTYPE
)==DOS16
)
204 ### FASTCALL: yes to use FASTCALL calling convention (RECOMMENDED!), no otherwise
205 # Incompatible when calling external functions (like MSVC-compiled DLLs), so
206 # don't use FASTCALL when linking with external libs.
207 !if
("$(FASTCALL)"=="") && \
209 ("$(PYTHON)"=="") && \
213 ("$(ICONV)"!="yes") && \
214 ("$(IME)"!="yes") && \
215 ("$(MBYTE)"!="yes") && \
220 ### OPTIMIZE: SPEED to optimize for speed, SPACE otherwise (SPEED RECOMMENDED)
221 !if
("$(OPTIMIZE)"=="")
225 ### FEATURES: TINY, SMALL, NORMAL, BIG or HUGE (BIG for WIN32, SMALL for DOS16)
226 !if
("$(FEATURES)"=="")
227 ! if
($(OSTYPE
)==DOS16
)
234 ### POSTSCRIPT: uncomment this line if you want PostScript printing
238 # If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal
239 # default, use these lines.
240 #VIMRCLOC = somewhere
241 #VIMRUNTIMEDIR = somewhere
243 ### Set the default $(WINVER) to make it work with Bcc 5.5.
249 # Sanity checks for the above options:
252 !if
($(OSTYPE
)==DOS16
)
254 !error CPUNR Must be less than or equal to
4 for DOS16
258 !error ALIGN Must be less than or equal to
2 for DOS16
263 !error CPUNR Must be greater or equal to
3 for WIN32
267 !if
($(OSTYPE
)!=WIN32
) && ($(OSTYPE
)!=DOS16
)
268 !error Check the OSTYPE variable again
: $(OSTYPE
) is not supported
!
272 # Optimizations: change as desired (RECOMMENDATION: Don't change!):
274 !if
("$(DEBUG)"=="yes")
277 !if
("$(OPTIMIZE)"=="SPACE")
279 !elif
("$(OPTIMIZE)"=="MAXSPEED")
280 OPT
= -O2
-f-
-d
-Ocavi
-O
282 OPT
= -O2
-f-
-d
-Oc
-O
284 !if
("$(FASTCALL)"=="yes")
287 !if
("$(CODEGUARD)"!="yes")
291 !if
($(OSTYPE
)==DOS16
)
296 # shouldn't have to change:
298 INCLUDE
= $(BOR
)\
include;.
;proto
299 DEFINES
= -DFEAT_
$(FEATURES
) -DWIN32
-DHAVE_PATHDEF \
300 -DWINVER
=$(WINVER
) -D_WIN32_WINNT
=$(WINVER
)
303 INTERP_DEFINES
= $(INTERP_DEFINES
) -DFEAT_LUA
304 INCLUDE
= $(LUA
)\
include;$(INCLUDE
)
308 ! if
("$(DYNAMIC_LUA)" == "yes")
309 INTERP_DEFINES
= $(INTERP_DEFINES
) -DDYNAMIC_LUA
-DDYNAMIC_LUA_DLL
=\"lua
$(LUA_VER
).dll
\"
310 LUA_LIB_FLAG
= /nodefaultlib
:
315 INTERP_DEFINES
= $(INTERP_DEFINES
) -DFEAT_PERL
316 INCLUDE
= $(PERL
)\lib\core
;$(INCLUDE
)
320 ! if
("$(DYNAMIC_PERL)" == "yes")
321 ! if
($(PERL_VER
) > 55)
322 INTERP_DEFINES
= $(INTERP_DEFINES
) -DDYNAMIC_PERL
-DDYNAMIC_PERL_DLL
=\"perl
$(PERL_VER
).dll
\"
323 PERL_LIB_FLAG
= /nodefaultlib
:
325 ! message
"Cannot dynamically load Perl versions less than 5.6. Loading statically..."
331 INTERP_DEFINES
= $(INTERP_DEFINES
) -DFEAT_PYTHON
332 INCLUDE
= $(PYTHON
)\
include;$(INCLUDE
)
336 !if
"$(DYNAMIC_PYTHON)" == "yes"
337 INTERP_DEFINES
= $(INTERP_DEFINES
) -DDYNAMIC_PYTHON
-DDYNAMIC_PYTHON_DLL
=\"python
$(PYTHON_VER
).dll
\"
338 PYTHON_LIB_FLAG
= /nodefaultlib
:
346 !ifndef RUBY_VER_LONG
350 !if
"$(RUBY_VER)" == "16"
351 !ifndef RUBY_PLATFORM
352 RUBY_PLATFORM
= i586-mswin32
354 !ifndef RUBY_INSTALL_NAME
355 RUBY_INSTALL_NAME
= mswin32-ruby
$(RUBY_VER
)
358 !ifndef RUBY_PLATFORM
359 RUBY_PLATFORM
= i386-mswin32
361 !ifndef RUBY_INSTALL_NAME
362 RUBY_INSTALL_NAME
= msvcrt-ruby
$(RUBY_VER
)
366 INTERP_DEFINES
= $(INTERP_DEFINES
) -DFEAT_RUBY
367 INCLUDE
= $(RUBY
)\lib
\ruby\
$(RUBY_VER_LONG
)\
$(RUBY_PLATFORM
);$(INCLUDE
)
369 !if
"$(DYNAMIC_RUBY)" == "yes"
370 INTERP_DEFINES
= $(INTERP_DEFINES
) -DDYNAMIC_RUBY
-DDYNAMIC_RUBY_DLL
=\"$(RUBY_INSTALL_NAME
).dll
\"
371 INTERP_DEFINES
= $(INTERP_DEFINES
) -DDYNAMIC_RUBY_VER
=$(RUBY_VER
)
372 RUBY_LIB_FLAG
= /nodefaultlib
:
377 INTERP_DEFINES
= $(INTERP_DEFINES
) -DFEAT_TCL
378 INCLUDE
= $(TCL
)\
include;$(INCLUDE
)
382 TCL_LIB
= $(TCL
)\lib
\tcl
$(TCL_VER
).lib
384 !if
"$(DYNAMIC_TCL)" == "yes"
385 INTERP_DEFINES
= $(INTERP_DEFINES
) -DDYNAMIC_TCL
-DDYNAMIC_TCL_DLL
=\"tcl
$(TCL_VER
).dll
\"
386 TCL_LIB
= tclstub
$(TCL_VER
)-bor.lib
391 # DO NOT change below:
394 ALIGNARG
= -a
$(ALIGN
)
396 !if
("$(DEBUG)"=="yes")
397 DEFINES
=$(DEFINES
) -DDEBUG
400 !if
("$(OLE)"=="yes")
401 DEFINES
= $(DEFINES
) -DFEAT_OLE
404 !if
("$(MBYTE)"=="yes")
405 MBDEFINES
= $(MBDEFINES
) -DFEAT_MBYTE
407 !if
("$(IME)"=="yes")
408 MBDEFINES
= $(MBDEFINES
) -DFEAT_MBYTE_IME
409 !if
("$(DYNAMIC_IME)" == "yes")
410 MBDEFINES
= $(MBDEFINES
) -DDYNAMIC_IME
413 !if
("$(ICONV)"=="yes")
414 MBDEFINES
= $(MBDEFINES
) -DDYNAMIC_ICONV
416 !if
("$(GETTEXT)"=="yes")
417 MBDEFINES
= $(MBDEFINES
) -DDYNAMIC_GETTEXT
420 !if
("$(CSCOPE)"=="yes")
421 DEFINES
= $(DEFINES
) -DFEAT_CSCOPE
424 !if
("$(GUI)"=="yes")
425 DEFINES
= $(DEFINES
) -DFEAT_GUI_W32
-DFEAT_CLIPBOARD
426 !if
("$(DEBUG)"=="yes")
431 !if
("$(VIMDLL)"=="yes")
433 DEFINES
= $(DEFINES
) -DVIMDLL
437 STARTUPOBJ
= c0w32.obj
444 !if
("$(DEBUG)"=="yes")
447 # for now, anyway: VIMDLL is only for the GUI version
450 !if
($(OSTYPE
)==DOS16
)
451 DEFINES
= -DFEAT_
$(FEATURES
) -DMSDOS
457 STARTUPOBJ
= c0x32.obj
458 LINK2
= -ap
-OS
-o
-P
463 !if
("$(NETBEANS)"=="yes")
464 DEFINES
= $(DEFINES
) -DFEAT_NETBEANS_INTG
465 !if
("$(NBDEBUG)"=="yes")
466 DEFINES
= $(DEFINES
) -DNBDEBUG
467 NBDEBUG_DEP
= nbdebug.h nbdebug.c
472 !if
("$(GUI)"=="yes")
473 DEFINES
= $(DEFINES
) -DFEAT_XPM_W32
474 INCLUDE
= $(XPM
)\
include;$(INCLUDE
)
478 !if
("$(USEDLL)"=="yes")
479 DEFINES
= $(DEFINES
) -D_RTLDLL
482 !if
("$(DEBUG)"=="yes")
483 OBJDIR
= $(OSTYPE
)\objdbg
485 !if
("$(GUI)"=="yes")
486 !if
("$(OLE)"=="yes")
487 OBJDIR
= $(OSTYPE
)\oleobj
489 OBJDIR
= $(OSTYPE
)\gobj
492 OBJDIR
= $(OSTYPE
)\obj
496 !if
("$(POSTSCRIPT)"=="yes")
497 DEFINES
= $(DEFINES
) -DMSWINPS
500 ##### BASE COMPILER/TOOLS RULES #####
501 MAKE
= $(BOR
)\bin\make
502 CFLAGS
= -w-aus
-w-par
-w-pch
-w-ngu
-w-csu
-I
$(INCLUDE
)
503 !if
($(OSTYPE
)==DOS16
)
506 LINK
= $(BOR
)\BIN\TLink
509 LFLAGS
= -Tde
-c
-m
-L
$(LIB
) $(DEBUG_FLAG
) $(LINK2
)
511 CFLAGS
= $(CFLAGS
) -H-
$(HEADERS
)
513 BRC
= $(BOR
)\BIN
\brc
32
515 LINK
= $(BOR
)\BIN\ILink32
517 CC
= $(BOR
)\BIN\Bcc32
518 LFLAGS
= -OS
-Tpe
-c
-m
-L
$(LIB
) $(DEBUG_FLAG
) $(LINK2
)
519 LFLAGSDLL
= -Tpd
-c
-m
-L
$(LIB
) $(DEBUG_FLAG
) $(LINK2
)
520 CFLAGS
= $(CFLAGS
) -d
-RT-
-k-
-Oi
$(HEADERS
) -f-
525 CCARG
= +$(OBJDIR
)\bcc.cfg
529 # Without the following, the implicit rule in BUILTINS.MAK is picked up
530 # for a rule for .c.obj rather than the local implicit rule
535 {.
}.c
{$(OBJDIR
)}.obj
:
536 $(CC
) $(CCARG
) $(CC1
) -n
$(OBJDIR
)\
{$< }
539 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
$*.
cpp
541 !if
($(OSTYPE
)==DOS16
)
544 $(OBJDIR
)\os_w32exe.obj
545 !if
("$(VIMDLL)"=="yes")
547 $(OBJDIR
)\os_w32dll.obj
550 $(OBJDIR
)\os_w32exe.obj
555 $(OBJDIR
)\buffer.obj \
556 $(OBJDIR
)\charset.obj \
558 $(OBJDIR
)\digraph.obj \
561 $(OBJDIR
)\ex_cmds.obj \
562 $(OBJDIR
)\ex_cmds2.obj \
563 $(OBJDIR
)\ex_docmd.obj \
564 $(OBJDIR
)\ex_eval.obj \
565 $(OBJDIR
)\ex_getln.obj \
566 $(OBJDIR
)\fileio.obj \
568 $(OBJDIR
)\getchar.obj \
569 $(OBJDIR
)\hardcopy.obj \
570 $(OBJDIR
)\hashtab.obj \
573 $(OBJDIR
)\memfile.obj \
574 $(OBJDIR
)\memline.obj \
576 $(OBJDIR
)\message.obj \
577 $(OBJDIR
)\misc1.obj \
578 $(OBJDIR
)\misc2.obj \
580 $(OBJDIR
)\mbyte.obj \
581 $(OBJDIR
)\normal.obj \
583 $(OBJDIR
)\option.obj \
584 $(OBJDIR
)\popupmnu.obj \
585 $(OBJDIR
)\quickfix.obj \
586 $(OBJDIR
)\regexp.obj \
587 $(OBJDIR
)\screen.obj \
588 $(OBJDIR
)\search.obj \
589 $(OBJDIR
)\spell.obj \
590 $(OBJDIR
)\syntax.obj \
595 $(OBJDIR
)\version.obj \
596 $(OBJDIR
)\window.obj \
597 $(OBJDIR
)\pathdef.obj
599 !if
("$(OLE)"=="yes")
611 $(OBJDIR
)\if_perl.obj
616 $(OBJDIR
)\if_python.obj
621 $(OBJDIR
)\if_ruby.obj
629 !if
("$(CSCOPE)"=="yes")
631 $(OBJDIR
)\if_cscope.obj
634 !if
("$(NETBEANS)"=="yes")
636 $(OBJDIR
)\netbeans.obj
641 $(OBJDIR
)\xpm_w32.obj
644 !if
("$(VIMDLL)"=="yes")
645 vimdllobj
= $(vimobj
)
646 !if
("$(DEBUG)"=="yes")
647 DLLTARGET
= vim32d.dll
649 DLLTARGET
= vim32.dll
655 !if
("$(GUI)"=="yes")
659 $(OBJDIR
)\gui_beval.obj \
660 $(OBJDIR
)\gui_w32.obj
663 !if
($(OSTYPE
)==WIN32
)
665 $(OBJDIR
)\os_win32.obj
$(OBJDIR
)\os_mswin.obj
666 !elif
($(OSTYPE
)==DOS16
)
668 $(OBJDIR
)\os_msdos.obj
670 # Blab what we are going to do:
671 MSG
= Compiling
$(OSTYPE
) $(TARGET
) $(OLETARGET
), with
:
672 !if
("$(GUI)"=="yes")
675 !if
("$(OLE)"=="yes")
678 !if
("$(USEDLL)"=="yes")
681 !if
("$(VIMDLL)"=="yes")
684 !if
("$(FASTCALL)"=="yes")
685 MSG
= $(MSG
) FASTCALL
687 !if
("$(MBYTE)"=="yes")
690 !if
("$(IME)"=="yes")
692 ! if
"$(DYNAMIC_IME)" == "yes"
693 MSG
= $(MSG
)(dynamic
)
696 !if
("$(GETTEXT)"=="yes")
699 !if
("$(ICONV)"=="yes")
702 !if
("$(DEBUG)"=="yes")
705 !if
("$(CODEGUARD)"=="yes")
706 MSG
= $(MSG
) CODEGUARD
708 !if
("$(CSCOPE)"=="yes")
711 !if
("$(NETBEANS)"=="yes")
712 MSG
= $(MSG
) NETBEANS
719 ! if
"$(DYNAMIC_LUA)" == "yes"
720 MSG
= $(MSG
)(dynamic
)
725 ! if
"$(DYNAMIC_PERL)" == "yes"
726 MSG
= $(MSG
)(dynamic
)
731 ! if
"$(DYNAMIC_PYTHON)" == "yes"
732 MSG
= $(MSG
)(dynamic
)
737 ! if
"$(DYNAMIC_RUBY)" == "yes"
738 MSG
= $(MSG
)(dynamic
)
743 ! if
"$(DYNAMIC_TCL)" == "yes"
744 MSG
= $(MSG
)(dynamic
)
747 MSG
= $(MSG
) cpu
=$(CPUARG
)
748 MSG
= $(MSG
) Align
=$(ALIGNARG
)
752 !if
($(OSTYPE
)==DOS16
)
755 !if
("$(VIMDLL)"=="yes")
756 TARGETS
= $(DLLTARGET
)
758 TARGETS
= $(TARGETS
) $(TARGET
)
762 all: vim vimrun.exe
install.exe xxd uninstal.exe GvimExt
/gvimext.dll
764 vim
: $(OSTYPE
) $(OBJDIR
) $(OBJDIR
)\bcc.cfg
$(TARGETS
)
765 @if exist
$(OBJDIR
)\version.obj del
$(OBJDIR
)\version.obj
766 @if exist auto\pathdef.c del auto\pathdef.c
776 $(MAKE
) /f Make_bc5.mak BOR
="$(BOR)" BCC
="$(CC)"
779 GvimExt
/gvimext.dll
: GvimExt
/gvimext.
cpp GvimExt
/gvimext.rc GvimExt
/gvimext.h
781 $(MAKE
) /f Make_bc5.mak USEDLL
=$(USEDLL
) BOR
=$(BOR
)
784 install.exe
: dosinst.c
$(OBJDIR
)\bcc.cfg
785 !if
($(OSTYPE
)==WIN32
)
786 $(CC
) $(CCARG
) -WC
-DWIN32
-einstall dosinst.c
788 $(CC
) $(CCARG
) -WC
-einstall dosinst.c
791 uninstal.exe
: uninstal.c
$(OBJDIR
)\bcc.cfg
792 !if
($(OSTYPE
)==WIN32
)
793 $(CC
) $(CCARG
) -WC
-DWIN32
-O2
-euninstal uninstal.c
795 $(CC
) $(CCARG
) -WC
-O2
-euninstal uninstal.c
799 !if
"$(OS)" == "Windows_NT"
800 # For Windows NT/2000, doesn't work on Windows 95/98...
801 # $(COMSPEC) needed to ensure rmdir.exe is not run
802 -@
$(COMSPEC
) /C rmdir
/Q
/S
$(OBJDIR
)
804 # For Windows 95/98, doesn't work on Windows NT/2000...
805 -@deltree
/y
$(OBJDIR
)
838 $(MAKE
) /f Make_bc5.mak BOR
="$(BOR)" clean
841 $(MAKE
) /f Make_bc5.mak BOR
="$(BOR)" clean
844 $(DLLTARGET
): $(OBJDIR
) $(vimdllobj
)
850 !if
("$(CODEGUARD)"=="yes")
853 # $(OSTYPE)==WIN32 causes os_mswin.c compilation. FEAT_SHORTCUT in it needs OLE
854 !if
("$(OLE)"=="yes" ||
$(OSTYPE
)==WIN32
)
857 !if
($(OSTYPE
)==WIN32
)
860 $(LUA_LIB_FLAG
)lua.lib
+
863 $(PERL_LIB_FLAG
)perl.lib
+
866 $(PYTHON_LIB_FLAG
)python.lib
+
869 $(RUBY_LIB_FLAG
)ruby.lib
+
872 $(TCL_LIB_FLAG
)tcl.lib
+
877 !if
("$(USEDLL)"=="yes")
888 !if
("$(VIMDLL)"=="yes")
889 $(TARGET
): $(OBJDIR
) $(DLLTARGET
) $(vimmain
) $(OBJDIR
)\
$(RESFILE
)
891 $(TARGET
): $(OBJDIR
) $(vimobj
) $(OBJDIR
)\
$(RESFILE
)
896 !if
("$(VIMDLL)"=="yes")
902 !if
($(OSTYPE
)==WIN32
)
903 !if
("$(CODEGUARD)"=="yes")
906 # $(OSTYPE)==WIN32 causes os_mswin.c compilation. FEAT_SHORTCUT in it needs OLE
907 !if
("$(OLE)"=="yes" ||
$(OSTYPE
)==WIN32
)
912 $(LUA_LIB_FLAG
)lua.lib
+
915 $(PERL_LIB_FLAG
)perl.lib
+
918 $(PYTHON_LIB_FLAG
)python.lib
+
921 $(RUBY_LIB_FLAG
)ruby.lib
+
924 $(TCL_LIB_FLAG
)tcl.lib
+
929 !if
("$(USEDLL)"=="yes")
943 $(MAKE
) /NOLOGO
-f Make_dos.mak win32
946 $(OBJDIR
)\ex_docmd.obj
: ex_docmd.c ex_cmds.h
948 $(OBJDIR
)\ex_eval.obj
: ex_eval.c ex_cmds.h
950 $(OBJDIR
)\if_ole.obj
: if_ole.
cpp
952 $(OBJDIR
)\if_lua.obj
: if_lua.c lua.lib
953 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
-pc if_lua.c
955 $(OBJDIR
)\if_perl.obj
: if_perl.c perl.lib
956 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
-pc if_perl.c
958 if_perl.c
: if_perl.xs typemap
959 $(PERL
)\bin\perl.exe
$(PERL
)\lib\ExtUtils\xsubpp
-prototypes
-typemap \
960 $(PERL
)\lib\ExtUtils
\typemap if_perl.xs
> $@
962 $(OBJDIR
)\if_python.obj
: if_python.c python.lib
963 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
-pc if_python.c
965 $(OBJDIR
)\if_ruby.obj
: if_ruby.c ruby.lib
966 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
-pc if_ruby.c
968 $(OBJDIR
)\if_tcl.obj
: if_tcl.c tcl.lib
969 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
-pc if_tcl.c
971 $(OBJDIR
)\xpm_w32.obj
: xpm_w32.c xpm.lib
972 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@
-pc xpm_w32.c
974 $(OBJDIR
)\netbeans.obj
: netbeans.c
$(NBDEBUG_DEP
)
975 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@ netbeans.c
977 $(OBJDIR
)\vim.res
: vim.rc version.h tools.bmp tearoff.bmp \
978 vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico
979 $(BRC
) -fo
$(OBJDIR
)\vim.res
-i
$(BOR
)\
include -w32
-r vim.rc @
&&|
983 $(OBJDIR
)\pathdef.obj
: auto\pathdef.c
984 $(CC
) $(CCARG
) $(CC1
) $(CC2
)$@ auto\pathdef.c
987 # Need to escape both quotes and backslashes in $INTERP_DEFINES
988 INTERP_DEFINES_ESC_BKS
=$(INTERP_DEFINES
:\
=\\)
989 INTERP_DEFINES_ESC
=$(INTERP_DEFINES_ESC_BKS
:"=\")
991 # Note: the silly /*"*/ below are there to trick make into accepting
992 # the # character as something other than a comment without messing up
993 # the preprocessor directive.
996 @echo creating auto
/pathdef.c
999 /*"*/#include "vim.h
"/*"*/
1001 char_u
*default_vim_dir
= (char_u
*)"$(VIMRCLOC:\=\\)";
1002 char_u
*default_vimruntime_dir
= (char_u
*)"$(VIMRUNTIMEDIR:\=\\)";
1003 char_u
*all_cflags = (char_u
*)"$(CC:\=\\) $(CFLAGS:\=\\) $(DEFINES) $(MBDEFINES) $(INTERP_DEFINES_ESC) $(OPT) $(EXETYPE) $(CPUARG) $(ALIGNARG) $(DEBUG_FLAG) $(CODEGUARD_FLAG)";
1004 char_u
*all_lflags
= (char_u
*)"$(LINK:\=\\) $(LFLAGS:\=\\)";
1005 char_u
*compiled_user
= (char_u
*)"$(USERNAME)";
1006 char_u
*compiled_sys
= (char_u
*)"$(USERDOMAIN)";
1009 lua.lib
: $(LUA
)\lib\lua
$(LUA_VER
).lib
1010 coff2omf
$(LUA
)\lib\lua
$(LUA_VER
).lib
$@
1012 perl.lib
: $(PERL
)\lib\CORE\perl
$(PERL_VER
).lib
1013 coff2omf
$(PERL
)\lib\CORE\perl
$(PERL_VER
).lib
$@
1015 python.lib
: $(PYTHON
)\libs\python
$(PYTHON_VER
).lib
1016 coff2omf
$(PYTHON
)\libs\python
$(PYTHON_VER
).lib
$@
1018 ruby.lib
: $(RUBY
)\lib\
$(RUBY_INSTALL_NAME
).lib
1019 coff2omf
$(RUBY
)\lib\
$(RUBY_INSTALL_NAME
).lib
$@
1021 # For some reason, the coff2omf method doesn't work on libXpm.lib, so
1022 # we have to manually generate an import library straight from the DLL.
1023 xpm.lib
: $(XPM
)\lib\libXpm.lib
1024 implib
-a
$@
$(XPM
)\bin\libXpm.dll
1027 !if
("$(DYNAMIC_TCL)" == "yes")
1030 coff2omf
$(TCL_LIB
) $@
1033 !if
("$(DYNAMIC_TCL)" == "yes")
1034 tclstub
$(TCL_VER
)-bor.lib
:
1035 -@IF NOT EXIST
$@ ECHO You must download tclstub
$(TCL_VER
)-bor.lib separately and\
1036 place it in the src directory in order to compile a dynamic TCL-enabled\
1037 (g
)vim with the Borland compiler. You can
get the tclstub
$(TCL_VER
)-bor.lib file\
1038 at http
://mywebpage.netscape.com
/sharppeople
/vim
/tclstub
$(TCL_VER
)-bor.lib
1042 vimrun.exe
: vimrun.c
1043 !if
("$(USEDLL)"=="yes")
1044 $(CC
) -WC
-O1
-I
$(INCLUDE
) -L
$(LIB
) -D_RTLDLL vimrun.c cw32mti.lib
1046 $(CC
) -WC
-O1
-I
$(INCLUDE
) -L
$(LIB
) vimrun.c
1049 # The dependency on $(OBJDIR) is to have bcc.cfg generated each time.
1050 $(OBJDIR
)\bcc.cfg
: Make_bc5.mak
$(OBJDIR
)
1065 # vi:set sts=4 sw=4: