jkunstle / rpms / vim

Forked from rpms/vim 3 years ago
Clone
3ef2ca
To: vim_dev@googlegroups.com
3ef2ca
Subject: Patch 7.4.496
3ef2ca
Fcc: outbox
3ef2ca
From: Bram Moolenaar <Bram@moolenaar.net>
3ef2ca
Mime-Version: 1.0
3ef2ca
Content-Type: text/plain; charset=UTF-8
3ef2ca
Content-Transfer-Encoding: 8bit
3ef2ca
------------
3ef2ca
3ef2ca
Patch 7.4.496
3ef2ca
Problem:    Many lines are both in Make_cyg.mak and Make_ming.mak
3ef2ca
Solution:   Move the common parts to one file. (Ken Takata)
3ef2ca
Files:	    src/INSTALLpc.txt, src/Make_cyg.mak, src/Make_cyg_ming.mak,
3ef2ca
	    src/Make_ming.mak, src/Make_mvc.mak, Filelist
3ef2ca
3ef2ca
3ef2ca
*** ../vim-7.4.495/src/INSTALLpc.txt	2014-08-22 18:12:53.995244049 +0200
3ef2ca
--- src/INSTALLpc.txt	2014-11-05 13:49:27.076811946 +0100
3ef2ca
***************
3ef2ca
*** 228,238 ****
3ef2ca
  
3ef2ca
      http://www.mingw.org/
3ef2ca
  
3ef2ca
  Once you have downloaded the compiler binaries, unpack them on your hard disk
3ef2ca
  somewhere, and put them on your PATH.  If you are on Win95/98 you can edit
3ef2ca
  your AUTOEXEC.BAT file with a line like:
3ef2ca
  
3ef2ca
!     set PATH=C:\GCC-2.95.2\BIN;%PATH%
3ef2ca
  
3ef2ca
  or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
3ef2ca
  System, Advanced, and edit the environment from there.
3ef2ca
--- 228,242 ----
3ef2ca
  
3ef2ca
      http://www.mingw.org/
3ef2ca
  
3ef2ca
+ or you can use 'MinGW-w64' compiler.
3ef2ca
+ 
3ef2ca
+     http://mingw-w64.sourceforge.net/
3ef2ca
+ 
3ef2ca
  Once you have downloaded the compiler binaries, unpack them on your hard disk
3ef2ca
  somewhere, and put them on your PATH.  If you are on Win95/98 you can edit
3ef2ca
  your AUTOEXEC.BAT file with a line like:
3ef2ca
  
3ef2ca
!     set PATH=C:\MinGW\bin;%PATH%
3ef2ca
  
3ef2ca
  or on NT/2000/XP, go to the Control Panel, (Performance and Maintenance),
3ef2ca
  System, Advanced, and edit the environment from there.
3ef2ca
***************
3ef2ca
*** 240,249 ****
3ef2ca
  Test if gcc is on your path.  From a CMD (or COMMAND on '95/98) window:
3ef2ca
  
3ef2ca
      C:\> gcc --version
3ef2ca
!     2.95.2
3ef2ca
  
3ef2ca
!     C:\> make --version
3ef2ca
!     GNU Make version 3.77 (...etc...)
3ef2ca
  
3ef2ca
  Now you are ready to rock 'n' roll.  Unpack the vim sources (look on
3ef2ca
  www.vim.org for exactly which version of the vim files you need).
3ef2ca
--- 244,253 ----
3ef2ca
  Test if gcc is on your path.  From a CMD (or COMMAND on '95/98) window:
3ef2ca
  
3ef2ca
      C:\> gcc --version
3ef2ca
!     gcc (GCC) 4.8.1
3ef2ca
  
3ef2ca
!     C:\> mingw32-make --version
3ef2ca
!     GNU Make 3.82.90 (...etc...)
3ef2ca
  
3ef2ca
  Now you are ready to rock 'n' roll.  Unpack the vim sources (look on
3ef2ca
  www.vim.org for exactly which version of the vim files you need).
3ef2ca
***************
3ef2ca
*** 255,261 ****
3ef2ca
  
3ef2ca
  and you type:
3ef2ca
  
3ef2ca
!     make -f Make_ming.mak gvim.exe
3ef2ca
  
3ef2ca
  After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
3ef2ca
  directory.
3ef2ca
--- 259,265 ----
3ef2ca
  
3ef2ca
  and you type:
3ef2ca
  
3ef2ca
!     mingw32-make -f Make_ming.mak gvim.exe
3ef2ca
  
3ef2ca
  After churning for a while, you will end up with 'gvim.exe' in the 'vim\src'
3ef2ca
  directory.
3ef2ca
***************
3ef2ca
*** 264,270 ****
3ef2ca
  way.  If, for some reason, you want the console-mode-only version of vim (this
3ef2ca
  is NOT recommended on Win32, especially on '95/'98!!!), you can use:
3ef2ca
  
3ef2ca
!     make -f Make_ming.mak GUI=no vim.exe
3ef2ca
  
3ef2ca
  If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
3ef2ca
  (also free!) and compress the file (typical compression is 50%). UPX can be
3ef2ca
--- 268,274 ----
3ef2ca
  way.  If, for some reason, you want the console-mode-only version of vim (this
3ef2ca
  is NOT recommended on Win32, especially on '95/'98!!!), you can use:
3ef2ca
  
3ef2ca
!     mingw32-make -f Make_ming.mak GUI=no vim.exe
3ef2ca
  
3ef2ca
  If you are dismayed by how big the EXE is, I strongly recommend you get 'UPX'
3ef2ca
  (also free!) and compress the file (typical compression is 50%). UPX can be
3ef2ca
***************
3ef2ca
*** 291,298 ****
3ef2ca
  Use Make_cyg.mak with Cygwin's GCC. See
3ef2ca
      http://users.skynet.be/antoine.mechelynck/vim/compile.htm
3ef2ca
  
3ef2ca
! The Cygnus one many not fully work yet.
3ef2ca
! With Cygnus gcc you can use the Unix Makefile instead (you need to get the
3ef2ca
  Unix archive then).  Then you get a Cygwin application (feels like Vim is
3ef2ca
  running on Unix), while with Make_cyg.mak you get a Windows application (like
3ef2ca
  with the other makefiles).
3ef2ca
--- 295,301 ----
3ef2ca
  Use Make_cyg.mak with Cygwin's GCC. See
3ef2ca
      http://users.skynet.be/antoine.mechelynck/vim/compile.htm
3ef2ca
  
3ef2ca
! With Cygnus gcc you should use the Unix Makefile instead (you need to get the
3ef2ca
  Unix archive then).  Then you get a Cygwin application (feels like Vim is
3ef2ca
  running on Unix), while with Make_cyg.mak you get a Windows application (like
3ef2ca
  with the other makefiles).
3ef2ca
***************
3ef2ca
*** 316,324 ****
3ef2ca
  	http://www.mingw.org/wiki/LinuxCrossMinGW
3ef2ca
  	http://www.libsdl.org/extras/win32/cross/README.txt
3ef2ca
      2) Get and unpack both the Unix sources and the extra archive
3ef2ca
!     3) in 'Make_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
3ef2ca
!        Make further changes to 'Make_ming.mak' as you wish.
3ef2ca
!        If your cross-compiler prefix differs from the predefined value,
3ef2ca
         set 'CROSS_COMPILE' corresponding.
3ef2ca
      4) make -f Make_ming.mak gvim.exe
3ef2ca
  
3ef2ca
--- 319,327 ----
3ef2ca
  	http://www.mingw.org/wiki/LinuxCrossMinGW
3ef2ca
  	http://www.libsdl.org/extras/win32/cross/README.txt
3ef2ca
      2) Get and unpack both the Unix sources and the extra archive
3ef2ca
!     3) in 'Make_cyg_ming.mak', set 'CROSS' to 'yes' instead of 'no'.
3ef2ca
!        Make further changes to 'Make_cyg_ming.mak' and 'Make_ming.mak' as you
3ef2ca
!        wish.  If your cross-compiler prefix differs from the predefined value,
3ef2ca
         set 'CROSS_COMPILE' corresponding.
3ef2ca
      4) make -f Make_ming.mak gvim.exe
3ef2ca
  
3ef2ca
*** ../vim-7.4.495/src/Make_cyg.mak	2014-11-05 13:43:18.352820831 +0100
3ef2ca
--- src/Make_cyg.mak	2014-11-05 13:49:27.076811946 +0100
3ef2ca
***************
3ef2ca
*** 1,754 ****
3ef2ca
  #
3ef2ca
! # Makefile for VIM on Win32, using Cygnus gcc
3ef2ca
! # Updated by Dan Sharp.
3ef2ca
! # Last Change: 2014 Aug 10
3ef2ca
  #
3ef2ca
  # Also read INSTALLpc.txt!
3ef2ca
  #
3ef2ca
  # This compiles Vim as a Windows application.  If you want Vim to run as a
3ef2ca
  # Cygwin application use the Makefile (just like on Unix).
3ef2ca
  #
3ef2ca
! # GUI		no or yes: set to yes if you want the GUI version (yes)
3ef2ca
! # DIRECTX	no or yes: set to yes if you want use DirectWrite (no)
3ef2ca
! # PERL		define to path to Perl dir to get Perl support (not defined)
3ef2ca
! #   PERL_VER	  define to version of Perl being used (56)
3ef2ca
! #   DYNAMIC_PERL  no or yes: set to yes to load the Perl DLL dynamically (yes)
3ef2ca
! # PYTHON	define to path to Python dir to get PYTHON support (not defined)
3ef2ca
! #   PYTHON_VER	    define to version of Python being used (22)
3ef2ca
! #   DYNAMIC_PYTHON  no or yes: use yes to load the Python DLL dynamically (yes)
3ef2ca
! # PYTHON3	define to path to Python3 dir to get PYTHON3 support (not defined)
3ef2ca
! #   PYTHON3_VER	    define to version of Python3 being used (22)
3ef2ca
! #   DYNAMIC_PYTHON3  no or yes: use yes to load the Python3 DLL dynamically (yes)
3ef2ca
! # TCL		define to path to TCL dir to get TCL support (not defined)
3ef2ca
! #   TCL_VER	define to version of TCL being used (83)
3ef2ca
! #   DYNAMIC_TCL no or yes: use yes to load the TCL DLL dynamically (yes)
3ef2ca
! # RUBY		define to path to Ruby dir to get Ruby support (not defined)
3ef2ca
! #   RUBY_VER		define to version of Ruby being used (16)
3ef2ca
! #   RUBY_VER_LONG	same, but in format with dot. (1.6)
3ef2ca
! #	    You must set RUBY_VER_LONG when changing RUBY_VER.
3ef2ca
! #	    You must set RUBY_API_VER version to RUBY_VER_LONG.
3ef2ca
! #	    Don't set ruby API version to RUBY_VER like 191.
3ef2ca
! #   DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (yes)
3ef2ca
! # MZSCHEME	define to path to MzScheme dir to get MZSCHEME support (not defined)
3ef2ca
! #   MZSCHEME_VER      define to version of MzScheme being used (209_000)
3ef2ca
! #   DYNAMIC_MZSCHEME  no or yes: use yes to load the MzScheme DLLs dynamically (yes)
3ef2ca
! #   MZSCHEME_DLLS     path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
3ef2ca
! #   MZSCHEME_USE_RACKET  define to use "racket" instead of "mzsch".
3ef2ca
! # LUA	define to path to Lua dir to get Lua support (not defined)
3ef2ca
! #   LUA_VER	    define to version of Lua being used (51)
3ef2ca
! #   DYNAMIC_LUA  no or yes: use yes to load the Lua DLL dynamically (yes)
3ef2ca
! # GETTEXT	no or yes: set to yes for dynamic gettext support (yes)
3ef2ca
! # ICONV		no or yes: set to yes for dynamic iconv support (yes)
3ef2ca
! # MBYTE		no or yes: set to yes to include multibyte support (yes)
3ef2ca
! # IME		no or yes: set to yes to include IME support (yes)
3ef2ca
! #   DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
3ef2ca
! # OLE		no or yes: set to yes to make OLE gvim (no)
3ef2ca
! # DEBUG		no or yes: set to yes if you wish a DEBUGging build (no)
3ef2ca
! # CPUNR		No longer supported, use ARCH.
3ef2ca
! # ARCH		i386 through pentium4: select -march argument to compile with
3ef2ca
! #               (i386)
3ef2ca
! # USEDLL	no or yes: set to yes to use the Runtime library DLL (no)
3ef2ca
! #		For USEDLL=yes the cygwin1.dll is required to run Vim.
3ef2ca
! #		For "no" the mingw-gcc-g++ package or the mingw64-i686-gcc-g++
3ef2ca
! #		package is required to compile Vim.  Or set CC to gcc-3 and add
3ef2ca
! #		-L/lib/w32api to EXTRA_LIBS.
3ef2ca
! # POSTSCRIPT	no or yes: set to yes for PostScript printing (no)
3ef2ca
! # FEATURES	TINY, SMALL, NORMAL, BIG or HUGE (BIG)
3ef2ca
! # WINVER	Lowest Win32 version to support.  (0x0500)
3ef2ca
! # CSCOPE	no or yes: to include cscope interface support (yes)
3ef2ca
! # OPTIMIZE	SPACE, SPEED, or MAXSPEED: set optimization level (MAXSPEED)
3ef2ca
! # NETBEANS	no or yes: to include netbeans interface support (yes when GUI
3ef2ca
! #		is yes)
3ef2ca
! # NBDEBUG	no or yes: to include netbeans interface debugging support (no)
3ef2ca
! # XPM		define to path to XPM dir to get XPM image support (not defined)
3ef2ca
! #>>>>> choose options:
3ef2ca
! ifndef GUI
3ef2ca
! GUI=yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef FEATURES
3ef2ca
! FEATURES = BIG
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef GETTEXT
3ef2ca
! GETTEXT = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef ICONV
3ef2ca
! ICONV = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef MBYTE
3ef2ca
! MBYTE = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef IME
3ef2ca
! IME = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef ARCH
3ef2ca
! ARCH = i386
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef DIRECTX
3ef2ca
! DIRECTX = no
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef WINVER
3ef2ca
! WINVER = 0x0500
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef CSCOPE
3ef2ca
! CSCOPE = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef NETBEANS
3ef2ca
! ifeq ($(GUI),yes)
3ef2ca
! NETBEANS = yes
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef OPTIMIZE
3ef2ca
! OPTIMIZE = MAXSPEED
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! 
3ef2ca
! # Link against the shared version of libstdc++ by default.  Set
3ef2ca
! # STATIC_STDCPLUS to "yes" to link against static version instead.
3ef2ca
! ifndef STATIC_STDCPLUS
3ef2ca
! STATIC_STDCPLUS=no
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ### See feature.h for a list of optionals.
3ef2ca
! ### Any other defines can be included here.
3ef2ca
! 
3ef2ca
! DEFINES = -DWIN32 -DHAVE_PATHDEF -DFEAT_$(FEATURES) \
3ef2ca
! 	  -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
3ef2ca
! ifeq ($(ARCH),x86-64)
3ef2ca
! DEFINES+=-DMS_WIN64
3ef2ca
! endif
3ef2ca
! INCLUDES = -march=$(ARCH) -Iproto
3ef2ca
! 
3ef2ca
! #>>>>> name of the compiler and linker, name of lib directory
3ef2ca
! ifeq (yes, $(USEDLL))
3ef2ca
! # CROSS_COMPILE is used for the gvimext DLL.
3ef2ca
! CROSS_COMPILE = i686-pc-mingw32-
3ef2ca
! CC = gcc
3ef2ca
! RC = windres
3ef2ca
! else
3ef2ca
! # i686-pc-mingw32-gcc, i686-w64-mingw32-gcc or gcc-3 can be used.
3ef2ca
  CROSS_COMPILE = i686-pc-mingw32-
3ef2ca
! CC = $(CROSS_COMPILE)gcc
3ef2ca
! RC = $(CROSS_COMPILE)windres
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_PERL=yes and no both work
3ef2ca
! ##############################
3ef2ca
! ifdef PERL
3ef2ca
! DEFINES += -DFEAT_PERL
3ef2ca
! INCLUDES += -I$(PERL)/lib/CORE
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_perl.o
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_PERL
3ef2ca
! DYNAMIC_PERL = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef PERL_VER
3ef2ca
! PERL_VER = 56
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_PERL))
3ef2ca
! DEFINES += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += -L$(PERL)/lib/CORE -lperl$(PERL_VER)
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_PYTHON=yes works.
3ef2ca
! # DYNAMIC_PYTHON=no does not (unresolved externals on link).
3ef2ca
! ##############################
3ef2ca
! ifdef PYTHON
3ef2ca
! DEFINES += -DFEAT_PYTHON
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_python.o
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_PYTHON
3ef2ca
! DYNAMIC_PYTHON = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef PYTHON_VER
3ef2ca
! PYTHON_VER = 22
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_PYTHON))
3ef2ca
! DEFINES += -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\"
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += $(PYTHON)/libs/python$(PYTHON_VER).lib
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_PYTHON3=yes works.
3ef2ca
! # DYNAMIC_PYTHON3=no does not (unresolved externals on link).
3ef2ca
! ##############################
3ef2ca
! ifdef PYTHON3
3ef2ca
! DEFINES += -DFEAT_PYTHON3
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_python3.o
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_PYTHON3
3ef2ca
! DYNAMIC_PYTHON3 = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef PYTHON3_VER
3ef2ca
! PYTHON3_VER = 31
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_PYTHON3))
3ef2ca
! DEFINES += -DDYNAMIC_PYTHON3 -DDYNAMIC_PYTHON3_DLL=\"python$(PYTHON3_VER).dll\"
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += $(PYTHON3)/libs/python$(PYTHON3_VER).lib
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_RUBY=yes works.
3ef2ca
! # DYNAMIC_RUBY=no does not (process exits).
3ef2ca
! ##############################
3ef2ca
! ifdef RUBY
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_RUBY
3ef2ca
! DYNAMIC_RUBY=yes
3ef2ca
! endif
3ef2ca
! #  Set default value
3ef2ca
! ifndef RUBY_VER
3ef2ca
! RUBY_VER = 16
3ef2ca
! endif
3ef2ca
! ifndef RUBY_VER_LONG
3ef2ca
! RUBY_VER_LONG = 1.6
3ef2ca
! endif
3ef2ca
! ifndef RUBY_API_VER
3ef2ca
! RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef RUBY_PLATFORM
3ef2ca
! ifeq ($(RUBY_VER), 16)
3ef2ca
! RUBY_PLATFORM = i586-mswin32
3ef2ca
! else
3ef2ca
! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
3ef2ca
! RUBY_PLATFORM = i386-mingw32
3ef2ca
! else
3ef2ca
! ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
3ef2ca
! RUBY_PLATFORM = x64-mingw32
3ef2ca
! else
3ef2ca
! RUBY_PLATFORM = i386-mswin32
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef RUBY_INSTALL_NAME
3ef2ca
! ifeq ($(RUBY_VER), 16)
3ef2ca
! RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
3ef2ca
! else
3ef2ca
! ifeq ($(ARCH),x86-64)
3ef2ca
! RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
3ef2ca
! else
3ef2ca
! RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
3ef2ca
! RUBY_19_OR_LATER = 1
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! DEFINES += -DFEAT_RUBY
3ef2ca
! ifneq ($(findstring w64-mingw32,$(CC)),)
3ef2ca
! # A workaround for mingw-w64
3ef2ca
! DEFINES += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
3ef2ca
! endif
3ef2ca
! INCLUDES += -I$(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
3ef2ca
! ifdef RUBY_19_OR_LATER
3ef2ca
! INCLUDES += -I$(RUBY)/include/ruby-$(RUBY_VER_LONG) -I$(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
3ef2ca
! endif
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_ruby.o
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_RUBY))
3ef2ca
! DEFINES += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
3ef2ca
! DEFINES += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += $(RUBY)/lib/$(RUBY_INSTALL_NAME)
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_MZSCHEME=yes works
3ef2ca
! # DYNAMIC_MZSCHEME=no works too
3ef2ca
! ##############################
3ef2ca
! ifdef MZSCHEME
3ef2ca
! DEFINES += -DFEAT_MZSCHEME
3ef2ca
! INCLUDES += -I$(MZSCHEME)/include
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_mzsch.o
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_MZSCHEME
3ef2ca
! DYNAMIC_MZSCHEME = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef MZSCHEME_VER
3ef2ca
! MZSCHEME_VER = 209_000
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef MZSCHEME_PRECISE_GC
3ef2ca
! MZSCHEME_PRECISE_GC=no
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! # for version 4.x we need to generate byte-code for Scheme base
3ef2ca
! ifndef MZSCHEME_GENERATE_BASE
3ef2ca
! MZSCHEME_GENERATE_BASE=no
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef MZSCHEME_USE_RACKET
3ef2ca
! MZSCHEME_MAIN_LIB=mzsch
3ef2ca
! else
3ef2ca
! MZSCHEME_MAIN_LIB=racket
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_MZSCHEME))
3ef2ca
! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
3ef2ca
! else
3ef2ca
! ifndef MZSCHEME_DLLS
3ef2ca
! MZSCHEME_DLLS = $(MZSCHEME)
3ef2ca
! endif
3ef2ca
! ifeq (yes,$(MZSCHEME_PRECISE_GC))
3ef2ca
! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
3ef2ca
! else
3ef2ca
! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
3ef2ca
! endif
3ef2ca
! EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
3ef2ca
! endif
3ef2ca
! ifeq (yes,$(MZSCHEME_GENERATE_BASE))
3ef2ca
! DEFINES += -DINCLUDE_MZSCHEME_BASE
3ef2ca
! MZ_EXTRA_DEP += mzscheme_base.c
3ef2ca
! endif
3ef2ca
! ifeq (yes,$(MZSCHEME_PRECISE_GC))
3ef2ca
! DEFINES += -DMZ_PRECISE_GC
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_TCL=yes and no both work.
3ef2ca
! ##############################
3ef2ca
! ifdef TCL
3ef2ca
! DEFINES += -DFEAT_TCL
3ef2ca
! INCLUDES += -I$(TCL)/include
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_tcl.o
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_TCL
3ef2ca
! DYNAMIC_TCL = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef TCL_VER
3ef2ca
! TCL_VER = 83
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_TCL))
3ef2ca
! DEFINES += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
3ef2ca
! EXTRA_LIBS += $(TCL)/lib/tclstub$(TCL_VER).lib
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += $(TCL)/lib/tcl$(TCL_VER).lib
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # DYNAMIC_LUA=yes works.
3ef2ca
! # DYNAMIC_LUA=no does not (unresolved externals on link).
3ef2ca
! ##############################
3ef2ca
! ifdef LUA
3ef2ca
! DEFINES += -DFEAT_LUA
3ef2ca
! INCLUDES += -I$(LUA)/include
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_lua.o
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_LUA
3ef2ca
! DYNAMIC_LUA = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef LUA_VER
3ef2ca
! LUA_VER = 51
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_LUA))
3ef2ca
! DEFINES += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += $(LUA)/lib/lua$(LUA_VER).lib
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(GETTEXT))
3ef2ca
! DEFINES += -DDYNAMIC_GETTEXT
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(ICONV))
3ef2ca
! DEFINES += -DDYNAMIC_ICONV
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(MBYTE))
3ef2ca
! DEFINES += -DFEAT_MBYTE
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(IME))
3ef2ca
! DEFINES += -DFEAT_MBYTE_IME
3ef2ca
! 
3ef2ca
! ifndef DYNAMIC_IME
3ef2ca
! DYNAMIC_IME = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (yes, $(DYNAMIC_IME))
3ef2ca
! DEFINES += -DDYNAMIC_IME
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += -limm32
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(DEBUG))
3ef2ca
! DEFINES += -DDEBUG
3ef2ca
! INCLUDES += -g -fstack-check
3ef2ca
! DEBUG_SUFFIX = d
3ef2ca
! else
3ef2ca
! 
3ef2ca
! ifeq ($(OPTIMIZE), SIZE)
3ef2ca
! OPTFLAG = -Os
3ef2ca
! else
3ef2ca
! ifeq ($(OPTIMIZE), MAXSPEED)
3ef2ca
! OPTFLAG = -O3 -fomit-frame-pointer -freg-struct-return
3ef2ca
! else
3ef2ca
! OPTFLAG = -O2
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! # A bug in the GCC <= 3.2 optimizer can cause a crash.  The
3ef2ca
! # following option removes the problem optimization.
3ef2ca
! OPTFLAG += -fno-strength-reduce
3ef2ca
! 
3ef2ca
! INCLUDES += -s
3ef2ca
! 
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! # USEDLL=yes will build a Cygwin32 executable that relies on cygwin1.dll.
3ef2ca
! # USEDLL=no will build a Mingw32 executable with no extra dll dependencies.
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(USEDLL))
3ef2ca
! DEFINES += -D_MAX_PATH=256 -D__CYGWIN__
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(POSTSCRIPT))
3ef2ca
! DEFINES += -DMSWINPS
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(CSCOPE))
3ef2ca
! DEFINES += -DFEAT_CSCOPE
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_cscope.o
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq ($(GUI),yes)
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(NETBEANS))
3ef2ca
! # Only allow NETBEANS for a GUI build.
3ef2ca
! DEFINES += -DFEAT_NETBEANS_INTG
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/netbeans.o
3ef2ca
! EXTRA_LIBS += -lwsock32
3ef2ca
! 
3ef2ca
! ifeq (yes, $(NBDEBUG))
3ef2ca
! DEFINES += -DNBDEBUG
3ef2ca
! NBDEBUG_DEP = nbdebug.h nbdebug.c
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(DIRECTX))
3ef2ca
! # Only allow DIRECTX for a GUI build.
3ef2ca
! DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/gui_dwrite.o
3ef2ca
! EXTRA_LIBS += -ld2d1 -ldwrite
3ef2ca
! USE_STDCPLUS = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifndef XPM
3ef2ca
! ifeq ($(ARCH),i386)
3ef2ca
! XPM = xpm/x86
3ef2ca
! endif
3ef2ca
! ifeq ($(ARCH),i486)
3ef2ca
! XPM = xpm/x86
3ef2ca
! endif
3ef2ca
! ifeq ($(ARCH),i586)
3ef2ca
! XPM = xpm/x86
3ef2ca
! endif
3ef2ca
! ifeq ($(ARCH),i686)
3ef2ca
! XPM = xpm/x86
3ef2ca
! endif
3ef2ca
! ifeq ($(ARCH),x86-64)
3ef2ca
! XPM = xpm/x64
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! ifdef XPM
3ef2ca
! ifneq ($(XPM),no)
3ef2ca
! # Only allow XPM for a GUI build.
3ef2ca
! DEFINES += -DFEAT_XPM_W32
3ef2ca
! INCLUDES += -I$(XPM)/include -I$(XPM)/../include
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/xpm_w32.o
3ef2ca
! EXTRA_LIBS += -L$(XPM)/lib -lXpm
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! EXE = gvim$(DEBUG_SUFFIX).exe
3ef2ca
! OUTDIR = gobj$(DEBUG_SUFFIX)
3ef2ca
! DEFINES += -DFEAT_GUI_W32 -DFEAT_CLIPBOARD
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
3ef2ca
! EXTRA_LIBS += -mwindows -lcomctl32 -lversion
3ef2ca
! else
3ef2ca
! EXE = vim$(DEBUG_SUFFIX).exe
3ef2ca
! OUTDIR = obj$(DEBUG_SUFFIX)
3ef2ca
! LIBS += -luser32 -lgdi32 -lcomdlg32
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(OLE))
3ef2ca
! DEFINES += -DFEAT_OLE
3ef2ca
! EXTRA_OBJS += $(OUTDIR)/if_ole.o
3ef2ca
! EXTRA_LIBS += -loleaut32
3ef2ca
! USE_STDCPLUS = yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifneq (sh.exe, $(SHELL))
3ef2ca
! DEL = rm
3ef2ca
! MKDIR = mkdir -p
3ef2ca
! DIRSLASH = /
3ef2ca
! else
3ef2ca
! DEL = del
3ef2ca
! MKDIR = mkdir
3ef2ca
! DIRSLASH = \\
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ##############################
3ef2ca
! ifeq (yes, $(USE_STDCPLUS))
3ef2ca
! ifeq (yes, $(STATIC_STDCPLUS))
3ef2ca
! EXTRA_LIBS += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
3ef2ca
! else
3ef2ca
! EXTRA_LIBS += -lstdc++
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! #>>>>> end of choices
3ef2ca
! ###########################################################################
3ef2ca
! 
3ef2ca
! INCL = vim.h globals.h option.h keymap.h macros.h ascii.h term.h os_win32.h \
3ef2ca
!        structs.h version.h
3ef2ca
! 
3ef2ca
! CFLAGS = $(OPTFLAG) $(DEFINES) $(INCLUDES)
3ef2ca
! 
3ef2ca
! RCFLAGS = -O coff $(DEFINES)
3ef2ca
! 
3ef2ca
! OBJ = \
3ef2ca
! 	$(OUTDIR)/blowfish.o \
3ef2ca
! 	$(OUTDIR)/buffer.o \
3ef2ca
! 	$(OUTDIR)/charset.o \
3ef2ca
! 	$(OUTDIR)/crypt.o \
3ef2ca
! 	$(OUTDIR)/crypt_zip.o \
3ef2ca
! 	$(OUTDIR)/diff.o \
3ef2ca
! 	$(OUTDIR)/digraph.o \
3ef2ca
! 	$(OUTDIR)/edit.o \
3ef2ca
! 	$(OUTDIR)/eval.o \
3ef2ca
! 	$(OUTDIR)/ex_cmds.o \
3ef2ca
! 	$(OUTDIR)/ex_cmds2.o \
3ef2ca
! 	$(OUTDIR)/ex_docmd.o \
3ef2ca
! 	$(OUTDIR)/ex_eval.o \
3ef2ca
! 	$(OUTDIR)/ex_getln.o \
3ef2ca
! 	$(OUTDIR)/fileio.o \
3ef2ca
! 	$(OUTDIR)/fold.o \
3ef2ca
! 	$(OUTDIR)/getchar.o \
3ef2ca
! 	$(OUTDIR)/hardcopy.o \
3ef2ca
! 	$(OUTDIR)/hashtab.o \
3ef2ca
! 	$(OUTDIR)/main.o \
3ef2ca
! 	$(OUTDIR)/mark.o \
3ef2ca
! 	$(OUTDIR)/memfile.o \
3ef2ca
! 	$(OUTDIR)/memline.o \
3ef2ca
! 	$(OUTDIR)/menu.o \
3ef2ca
! 	$(OUTDIR)/message.o \
3ef2ca
! 	$(OUTDIR)/misc1.o \
3ef2ca
! 	$(OUTDIR)/misc2.o \
3ef2ca
! 	$(OUTDIR)/move.o \
3ef2ca
! 	$(OUTDIR)/mbyte.o \
3ef2ca
! 	$(OUTDIR)/normal.o \
3ef2ca
! 	$(OUTDIR)/ops.o \
3ef2ca
! 	$(OUTDIR)/option.o \
3ef2ca
! 	$(OUTDIR)/os_win32.o \
3ef2ca
! 	$(OUTDIR)/os_mswin.o \
3ef2ca
! 	$(OUTDIR)/winclip.o \
3ef2ca
! 	$(OUTDIR)/pathdef.o \
3ef2ca
! 	$(OUTDIR)/popupmnu.o \
3ef2ca
! 	$(OUTDIR)/quickfix.o \
3ef2ca
! 	$(OUTDIR)/regexp.o \
3ef2ca
! 	$(OUTDIR)/screen.o \
3ef2ca
! 	$(OUTDIR)/search.o \
3ef2ca
! 	$(OUTDIR)/sha256.o \
3ef2ca
! 	$(OUTDIR)/spell.o \
3ef2ca
! 	$(OUTDIR)/syntax.o \
3ef2ca
! 	$(OUTDIR)/tag.o \
3ef2ca
! 	$(OUTDIR)/term.o \
3ef2ca
! 	$(OUTDIR)/ui.o \
3ef2ca
! 	$(OUTDIR)/undo.o \
3ef2ca
! 	$(OUTDIR)/version.o \
3ef2ca
! 	$(OUTDIR)/vimrc.o \
3ef2ca
! 	$(OUTDIR)/window.o \
3ef2ca
! 	$(EXTRA_OBJS)
3ef2ca
! 
3ef2ca
! all: $(EXE) xxd/xxd.exe vimrun.exe install.exe uninstal.exe GvimExt/gvimext.dll
3ef2ca
! 
3ef2ca
! # According to the Cygwin doc 1.2 FAQ, kernel32 should not be specified for
3ef2ca
! # linking unless calling ld directly.
3ef2ca
! # See /usr/doc/cygwin-doc-1.2/html/faq_toc.html#TOC93 for more information.
3ef2ca
! $(EXE): $(OUTDIR) $(OBJ)
3ef2ca
! 	$(CC) $(CFLAGS) -o $(EXE) $(OBJ) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)
3ef2ca
! 
3ef2ca
! xxd/xxd.exe: xxd/xxd.c
3ef2ca
! 	$(MAKE) -C xxd -f Make_cyg.mak CC=$(CC) USEDLL=$(USEDLL)
3ef2ca
! 
3ef2ca
! GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
3ef2ca
! 	$(MAKE) -C GvimExt -f Make_cyg.mak CROSS_COMPILE=$(CROSS_COMPILE)
3ef2ca
! 
3ef2ca
! vimrun.exe: vimrun.c
3ef2ca
! 	$(CC) $(CFLAGS) -o vimrun.exe vimrun.c  $(LIBS)
3ef2ca
! 
3ef2ca
! install.exe: dosinst.c
3ef2ca
! 	$(CC) $(CFLAGS) -o install.exe dosinst.c  $(LIBS) -luuid -lole32
3ef2ca
! 
3ef2ca
! uninstal.exe: uninstal.c
3ef2ca
! 	$(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIBS)
3ef2ca
! 
3ef2ca
! $(OUTDIR):
3ef2ca
! 	$(MKDIR) $(OUTDIR)
3ef2ca
! 
3ef2ca
! tags:
3ef2ca
! 	command /c ctags *.c $(INCL)
3ef2ca
! 
3ef2ca
! clean:
3ef2ca
! 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
3ef2ca
! 	-rmdir $(OUTDIR)
3ef2ca
! 	-$(DEL) $(EXE) vimrun.exe install.exe uninstal.exe
3ef2ca
! ifdef PERL
3ef2ca
! 	-$(DEL) if_perl.c
3ef2ca
! endif
3ef2ca
! ifdef MZSCHEME
3ef2ca
! 	-$(DEL) mzscheme_base.c
3ef2ca
! endif
3ef2ca
! 	-$(DEL) pathdef.c
3ef2ca
! 	$(MAKE) -C xxd -f Make_cyg.mak clean
3ef2ca
! 	$(MAKE) -C GvimExt -f Make_cyg.mak clean
3ef2ca
! 
3ef2ca
! distclean: clean
3ef2ca
! 	-$(DEL) obj$(DIRSLASH)*.o
3ef2ca
! 	-rmdir obj
3ef2ca
! 	-$(DEL) gobj$(DIRSLASH)*.o
3ef2ca
! 	-rmdir gobj
3ef2ca
! 	-$(DEL) objd$(DIRSLASH)*.o
3ef2ca
! 	-rmdir objd
3ef2ca
! 	-$(DEL) gobjd$(DIRSLASH)*.o
3ef2ca
! 	-rmdir gobjd
3ef2ca
! 	-$(DEL) *.exe
3ef2ca
! 
3ef2ca
! ###########################################################################
3ef2ca
! 
3ef2ca
! $(OUTDIR)/%.o : %.c $(INCL)
3ef2ca
! 	$(CC) -c $(CFLAGS) $< -o $@
3ef2ca
! 
3ef2ca
! $(OUTDIR)/ex_docmd.o:	ex_docmd.c $(INCL) ex_cmds.h
3ef2ca
! 	$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/ex_eval.o:	ex_eval.c $(INCL) ex_cmds.h
3ef2ca
! 	$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/gui_w32.o:	gui_w32.c gui_w48.c $(INCL)
3ef2ca
! 	$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/gui_dwrite.o:	gui_dwrite.cpp $(INCL) gui_dwrite.h
3ef2ca
! 	$(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_cscope.o:	if_cscope.c $(INCL) if_cscope.h
3ef2ca
! 	$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_ole.o:	if_ole.cpp $(INCL)
3ef2ca
! 	$(CC) -c $(CFLAGS) if_ole.cpp -o $(OUTDIR)/if_ole.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
3ef2ca
! 	$(CC) -c $(CFLAGS) -I$(PYTHON)/include $< -o $@
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
3ef2ca
! 	$(CC) -c $(CFLAGS) -I$(PYTHON3)/include $< -o $@
3ef2ca
! 
3ef2ca
! if_perl.c: if_perl.xs typemap
3ef2ca
! 	$(PERL)/bin/perl `cygpath -d $(PERL)/lib/ExtUtils/xsubpp` \
3ef2ca
! 		-prototypes -typemap \
3ef2ca
! 		`cygpath -d $(PERL)/lib/ExtUtils/typemap` if_perl.xs > $@
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_perl.o:	if_perl.c $(INCL)
3ef2ca
! ifeq (yes, $(USEDLL))
3ef2ca
! 	$(CC) -c $(CFLAGS) -I/usr/include/mingw -D__MINGW32__ if_perl.c -o $(OUTDIR)/if_perl.o
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_ruby.o:	if_ruby.c $(INCL)
3ef2ca
! ifeq (16, $(RUBY_VER))
3ef2ca
! 	$(CC) -c $(CFLAGS) -U_WIN32 if_ruby.c -o $(OUTDIR)/if_ruby.o
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! $(OUTDIR)/netbeans.o:	netbeans.c $(INCL) $(NBDEBUG_DEP)
3ef2ca
! 	$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/regexp.o:		regexp.c regexp_nfa.c $(INCL)
3ef2ca
! 	$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/if_mzsch.o:	if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
3ef2ca
! 	$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
3ef2ca
! 
3ef2ca
! $(OUTDIR)/vimrc.o:	vim.rc version.h gui_w32_rc.h
3ef2ca
! 	$(RC) $(RCFLAGS) vim.rc -o $(OUTDIR)/vimrc.o
3ef2ca
! 
3ef2ca
! mzscheme_base.c:
3ef2ca
! 	$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
3ef2ca
! 
3ef2ca
! pathdef.c: $(INCL)
3ef2ca
! ifneq (sh.exe, $(SHELL))
3ef2ca
! 	@echo creating pathdef.c
3ef2ca
! 	@echo '/* pathdef.c */' > pathdef.c
3ef2ca
! 	@echo '#include "vim.h"' >> pathdef.c
3ef2ca
! 	@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
3ef2ca
! else
3ef2ca
! 	@echo creating pathdef.c
3ef2ca
! 	@echo /* pathdef.c */ > pathdef.c
3ef2ca
! 	@echo #include "vim.h" >> pathdef.c
3ef2ca
! 	@echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
3ef2ca
! 	@echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
3ef2ca
! 	@echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
3ef2ca
! 	@echo char_u *all_lflags = (char_u *)"$(CC) -s -o $(EXE) $(LIBS) -luuid -lole32 $(EXTRA_LIBS)"; >> pathdef.c
3ef2ca
! 	@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
3ef2ca
! 	@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
3ef2ca
! endif
3ef2ca
  
3ef2ca
--- 1,52 ----
3ef2ca
  #
3ef2ca
! # Makefile for VIM on Win32, using MinGW cross compiler on Cygwin
3ef2ca
  #
3ef2ca
  # Also read INSTALLpc.txt!
3ef2ca
  #
3ef2ca
  # This compiles Vim as a Windows application.  If you want Vim to run as a
3ef2ca
  # Cygwin application use the Makefile (just like on Unix).
3ef2ca
  #
3ef2ca
! # The old Make_cyg.mak (maintained by Dan Sharp et al.) was merged into
3ef2ca
! # Make_cyg_ming.mak.  Note: USEDLL option was removed.
3ef2ca
! # This file contains Cygwin specific settings. Common settings are contained
3ef2ca
! # in Make_cyg_ming.mak.
3ef2ca
! #
3ef2ca
! # Last updated by Ken Takata.
3ef2ca
! # Last Change: 2014 Oct 21
3ef2ca
! 
3ef2ca
! 
3ef2ca
! # uncomment 'PERL' if you want a perl-enabled version
3ef2ca
! #PERL=/cygdrive/c/perl
3ef2ca
! 
3ef2ca
! # uncomment 'LUA' if you want a Lua-enabled version
3ef2ca
! #LUA=/cygdrive/c/lua
3ef2ca
! 
3ef2ca
! # uncomment 'MZSCHEME' if you want a MzScheme-enabled version
3ef2ca
! #MZSCHEME=/cygdrive/d/plt
3ef2ca
! 
3ef2ca
! # uncomment 'PYTHON' if you want a python-enabled version
3ef2ca
! #PYTHON=/cygdrive/c/python20
3ef2ca
! 
3ef2ca
! # uncomment 'PYTHON3' if you want a python3-enabled version
3ef2ca
! #PYTHON3=/cygdrive/c/python31
3ef2ca
! 
3ef2ca
! # uncomment 'TCL' if you want a Tcl-enabled version
3ef2ca
! #TCL=/cygdrive/c/tcl
3ef2ca
! 
3ef2ca
! # uncomment 'RUBY' if you want a Ruby-enabled version
3ef2ca
! #RUBY=/cygdribe/c/ruby
3ef2ca
! 
3ef2ca
! 
3ef2ca
! # Use MinGW(-w64) cross compiler.
3ef2ca
! # There are three MinGW packages in Cygwin:
3ef2ca
! #   32-bit: mingw-gcc-g++ and mingw64-i686-gcc-g++
3ef2ca
! #   64-bit: mingw64-x86_64-gcc-g++
3ef2ca
! # You may also need to set 'ARCH' in Make_cyg_ming.mak.
3ef2ca
  CROSS_COMPILE = i686-pc-mingw32-
3ef2ca
! #CROSS_COMPILE = i686-w64-mingw32-
3ef2ca
! #CROSS_COMPILE = x86_64-w64-mingw32-
3ef2ca
! 
3ef2ca
  
3ef2ca
+ # Do not change this.
3ef2ca
+ UNDER_CYGWIN = yes
3ef2ca
+ include Make_cyg_ming.mak
3ef2ca
*** ../vim-7.4.495/src/Make_cyg_ming.mak	2014-11-05 13:51:13.916809371 +0100
3ef2ca
--- src/Make_cyg_ming.mak	2014-11-05 13:49:27.076811946 +0100
3ef2ca
***************
3ef2ca
*** 0 ****
3ef2ca
--- 1,847 ----
3ef2ca
+ # Makefile for VIM on Win32 (Cygwin and MinGW)
3ef2ca
+ #
3ef2ca
+ # This file contains common part for Cygwin and MinGW and it is included
3ef2ca
+ # from Make_cyg.mak and Make_ming.mak.
3ef2ca
+ #
3ef2ca
+ # Info at http://www.mingw.org
3ef2ca
+ # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
3ef2ca
+ # Also requires GNU make, which you can download from the same sites.
3ef2ca
+ # Get missing libraries from http://gnuwin32.sf.net.
3ef2ca
+ #
3ef2ca
+ # Tested on Win32 NT 4 and Win95.
3ef2ca
+ #
3ef2ca
+ # To make everything, just 'make -f Make_ming.mak'.
3ef2ca
+ # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'.
3ef2ca
+ # After a run, you can 'make -f Make_ming.mak clean' to clean up.
3ef2ca
+ #
3ef2ca
+ # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
3ef2ca
+ # it's just run out of memory or something.  Run again, and it will continue
3ef2ca
+ # with 'xxd'.
3ef2ca
+ #
3ef2ca
+ # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs,
3ef2ca
+ # using the excellent UPX compressor:
3ef2ca
+ #     http://upx.sourceforge.net/
3ef2ca
+ # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
3ef2ca
+ #     http://www.matcode.com/mpress.htm
3ef2ca
+ #
3ef2ca
+ # Maintained by Ron Aaron <ronaharon@yahoo.com> et al.
3ef2ca
+ # Updated 2014 Oct 13.
3ef2ca
+ 
3ef2ca
+ #>>>>> choose options:
3ef2ca
+ # set to yes for a debug build
3ef2ca
+ DEBUG=no
3ef2ca
+ # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
3ef2ca
+ OPTIMIZE=MAXSPEED
3ef2ca
+ # set to yes to make gvim, no for vim
3ef2ca
+ GUI=yes
3ef2ca
+ # set to yes if you want to use DirectWrite (DirectX)
3ef2ca
+ # MinGW-w64 is needed, and ARCH should be set to i686 or x86-64.
3ef2ca
+ DIRECTX=no
3ef2ca
+ # FEATURES=[TINY | SMALL | NORMAL | BIG | HUGE]
3ef2ca
+ # Set to TINY to make minimal version (few features).
3ef2ca
+ FEATURES=BIG
3ef2ca
+ # Set to one of i386, i486, i586, i686 as the minimum target processor.
3ef2ca
+ # For amd64/x64 architecture set ARCH=x86-64 .
3ef2ca
+ ARCH=i386
3ef2ca
+ # Set to yes to cross-compile from unix; no=native Windows (and Cygwin).
3ef2ca
+ CROSS=no
3ef2ca
+ # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
3ef2ca
+ #ICONV="."
3ef2ca
+ ICONV=yes
3ef2ca
+ GETTEXT=yes
3ef2ca
+ # Set to yes to include multibyte support.
3ef2ca
+ MBYTE=yes
3ef2ca
+ # Set to yes to include IME support.
3ef2ca
+ IME=yes
3ef2ca
+ DYNAMIC_IME=yes
3ef2ca
+ # Set to yes to enable writing a postscript file with :hardcopy.
3ef2ca
+ POSTSCRIPT=no
3ef2ca
+ # Set to yes to enable OLE support.
3ef2ca
+ OLE=no
3ef2ca
+ # Set the default $(WINVER) to make it work with pre-Win2k.
3ef2ca
+ ifndef WINVER
3ef2ca
+ WINVER = 0x0500
3ef2ca
+ endif
3ef2ca
+ # Set to yes to enable Cscope support.
3ef2ca
+ CSCOPE=yes
3ef2ca
+ # Set to yes to enable Netbeans support.
3ef2ca
+ NETBEANS=$(GUI)
3ef2ca
+ 
3ef2ca
+ 
3ef2ca
+ # Link against the shared version of libstdc++ by default.  Set
3ef2ca
+ # STATIC_STDCPLUS to "yes" to link against static version instead.
3ef2ca
+ ifndef STATIC_STDCPLUS
3ef2ca
+ STATIC_STDCPLUS=no
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ # If the user doesn't want gettext, undefine it.
3ef2ca
+ ifeq (no, $(GETTEXT))
3ef2ca
+ GETTEXT=
3ef2ca
+ endif
3ef2ca
+ # Added by E.F. Amatria <eferna1@platea.ptic.mec.es> 2001 Feb 23
3ef2ca
+ # Uncomment the first line and one of the following three if you want Native Language
3ef2ca
+ # Support.  You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by
3ef2ca
+ # Franco Bez <franco.bez@gmx.de>.  It may be found at
3ef2ca
+ # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html
3ef2ca
+ # Tested with mingw32 with GCC-2.95.2 on Win98
3ef2ca
+ # Updated 2001 Jun 9
3ef2ca
+ #GETTEXT=c:/gettext.win32.msvcrt
3ef2ca
+ #STATIC_GETTEXT=USE_STATIC_GETTEXT
3ef2ca
+ #DYNAMIC_GETTEXT=USE_GETTEXT_DLL
3ef2ca
+ #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL
3ef2ca
+ SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o
3ef2ca
+ # Alternatively, if you uncomment the two following lines, you get a "safe" version
3ef2ca
+ # without linking the safe_gettext_dll.o object file.
3ef2ca
+ #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
3ef2ca
+ #GETTEXT_DYNAMIC=gnu_gettext.dll
3ef2ca
+ INTLPATH=$(GETTEXT)/lib/mingw32
3ef2ca
+ INTLLIB=gnu_gettext
3ef2ca
+ 
3ef2ca
+ # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
3ef2ca
+ # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
3ef2ca
+ # uncomment the following, but I can't build a static version with them, ?-(|
3ef2ca
+ #GETTEXT=c:/gettext-0.10.37-20010430
3ef2ca
+ #STATIC_GETTEXT=USE_STATIC_GETTEXT
3ef2ca
+ #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
3ef2ca
+ #INTLPATH=$(GETTEXT)/lib
3ef2ca
+ #INTLLIB=intl
3ef2ca
+ 
3ef2ca
+ #	Perl interface:
3ef2ca
+ #	  PERL=[Path to Perl directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
3ef2ca
+ #	  PERL_VER=[Perl version, eg 56, 58, 510] (default is 56)
3ef2ca
+ ifdef PERL
3ef2ca
+ ifndef PERL_VER
3ef2ca
+ PERL_VER=56
3ef2ca
+ endif
3ef2ca
+ ifndef DYNAMIC_PERL
3ef2ca
+ DYNAMIC_PERL=yes
3ef2ca
+ endif
3ef2ca
+ # on Linux, for cross-compile, it's here:
3ef2ca
+ #PERLLIB=/home/ron/ActivePerl/lib
3ef2ca
+ # on NT, it's here:
3ef2ca
+ PERLEXE=$(PERL)/bin/perl
3ef2ca
+ PERLLIB=$(PERL)/lib
3ef2ca
+ PERLLIBS=$(PERLLIB)/Core
3ef2ca
+ ifeq ($(UNDER_CYGWIN),yes)
3ef2ca
+ PERLTYPEMAP:=$(shell cygpath -m $(PERLLIB)/ExtUtils/typemap)
3ef2ca
+ XSUBPPTRY:=$(shell cygpath -m $(PERLLIB)/ExtUtils/xsubpp)
3ef2ca
+ else
3ef2ca
+ PERLTYPEMAP=$(PERLLIB)/ExtUtils/typemap
3ef2ca
+ XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
3ef2ca
+ endif
3ef2ca
+ XSUBPP_EXISTS=$(shell $(PERLEXE) -e "print 1 unless -e '$(XSUBPPTRY)'")
3ef2ca
+ ifeq "$(XSUBPP_EXISTS)" ""
3ef2ca
+ XSUBPP=$(PERLEXE) "$(XSUBPPTRY)"
3ef2ca
+ else
3ef2ca
+ XSUBPP=xsubpp
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ #	Lua interface:
3ef2ca
+ #	  LUA=[Path to Lua directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_LUA=yes (to load the Lua DLL dynamically)
3ef2ca
+ #	  LUA_VER=[Lua version, eg 51, 52] (default is 51)
3ef2ca
+ ifdef LUA
3ef2ca
+ ifndef DYNAMIC_LUA
3ef2ca
+ DYNAMIC_LUA=yes
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef LUA_VER
3ef2ca
+ LUA_VER=51
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (no,$(DYNAMIC_LUA))
3ef2ca
+ LUA_LIB = -L$(LUA)/lib -llua
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ #	MzScheme interface:
3ef2ca
+ #	  MZSCHEME=[Path to MzScheme directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_MZSCHEME=yes (to load the MzScheme DLL dynamically)
3ef2ca
+ #	  MZSCHEME_VER=[MzScheme version] (default is 205_000)
3ef2ca
+ #	  MZSCHEME_DEBUG=no
3ef2ca
+ ifdef MZSCHEME
3ef2ca
+ ifndef DYNAMIC_MZSCHEME
3ef2ca
+ DYNAMIC_MZSCHEME=yes
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef MZSCHEME_VER
3ef2ca
+ MZSCHEME_VER=205_000
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef MZSCHEME_PRECISE_GC
3ef2ca
+ MZSCHEME_PRECISE_GC=no
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ # for version 4.x we need to generate byte-code for Scheme base
3ef2ca
+ ifndef MZSCHEME_GENERATE_BASE
3ef2ca
+ MZSCHEME_GENERATE_BASE=no
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef MZSCHEME_USE_RACKET
3ef2ca
+ MZSCHEME_MAIN_LIB=mzsch
3ef2ca
+ else
3ef2ca
+ MZSCHEME_MAIN_LIB=racket
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (no,$(DYNAMIC_MZSCHEME))
3ef2ca
+ ifeq (yes,$(MZSCHEME_PRECISE_GC))
3ef2ca
+ MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
3ef2ca
+ else
3ef2ca
+ MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
3ef2ca
+ endif
3ef2ca
+ # the modern MinGW can dynamically link to dlls directly.
3ef2ca
+ # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
3ef2ca
+ ifndef MZSCHEME_DLLS
3ef2ca
+ MZSCHEME_DLLS=$(MZSCHEME)
3ef2ca
+ endif
3ef2ca
+ MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ #	Python interface:
3ef2ca
+ #	  PYTHON=[Path to Python directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
3ef2ca
+ #	  PYTHON_VER=[Python version, eg 22, 23, ..., 27] (default is 22)
3ef2ca
+ ifdef PYTHON
3ef2ca
+ ifndef DYNAMIC_PYTHON
3ef2ca
+ DYNAMIC_PYTHON=yes
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef PYTHON_VER
3ef2ca
+ PYTHON_VER=22
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (no,$(DYNAMIC_PYTHON))
3ef2ca
+ PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER)
3ef2ca
+ endif
3ef2ca
+ # my include files are in 'win32inc' on Linux, and 'include' in the standard
3ef2ca
+ # NT distro (ActiveState)
3ef2ca
+ ifeq ($(CROSS),no)
3ef2ca
+ PYTHONINC=-I $(PYTHON)/include
3ef2ca
+ else
3ef2ca
+ PYTHONINC=-I $(PYTHON)/win32inc
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ #	Python3 interface:
3ef2ca
+ #	  PYTHON3=[Path to Python3 directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically)
3ef2ca
+ #	  PYTHON3_VER=[Python3 version, eg 31, 32] (default is 31)
3ef2ca
+ ifdef PYTHON3
3ef2ca
+ ifndef DYNAMIC_PYTHON3
3ef2ca
+ DYNAMIC_PYTHON3=yes
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef PYTHON3_VER
3ef2ca
+ PYTHON3_VER=31
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (no,$(DYNAMIC_PYTHON3))
3ef2ca
+ PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER)
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq ($(CROSS),no)
3ef2ca
+ PYTHON3INC=-I $(PYTHON3)/include
3ef2ca
+ else
3ef2ca
+ PYTHON3INC=-I $(PYTHON3)/win32inc
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ #	TCL interface:
3ef2ca
+ #	  TCL=[Path to TCL directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_TCL=yes (to load the TCL DLL dynamically)
3ef2ca
+ #	  TCL_VER=[TCL version, eg 83, 84] (default is 83)
3ef2ca
+ ifdef TCL
3ef2ca
+ ifndef DYNAMIC_TCL
3ef2ca
+ DYNAMIC_TCL=yes
3ef2ca
+ endif
3ef2ca
+ ifndef TCL_VER
3ef2ca
+ TCL_VER = 83
3ef2ca
+ endif
3ef2ca
+ TCLINC += -I$(TCL)/include
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ 
3ef2ca
+ #	Ruby interface:
3ef2ca
+ #	  RUBY=[Path to Ruby directory] (Set inside Make_cyg.mak or Make_ming.mak)
3ef2ca
+ #	  DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
3ef2ca
+ #	  RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18)
3ef2ca
+ #	  RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8)
3ef2ca
+ #	    You must set RUBY_VER_LONG when changing RUBY_VER.
3ef2ca
+ #	    RUBY_API_VER is derived from RUBY_VER_LONG.
3ef2ca
+ #	    Note: If you use Ruby 1.9.3, set as follows:
3ef2ca
+ #	      RUBY_VER=19
3ef2ca
+ #	      RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.)
3ef2ca
+ ifdef RUBY
3ef2ca
+ ifndef DYNAMIC_RUBY
3ef2ca
+ DYNAMIC_RUBY=yes
3ef2ca
+ endif
3ef2ca
+ #  Set default value
3ef2ca
+ ifndef RUBY_VER
3ef2ca
+ RUBY_VER = 18
3ef2ca
+ endif
3ef2ca
+ ifndef RUBY_VER_LONG
3ef2ca
+ RUBY_VER_LONG = 1.8
3ef2ca
+ endif
3ef2ca
+ ifndef RUBY_API_VER
3ef2ca
+ RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef RUBY_PLATFORM
3ef2ca
+ ifeq ($(RUBY_VER), 16)
3ef2ca
+ RUBY_PLATFORM = i586-mswin32
3ef2ca
+ else
3ef2ca
+ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
3ef2ca
+ RUBY_PLATFORM = i386-mingw32
3ef2ca
+ else
3ef2ca
+ ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
3ef2ca
+ RUBY_PLATFORM = x64-mingw32
3ef2ca
+ else
3ef2ca
+ RUBY_PLATFORM = i386-mswin32
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifndef RUBY_INSTALL_NAME
3ef2ca
+ ifeq ($(RUBY_VER), 16)
3ef2ca
+ RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
3ef2ca
+ else
3ef2ca
+ ifeq ($(ARCH),x86-64)
3ef2ca
+ RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
3ef2ca
+ else
3ef2ca
+ RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
3ef2ca
+ RUBY_19_OR_LATER = 1
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
3ef2ca
+ ifdef RUBY_19_OR_LATER
3ef2ca
+ RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
3ef2ca
+ endif
3ef2ca
+ ifeq (no, $(DYNAMIC_RUBY))
3ef2ca
+ RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ endif # RUBY
3ef2ca
+ 
3ef2ca
+ # See feature.h for a list of options.
3ef2ca
+ # Any other defines can be included here.
3ef2ca
+ DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
3ef2ca
+ DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
3ef2ca
+ 	-DHAVE_PATHDEF -DFEAT_$(FEATURES)
3ef2ca
+ ifeq ($(ARCH),x86-64)
3ef2ca
+ DEFINES+=-DMS_WIN64
3ef2ca
+ endif
3ef2ca
+ ifeq ($(CROSS),yes)
3ef2ca
+ # cross-compiler prefix:
3ef2ca
+ ifndef CROSS_COMPILE
3ef2ca
+ CROSS_COMPILE = i586-pc-mingw32msvc-
3ef2ca
+ endif
3ef2ca
+ DEL = rm
3ef2ca
+ MKDIR = mkdir -p
3ef2ca
+ DIRSLASH = /
3ef2ca
+ else
3ef2ca
+ # normal (Windows) compilation:
3ef2ca
+ ifndef CROSS_COMPILE
3ef2ca
+ CROSS_COMPILE =
3ef2ca
+ endif
3ef2ca
+ ifneq (sh.exe, $(SHELL))
3ef2ca
+ DEL = rm
3ef2ca
+ MKDIR = mkdir -p
3ef2ca
+ DIRSLASH = /
3ef2ca
+ else
3ef2ca
+ DEL = del
3ef2ca
+ MKDIR = mkdir
3ef2ca
+ DIRSLASH = \\
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ CC := $(CROSS_COMPILE)gcc
3ef2ca
+ CXX := $(CROSS_COMPILE)g++
3ef2ca
+ WINDRES := $(CROSS_COMPILE)windres
3ef2ca
+ WINDRES_CC = $(CC)
3ef2ca
+ 
3ef2ca
+ #>>>>> end of choices
3ef2ca
+ ###########################################################################
3ef2ca
+ 
3ef2ca
+ CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
3ef2ca
+ WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
3ef2ca
+ EXTRA_LIBS =
3ef2ca
+ 
3ef2ca
+ ifdef GETTEXT
3ef2ca
+ DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
3ef2ca
+ GETTEXTINCLUDE = $(GETTEXT)/include
3ef2ca
+ GETTEXTLIB = $(INTLPATH)
3ef2ca
+ ifeq (yes, $(GETTEXT))
3ef2ca
+ DEFINES += -DDYNAMIC_GETTEXT
3ef2ca
+ else
3ef2ca
+ ifdef DYNAMIC_GETTEXT
3ef2ca
+ DEFINES += -D$(DYNAMIC_GETTEXT)
3ef2ca
+ ifdef GETTEXT_DYNAMIC
3ef2ca
+ DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\"
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef PERL
3ef2ca
+ CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
3ef2ca
+ ifeq (yes, $(DYNAMIC_PERL))
3ef2ca
+ CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
3ef2ca
+ EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef LUA
3ef2ca
+ CFLAGS += -I$(LUA)/include -I$(LUA) -DFEAT_LUA
3ef2ca
+ ifeq (yes, $(DYNAMIC_LUA))
3ef2ca
+ CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef MZSCHEME
3ef2ca
+ CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
3ef2ca
+ ifeq (yes, $(DYNAMIC_MZSCHEME))
3ef2ca
+ CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
3ef2ca
+ endif
3ef2ca
+ ifeq (yes, "$(MZSCHEME_DEBUG)")
3ef2ca
+ CFLAGS += -DMZSCHEME_FORCE_GC
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef RUBY
3ef2ca
+ CFLAGS += -DFEAT_RUBY $(RUBYINC)
3ef2ca
+ ifeq (yes, $(DYNAMIC_RUBY))
3ef2ca
+ CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
3ef2ca
+ CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
3ef2ca
+ endif
3ef2ca
+ ifneq ($(findstring w64-mingw32,$(CC)),)
3ef2ca
+ # A workaround for MinGW-w64
3ef2ca
+ CFLAGS += -DHAVE_STRUCT_TIMESPEC -DHAVE_STRUCT_TIMEZONE
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef PYTHON
3ef2ca
+ CFLAGS += -DFEAT_PYTHON 
3ef2ca
+ ifeq (yes, $(DYNAMIC_PYTHON))
3ef2ca
+ CFLAGS += -DDYNAMIC_PYTHON
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef PYTHON3 
3ef2ca
+ CFLAGS += -DFEAT_PYTHON3 
3ef2ca
+ ifeq (yes, $(DYNAMIC_PYTHON3))
3ef2ca
+ CFLAGS += -DDYNAMIC_PYTHON3 
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef TCL
3ef2ca
+ CFLAGS += -DFEAT_TCL $(TCLINC)
3ef2ca
+ ifeq (yes, $(DYNAMIC_TCL))
3ef2ca
+ CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq ($(POSTSCRIPT),yes)
3ef2ca
+ DEFINES += -DMSWINPS
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (yes, $(OLE))
3ef2ca
+ DEFINES += -DFEAT_OLE
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq ($(CSCOPE),yes)
3ef2ca
+ DEFINES += -DFEAT_CSCOPE
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq ($(NETBEANS),yes)
3ef2ca
+ # Only allow NETBEANS for a GUI build.
3ef2ca
+ ifeq (yes, $(GUI))
3ef2ca
+ DEFINES += -DFEAT_NETBEANS_INTG
3ef2ca
+ 
3ef2ca
+ ifeq ($(NBDEBUG), yes)
3ef2ca
+ DEFINES += -DNBDEBUG
3ef2ca
+ NBDEBUG_INCL = nbdebug.h
3ef2ca
+ NBDEBUG_SRC = nbdebug.c
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ # DirectWrite (DirectX)
3ef2ca
+ ifeq ($(DIRECTX),yes)
3ef2ca
+ # Only allow DirectWrite for a GUI build.
3ef2ca
+ ifeq (yes, $(GUI))
3ef2ca
+ DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ # Only allow XPM for a GUI build.
3ef2ca
+ ifeq (yes, $(GUI))
3ef2ca
+ 
3ef2ca
+ ifndef XPM
3ef2ca
+ ifeq ($(ARCH),i386)
3ef2ca
+ XPM = xpm/x86
3ef2ca
+ endif
3ef2ca
+ ifeq ($(ARCH),i486)
3ef2ca
+ XPM = xpm/x86
3ef2ca
+ endif
3ef2ca
+ ifeq ($(ARCH),i586)
3ef2ca
+ XPM = xpm/x86
3ef2ca
+ endif
3ef2ca
+ ifeq ($(ARCH),i686)
3ef2ca
+ XPM = xpm/x86
3ef2ca
+ endif
3ef2ca
+ ifeq ($(ARCH),x86-64)
3ef2ca
+ XPM = xpm/x64
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ ifdef XPM
3ef2ca
+ ifneq ($(XPM),no)
3ef2ca
+ CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq ($(DEBUG),yes)
3ef2ca
+ CFLAGS += -g -fstack-check
3ef2ca
+ DEBUG_SUFFIX=d
3ef2ca
+ else
3ef2ca
+ ifeq ($(OPTIMIZE), SIZE)
3ef2ca
+ CFLAGS += -Os
3ef2ca
+ else
3ef2ca
+ ifeq ($(OPTIMIZE), MAXSPEED)
3ef2ca
+ CFLAGS += -O3
3ef2ca
+ CFLAGS += -fomit-frame-pointer -freg-struct-return
3ef2ca
+ else  # SPEED
3ef2ca
+ CFLAGS += -O2
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ CFLAGS += -s
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
3ef2ca
+ GUIOBJ =  $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
3ef2ca
+ OBJ = \
3ef2ca
+ 	$(OUTDIR)/blowfish.o \
3ef2ca
+ 	$(OUTDIR)/buffer.o \
3ef2ca
+ 	$(OUTDIR)/charset.o \
3ef2ca
+ 	$(OUTDIR)/crypt.o \
3ef2ca
+ 	$(OUTDIR)/crypt_zip.o \
3ef2ca
+ 	$(OUTDIR)/diff.o \
3ef2ca
+ 	$(OUTDIR)/digraph.o \
3ef2ca
+ 	$(OUTDIR)/edit.o \
3ef2ca
+ 	$(OUTDIR)/eval.o \
3ef2ca
+ 	$(OUTDIR)/ex_cmds.o \
3ef2ca
+ 	$(OUTDIR)/ex_cmds2.o \
3ef2ca
+ 	$(OUTDIR)/ex_docmd.o \
3ef2ca
+ 	$(OUTDIR)/ex_eval.o \
3ef2ca
+ 	$(OUTDIR)/ex_getln.o \
3ef2ca
+ 	$(OUTDIR)/fileio.o \
3ef2ca
+ 	$(OUTDIR)/fold.o \
3ef2ca
+ 	$(OUTDIR)/getchar.o \
3ef2ca
+ 	$(OUTDIR)/hardcopy.o \
3ef2ca
+ 	$(OUTDIR)/hashtab.o \
3ef2ca
+ 	$(OUTDIR)/main.o \
3ef2ca
+ 	$(OUTDIR)/mark.o \
3ef2ca
+ 	$(OUTDIR)/memfile.o \
3ef2ca
+ 	$(OUTDIR)/memline.o \
3ef2ca
+ 	$(OUTDIR)/menu.o \
3ef2ca
+ 	$(OUTDIR)/message.o \
3ef2ca
+ 	$(OUTDIR)/misc1.o \
3ef2ca
+ 	$(OUTDIR)/misc2.o \
3ef2ca
+ 	$(OUTDIR)/move.o \
3ef2ca
+ 	$(OUTDIR)/mbyte.o \
3ef2ca
+ 	$(OUTDIR)/normal.o \
3ef2ca
+ 	$(OUTDIR)/ops.o \
3ef2ca
+ 	$(OUTDIR)/option.o \
3ef2ca
+ 	$(OUTDIR)/os_win32.o \
3ef2ca
+ 	$(OUTDIR)/os_mswin.o \
3ef2ca
+ 	$(OUTDIR)/winclip.o \
3ef2ca
+ 	$(OUTDIR)/pathdef.o \
3ef2ca
+ 	$(OUTDIR)/popupmnu.o \
3ef2ca
+ 	$(OUTDIR)/quickfix.o \
3ef2ca
+ 	$(OUTDIR)/regexp.o \
3ef2ca
+ 	$(OUTDIR)/screen.o \
3ef2ca
+ 	$(OUTDIR)/search.o \
3ef2ca
+ 	$(OUTDIR)/sha256.o \
3ef2ca
+ 	$(OUTDIR)/spell.o \
3ef2ca
+ 	$(OUTDIR)/syntax.o \
3ef2ca
+ 	$(OUTDIR)/tag.o \
3ef2ca
+ 	$(OUTDIR)/term.o \
3ef2ca
+ 	$(OUTDIR)/ui.o \
3ef2ca
+ 	$(OUTDIR)/undo.o \
3ef2ca
+ 	$(OUTDIR)/version.o \
3ef2ca
+ 	$(OUTDIR)/vimrc.o \
3ef2ca
+ 	$(OUTDIR)/window.o
3ef2ca
+ 
3ef2ca
+ ifdef PERL
3ef2ca
+ OBJ += $(OUTDIR)/if_perl.o
3ef2ca
+ endif
3ef2ca
+ ifdef LUA
3ef2ca
+ OBJ += $(OUTDIR)/if_lua.o
3ef2ca
+ endif
3ef2ca
+ ifdef MZSCHEME
3ef2ca
+ OBJ += $(OUTDIR)/if_mzsch.o
3ef2ca
+ MZSCHEME_INCL = if_mzsch.h
3ef2ca
+ ifeq (yes,$(MZSCHEME_GENERATE_BASE))
3ef2ca
+ CFLAGS += -DINCLUDE_MZSCHEME_BASE
3ef2ca
+ MZ_EXTRA_DEP += mzscheme_base.c
3ef2ca
+ endif
3ef2ca
+ ifeq (yes,$(MZSCHEME_PRECISE_GC))
3ef2ca
+ CFLAGS += -DMZ_PRECISE_GC
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ ifdef PYTHON
3ef2ca
+ OBJ += $(OUTDIR)/if_python.o
3ef2ca
+ endif
3ef2ca
+ ifdef PYTHON3
3ef2ca
+ OBJ += $(OUTDIR)/if_python3.o
3ef2ca
+ endif
3ef2ca
+ ifdef RUBY
3ef2ca
+ OBJ += $(OUTDIR)/if_ruby.o
3ef2ca
+ endif
3ef2ca
+ ifdef TCL
3ef2ca
+ OBJ += $(OUTDIR)/if_tcl.o
3ef2ca
+ endif
3ef2ca
+ ifeq ($(CSCOPE),yes)
3ef2ca
+ OBJ += $(OUTDIR)/if_cscope.o
3ef2ca
+ endif
3ef2ca
+ ifeq ($(NETBEANS),yes)
3ef2ca
+ # Only allow NETBEANS for a GUI build.
3ef2ca
+ ifeq (yes, $(GUI))
3ef2ca
+ OBJ += $(OUTDIR)/netbeans.o
3ef2ca
+ LIB += -lwsock32
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ ifeq ($(DIRECTX),yes)
3ef2ca
+ # Only allow DIRECTX for a GUI build.
3ef2ca
+ ifeq (yes, $(GUI))
3ef2ca
+ OBJ += $(OUTDIR)/gui_dwrite.o
3ef2ca
+ LIB += -ld2d1 -ldwrite
3ef2ca
+ USE_STDCPLUS = yes
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ ifneq ($(XPM),no)
3ef2ca
+ # Only allow XPM for a GUI build.
3ef2ca
+ ifeq (yes, $(GUI))
3ef2ca
+ OBJ += $(OUTDIR)/xpm_w32.o
3ef2ca
+ # You'll need libXpm.a from http://gnuwin32.sf.net
3ef2ca
+ LIB += -L$(XPM)/lib -lXpm
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ 
3ef2ca
+ ifdef MZSCHEME
3ef2ca
+ MZSCHEME_SUFFIX = Z
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq ($(GUI),yes)
3ef2ca
+ TARGET := gvim$(DEBUG_SUFFIX).exe
3ef2ca
+ DEFINES += $(DEF_GUI)
3ef2ca
+ OBJ += $(GUIOBJ)
3ef2ca
+ LFLAGS += -mwindows
3ef2ca
+ OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
3ef2ca
+ else
3ef2ca
+ TARGET := vim$(DEBUG_SUFFIX).exe
3ef2ca
+ OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef GETTEXT
3ef2ca
+ ifneq (yes, $(GETTEXT))
3ef2ca
+ CFLAGS += -I$(GETTEXTINCLUDE)
3ef2ca
+ ifndef STATIC_GETTEXT
3ef2ca
+ LIB += -L$(GETTEXTLIB) -l$(INTLLIB)
3ef2ca
+ ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT))
3ef2ca
+ OBJ+=$(SAFE_GETTEXT_DLL_OBJ)
3ef2ca
+ endif
3ef2ca
+ else
3ef2ca
+ LIB += -L$(GETTEXTLIB) -lintl
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef PERL
3ef2ca
+ ifeq (no, $(DYNAMIC_PERL))
3ef2ca
+ LIB += -L$(PERLLIBS) -lperl$(PERL_VER)
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef TCL
3ef2ca
+ LIB += -L$(TCL)/lib
3ef2ca
+ ifeq (yes, $(DYNAMIC_TCL))
3ef2ca
+ LIB += -ltclstub$(TCL_VER)
3ef2ca
+ else
3ef2ca
+ LIB += -ltcl$(TCL_VER)
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (yes, $(OLE))
3ef2ca
+ LIB += -loleaut32
3ef2ca
+ OBJ += $(OUTDIR)/if_ole.o
3ef2ca
+ USE_STDCPLUS = yes
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (yes, $(MBYTE))
3ef2ca
+ DEFINES += -DFEAT_MBYTE
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (yes, $(IME))
3ef2ca
+ DEFINES += -DFEAT_MBYTE_IME
3ef2ca
+ ifeq (yes, $(DYNAMIC_IME))
3ef2ca
+ DEFINES += -DDYNAMIC_IME
3ef2ca
+ else
3ef2ca
+ LIB += -limm32
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifdef ICONV
3ef2ca
+ ifneq (yes, $(ICONV))
3ef2ca
+ LIB += -L$(ICONV)
3ef2ca
+ CFLAGS += -I$(ICONV)
3ef2ca
+ endif
3ef2ca
+ DEFINES+=-DDYNAMIC_ICONV
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ ifeq (yes, $(USE_STDCPLUS))
3ef2ca
+ ifeq (yes, $(STATIC_STDCPLUS))
3ef2ca
+ LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
3ef2ca
+ else
3ef2ca
+ LIB += -lstdc++
3ef2ca
+ endif
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll
3ef2ca
+ 
3ef2ca
+ vimrun.exe: vimrun.c
3ef2ca
+ 	$(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB)
3ef2ca
+ 
3ef2ca
+ install.exe: dosinst.c
3ef2ca
+ 	$(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid
3ef2ca
+ 
3ef2ca
+ uninstal.exe: uninstal.c
3ef2ca
+ 	$(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
3ef2ca
+ 
3ef2ca
+ $(TARGET): $(OUTDIR) $(OBJ)
3ef2ca
+ 	$(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
3ef2ca
+ 
3ef2ca
+ upx: exes
3ef2ca
+ 	upx gvim.exe
3ef2ca
+ 	upx vim.exe
3ef2ca
+ 
3ef2ca
+ mpress: exes
3ef2ca
+ 	mpress gvim.exe
3ef2ca
+ 	mpress vim.exe
3ef2ca
+ 
3ef2ca
+ xxd/xxd.exe: xxd/xxd.c
3ef2ca
+ 	$(MAKE) -C xxd -f Make_ming.mak CC='$(CC)'
3ef2ca
+ 
3ef2ca
+ GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
3ef2ca
+ 	$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS)
3ef2ca
+ 
3ef2ca
+ clean:
3ef2ca
+ 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
3ef2ca
+ 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.res
3ef2ca
+ 	-rmdir $(OUTDIR)
3ef2ca
+ 	-$(DEL) *.exe
3ef2ca
+ 	-$(DEL) pathdef.c
3ef2ca
+ ifdef PERL
3ef2ca
+ 	-$(DEL) if_perl.c
3ef2ca
+ endif
3ef2ca
+ ifdef MZSCHEME
3ef2ca
+ 	-$(DEL) mzscheme_base.c
3ef2ca
+ endif
3ef2ca
+ 	$(MAKE) -C GvimExt -f Make_ming.mak clean
3ef2ca
+ 	$(MAKE) -C xxd -f Make_ming.mak clean
3ef2ca
+ 
3ef2ca
+ ###########################################################################
3ef2ca
+ INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
3ef2ca
+ 	structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
3ef2ca
+ 	gui.h
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
3ef2ca
+ 	$(CC) -c $(CFLAGS) $(PYTHONINC) -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" $< -o $@
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
3ef2ca
+ 	$(CC) -c $(CFLAGS) $(PYTHON3INC) -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" $< -o $@
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/%.o : %.c $(INCL)
3ef2ca
+ 	$(CC) -c $(CFLAGS) $< -o $@
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
3ef2ca
+ 	$(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
3ef2ca
+ 	    --input-format=rc --output-format=coff -i vim.rc -o $@
3ef2ca
+ 
3ef2ca
+ $(OUTDIR):
3ef2ca
+ 	$(MKDIR) $(OUTDIR)
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/ex_docmd.o:	ex_docmd.c $(INCL) ex_cmds.h
3ef2ca
+ 	$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/ex_eval.o:	ex_eval.c $(INCL) ex_cmds.h
3ef2ca
+ 	$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/gui_w32.o:	gui_w32.c gui_w48.c $(INCL)
3ef2ca
+ 	$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/gui_dwrite.o:	gui_dwrite.cpp $(INCL) gui_dwrite.h
3ef2ca
+ 	$(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/if_cscope.o:	if_cscope.c $(INCL) if_cscope.h
3ef2ca
+ 	$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
3ef2ca
+ 
3ef2ca
+ # Remove -D__IID_DEFINED__ for newer versions of the w32api
3ef2ca
+ $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
3ef2ca
+ 	$(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
3ef2ca
+ ifeq (16, $(RUBY))
3ef2ca
+ 	$(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
3ef2ca
+ endif
3ef2ca
+ 
3ef2ca
+ if_perl.c: if_perl.xs typemap
3ef2ca
+ 	$(XSUBPP) -prototypes -typemap \
3ef2ca
+ 	     "$(PERLTYPEMAP)" if_perl.xs > $@
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/netbeans.o:	netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
3ef2ca
+ 	$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/regexp.o:		regexp.c regexp_nfa.c $(INCL)
3ef2ca
+ 	$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
3ef2ca
+ 
3ef2ca
+ $(OUTDIR)/if_mzsch.o:	if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
3ef2ca
+ 	$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
3ef2ca
+ 
3ef2ca
+ mzscheme_base.c:
3ef2ca
+ 	$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
3ef2ca
+ 
3ef2ca
+ pathdef.c: $(INCL)
3ef2ca
+ ifneq (sh.exe, $(SHELL))
3ef2ca
+ 	@echo creating pathdef.c
3ef2ca
+ 	@echo '/* pathdef.c */' > pathdef.c
3ef2ca
+ 	@echo '#include "vim.h"' >> pathdef.c
3ef2ca
+ 	@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
3ef2ca
+ 	@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
3ef2ca
+ 	@echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
3ef2ca
+ 	@echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c
3ef2ca
+ 	@echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
3ef2ca
+ 	@echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
3ef2ca
+ else
3ef2ca
+ 	@echo creating pathdef.c
3ef2ca
+ 	@echo /* pathdef.c */ > pathdef.c
3ef2ca
+ 	@echo #include "vim.h" >> pathdef.c
3ef2ca
+ 	@echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
3ef2ca
+ 	@echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
3ef2ca
+ 	@echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
3ef2ca
+ 	@echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)"; >> pathdef.c
3ef2ca
+ 	@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
3ef2ca
+ 	@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
3ef2ca
+ endif
3ef2ca
*** ../vim-7.4.495/src/Make_ming.mak	2014-10-15 12:07:07.610009454 +0200
3ef2ca
--- src/Make_ming.mak	2014-11-05 13:49:27.076811946 +0100
3ef2ca
***************
3ef2ca
*** 1,193 ****
3ef2ca
- # Makefile for VIM on Win32
3ef2ca
  #
3ef2ca
! # Info at http://www.mingw.org
3ef2ca
! # Alternative x86 and 64-builds: http://mingw-w64.sourceforge.net
3ef2ca
! # Also requires GNU make, which you can download from the same sites.
3ef2ca
! # Get missing libraries from http://gnuwin32.sf.net.
3ef2ca
  #
3ef2ca
! # Tested on Win32 NT 4 and Win95.
3ef2ca
  #
3ef2ca
! # To make everything, just 'make -f Make_ming.mak'.
3ef2ca
! # To make just e.g. gvim.exe, 'make -f Make_ming.mak gvim.exe'.
3ef2ca
! # After a run, you can 'make -f Make_ming.mak clean' to clean up.
3ef2ca
  #
3ef2ca
! # NOTE: Sometimes 'GNU Make' will stop after building vimrun.exe -- I think
3ef2ca
! # it's just run out of memory or something.  Run again, and it will continue
3ef2ca
! # with 'xxd'.
3ef2ca
! #
3ef2ca
! # "make upx" makes *compressed* versions of the 32 bit GUI and console EXEs,
3ef2ca
! # using the excellent UPX compressor:
3ef2ca
! #     http://upx.sourceforge.net/
3ef2ca
! # "make mpress" uses the MPRESS compressor for 32- and 64-bit EXEs:
3ef2ca
! #     http://www.matcode.com/mpress.htm
3ef2ca
! #
3ef2ca
! # Maintained by Ron Aaron <ronaharon@yahoo.com> et al.
3ef2ca
! # Updated 2014 Oct 13.
3ef2ca
! 
3ef2ca
! #>>>>> choose options:
3ef2ca
! # set to yes for a debug build
3ef2ca
! DEBUG=no
3ef2ca
! # set to SIZE for size, SPEED for speed, MAXSPEED for maximum optimization
3ef2ca
! OPTIMIZE=MAXSPEED
3ef2ca
! # set to yes to make gvim, no for vim
3ef2ca
! GUI=yes
3ef2ca
! # set to yes if you want to use DirectWrite (DirectX)
3ef2ca
! DIRECTX=no
3ef2ca
! # FEATURES=[TINY | SMALL  | NORMAL | BIG | HUGE]
3ef2ca
! # Set to TINY to make minimal version (few features).
3ef2ca
! FEATURES=BIG
3ef2ca
! # Set to one of i386, i486, i586, i686 as the minimum target processor.
3ef2ca
! # For amd64/x64 architecture set ARCH=x86-64 .
3ef2ca
! ARCH=i386
3ef2ca
! # Set to yes to cross-compile from unix; no=native Windows.
3ef2ca
! CROSS=no
3ef2ca
! # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
3ef2ca
! #ICONV="."
3ef2ca
! ICONV=yes
3ef2ca
! GETTEXT=yes
3ef2ca
! # Set to yes to include multibyte support.
3ef2ca
! MBYTE=yes
3ef2ca
! # Set to yes to include IME support.
3ef2ca
! IME=yes
3ef2ca
! DYNAMIC_IME=yes
3ef2ca
! # Set to yes to enable writing a postscript file with :hardcopy.
3ef2ca
! POSTSCRIPT=no
3ef2ca
! # Set to yes to enable OLE support.
3ef2ca
! OLE=no
3ef2ca
! # Set the default $(WINVER) to make it work with pre-Win2k.
3ef2ca
! ifndef WINVER
3ef2ca
! WINVER = 0x0500
3ef2ca
! endif
3ef2ca
! # Set to yes to enable Cscope support.
3ef2ca
! CSCOPE=yes
3ef2ca
! # Set to yes to enable Netbeans support.
3ef2ca
! NETBEANS=$(GUI)
3ef2ca
! 
3ef2ca
! 
3ef2ca
! # Link against the shared version of libstdc++ by default.  Set
3ef2ca
! # STATIC_STDCPLUS to "yes" to link against static version instead.
3ef2ca
! ifndef STATIC_STDCPLUS
3ef2ca
! STATIC_STDCPLUS=no
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! # If the user doesn't want gettext, undefine it.
3ef2ca
! ifeq (no, $(GETTEXT))
3ef2ca
! GETTEXT=
3ef2ca
! endif
3ef2ca
! # Added by E.F. Amatria <eferna1@platea.ptic.mec.es> 2001 Feb 23
3ef2ca
! # Uncomment the first line and one of the following three if you want Native Language
3ef2ca
! # Support.  You'll need gnu_gettext.win32, a MINGW32 Windows PORT of gettext by
3ef2ca
! # Franco Bez <franco.bez@gmx.de>.  It may be found at
3ef2ca
! # http://home.a-city.de/franco.bez/gettext/gettext_win32_en.html
3ef2ca
! # Tested with mingw32 with GCC-2.95.2 on Win98
3ef2ca
! # Updated 2001 Jun 9
3ef2ca
! #GETTEXT=c:/gettext.win32.msvcrt
3ef2ca
! #STATIC_GETTEXT=USE_STATIC_GETTEXT
3ef2ca
! #DYNAMIC_GETTEXT=USE_GETTEXT_DLL
3ef2ca
! #DYNAMIC_GETTEXT=USE_SAFE_GETTEXT_DLL
3ef2ca
! SAFE_GETTEXT_DLL_OBJ = $(GETTEXT)/src/safe_gettext_dll/safe_gettext_dll.o
3ef2ca
! # Alternatively, if you uncomment the two following lines, you get a "safe" version
3ef2ca
! # without linking the safe_gettext_dll.o object file.
3ef2ca
! #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
3ef2ca
! #GETTEXT_DYNAMIC=gnu_gettext.dll
3ef2ca
! INTLPATH=$(GETTEXT)/lib/mingw32
3ef2ca
! INTLLIB=gnu_gettext
3ef2ca
  
3ef2ca
- # If you are using gettext-0.10.35 from http://sourceforge.net/projects/gettext
3ef2ca
- # or gettext-0.10.37 from http://sourceforge.net/projects/mingwrep/
3ef2ca
- # uncomment the following, but I can't build a static version with them, ?-(|
3ef2ca
- #GETTEXT=c:/gettext-0.10.37-20010430
3ef2ca
- #STATIC_GETTEXT=USE_STATIC_GETTEXT
3ef2ca
- #DYNAMIC_GETTEXT=DYNAMIC_GETTEXT
3ef2ca
- #INTLPATH=$(GETTEXT)/lib
3ef2ca
- #INTLLIB=intl
3ef2ca
  
3ef2ca
  # uncomment 'PERL' if you want a perl-enabled version
3ef2ca
! #PERL=C:/perl
3ef2ca
! ifdef PERL
3ef2ca
! ifndef PERL_VER
3ef2ca
! PERL_VER=56
3ef2ca
! endif
3ef2ca
! ifndef DYNAMIC_PERL
3ef2ca
! DYNAMIC_PERL=yes
3ef2ca
! endif
3ef2ca
! # on Linux, for cross-compile, it's here:
3ef2ca
! #PERLLIB=/home/ron/ActivePerl/lib
3ef2ca
! # on NT, it's here:
3ef2ca
! PERLLIB=$(PERL)/lib
3ef2ca
! PERLLIBS=$(PERLLIB)/Core
3ef2ca
! XSUBPPTRY=$(PERLLIB)/ExtUtils/xsubpp
3ef2ca
! XSUBPP_EXISTS=$(shell perl -e "print 1 unless -e '$(XSUBPPTRY)'")
3ef2ca
! ifeq "$(XSUBPP_EXISTS)" ""
3ef2ca
! XSUBPP=perl $(XSUBPPTRY)
3ef2ca
! else
3ef2ca
! XSUBPP=xsubpp
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
  
3ef2ca
  # uncomment 'LUA' if you want a Lua-enabled version
3ef2ca
! #LUA=/usr/local
3ef2ca
! ifdef LUA
3ef2ca
! ifndef DYNAMIC_LUA
3ef2ca
! DYNAMIC_LUA=yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef LUA_VER
3ef2ca
! LUA_VER=51
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (no,$(DYNAMIC_LUA))
3ef2ca
! LUA_LIB = -L$(LUA)/lib -llua
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! endif
3ef2ca
  
3ef2ca
  # uncomment 'MZSCHEME' if you want a MzScheme-enabled version
3ef2ca
  #MZSCHEME=d:/plt
3ef2ca
- ifdef MZSCHEME
3ef2ca
- ifndef DYNAMIC_MZSCHEME
3ef2ca
- DYNAMIC_MZSCHEME=yes
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifndef MZSCHEME_VER
3ef2ca
- MZSCHEME_VER=205_000
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifndef MZSCHEME_PRECISE_GC
3ef2ca
- MZSCHEME_PRECISE_GC=no
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- # for version 4.x we need to generate byte-code for Scheme base
3ef2ca
- ifndef MZSCHEME_GENERATE_BASE
3ef2ca
- MZSCHEME_GENERATE_BASE=no
3ef2ca
- endif
3ef2ca
  
3ef2ca
! ifndef MZSCHEME_USE_RACKET
3ef2ca
! MZSCHEME_MAIN_LIB=mzsch
3ef2ca
! else
3ef2ca
! MZSCHEME_MAIN_LIB=racket
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (no,$(DYNAMIC_MZSCHEME))
3ef2ca
! ifeq (yes,$(MZSCHEME_PRECISE_GC))
3ef2ca
! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
3ef2ca
! else
3ef2ca
! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
3ef2ca
! endif
3ef2ca
! # the modern MinGW can dynamically link to dlls directly.
3ef2ca
! # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
3ef2ca
! ifndef MZSCHEME_DLLS
3ef2ca
! MZSCHEME_DLLS=$(MZSCHEME)
3ef2ca
! endif
3ef2ca
! MZSCHEME_LIBDIR=-L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)\lib
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! # Python support -- works with the ActiveState python 2.0 release (and others
3ef2ca
! # too, probably)
3ef2ca
! #
3ef2ca
! # uncomment 'PYTHON' to make python-enabled version
3ef2ca
  # Put the path to the python distro here.  If cross compiling from Linux, you
3ef2ca
  # will also need to convert the header files to unix instead of dos format:
3ef2ca
  #   for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
3ef2ca
--- 1,27 ----
3ef2ca
  #
3ef2ca
! # Makefile for VIM on Win32, using MinGW
3ef2ca
  #
3ef2ca
! # Also read INSTALLpc.txt!
3ef2ca
  #
3ef2ca
! # The old Make_ming.mak (maintained by Ron Aaron et al.) was merged into
3ef2ca
! # Make_cyg_ming.mak.
3ef2ca
! # This file contains MinGW specific settings. Common settings are contained
3ef2ca
! # in Make_cyg_ming.mak.
3ef2ca
  #
3ef2ca
! # Last updated by Ken Takata.
3ef2ca
! # Last Change: 2014 Oct 21
3ef2ca
  
3ef2ca
  
3ef2ca
  # uncomment 'PERL' if you want a perl-enabled version
3ef2ca
! #PERL=c:/perl
3ef2ca
  
3ef2ca
  # uncomment 'LUA' if you want a Lua-enabled version
3ef2ca
! #LUA=c:/lua
3ef2ca
  
3ef2ca
  # uncomment 'MZSCHEME' if you want a MzScheme-enabled version
3ef2ca
  #MZSCHEME=d:/plt
3ef2ca
  
3ef2ca
! # uncomment 'PYTHON' if you want a python-enabled version
3ef2ca
  # Put the path to the python distro here.  If cross compiling from Linux, you
3ef2ca
  # will also need to convert the header files to unix instead of dos format:
3ef2ca
  #   for fil in *.h ; do vim -e -c 'set ff=unix|w|q' $fil
3ef2ca
***************
3ef2ca
*** 200,830 ****
3ef2ca
  # on my NT box, it's here:
3ef2ca
  #PYTHON=c:/python20
3ef2ca
  
3ef2ca
! ifdef PYTHON
3ef2ca
! ifndef DYNAMIC_PYTHON
3ef2ca
! DYNAMIC_PYTHON=yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef PYTHON_VER
3ef2ca
! PYTHON_VER=22
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (no,$(DYNAMIC_PYTHON))
3ef2ca
! PYTHONLIB=-L$(PYTHON)/libs -lpython$(PYTHON_VER)
3ef2ca
! endif
3ef2ca
! # my include files are in 'win32inc' on Linux, and 'include' in the standard
3ef2ca
! # NT distro (ActiveState)
3ef2ca
! ifeq ($(CROSS),no)
3ef2ca
! PYTHONINC=-I $(PYTHON)/include
3ef2ca
! else
3ef2ca
! PYTHONINC=-I $(PYTHON)/win32inc
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! #PYTHON3: See comment for Python 2 above
3ef2ca
! 
3ef2ca
! ifdef PYTHON3
3ef2ca
! ifndef DYNAMIC_PYTHON3
3ef2ca
! DYNAMIC_PYTHON3=yes
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifndef PYTHON3_VER
3ef2ca
! PYTHON3_VER=31
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq (no,$(DYNAMIC_PYTHON3))
3ef2ca
! PYTHON3LIB=-L$(PYTHON3)/libs -lPYTHON$(PYTHON3_VER)
3ef2ca
! endif
3ef2ca
! 
3ef2ca
! ifeq ($(CROSS),no)
3ef2ca
! PYTHON3INC=-I $(PYTHON3)/include
3ef2ca
! else
3ef2ca
! PYTHON3INC=-I $(PYTHON3)/win32inc
3ef2ca
! endif
3ef2ca
! endif
3ef2ca
  
3ef2ca
! #	TCL interface:
3ef2ca
! #	  TCL=[Path to TCL directory]
3ef2ca
! #	  DYNAMIC_TCL=yes (to load the TCL DLL dynamically)
3ef2ca
! #	  TCL_VER=[TCL version, eg 83, 84] (default is 83)
3ef2ca
  #TCL=c:/tcl
3ef2ca
- ifdef TCL
3ef2ca
- ifndef DYNAMIC_TCL
3ef2ca
- DYNAMIC_TCL=yes
3ef2ca
- endif
3ef2ca
- ifndef TCL_VER
3ef2ca
- TCL_VER = 83
3ef2ca
- endif
3ef2ca
- TCLINC += -I$(TCL)/include
3ef2ca
- endif
3ef2ca
  
3ef2ca
! 
3ef2ca
! #	Ruby interface:
3ef2ca
! #	  RUBY=[Path to Ruby directory]
3ef2ca
! #	  DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
3ef2ca
! #	  RUBY_VER=[Ruby version, eg 16, 17] (default is 16)
3ef2ca
! #	  RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.6)
3ef2ca
! #	    You must set RUBY_VER_LONG when changing RUBY_VER.
3ef2ca
! #	    You must set RUBY_API_VER version to RUBY_VER_LONG.
3ef2ca
! #	    Don't set ruby API version to RUBY_VER like 191.
3ef2ca
  #RUBY=c:/ruby
3ef2ca
- ifdef RUBY
3ef2ca
- ifndef DYNAMIC_RUBY
3ef2ca
- DYNAMIC_RUBY=yes
3ef2ca
- endif
3ef2ca
- #  Set default value
3ef2ca
- ifndef RUBY_VER
3ef2ca
- RUBY_VER = 16
3ef2ca
- endif
3ef2ca
- ifndef RUBY_VER_LONG
3ef2ca
- RUBY_VER_LONG = 1.6
3ef2ca
- endif
3ef2ca
- ifndef RUBY_API_VER
3ef2ca
- RUBY_API_VER = $(subst .,,$(RUBY_VER_LONG))
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifndef RUBY_PLATFORM
3ef2ca
- ifeq ($(RUBY_VER), 16)
3ef2ca
- RUBY_PLATFORM = i586-mswin32
3ef2ca
- else
3ef2ca
- ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/i386-mingw32),)
3ef2ca
- RUBY_PLATFORM = i386-mingw32
3ef2ca
- else
3ef2ca
- ifneq ($(wildcard $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/x64-mingw32),)
3ef2ca
- RUBY_PLATFORM = x64-mingw32
3ef2ca
- else
3ef2ca
- RUBY_PLATFORM = i386-mswin32
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifndef RUBY_INSTALL_NAME
3ef2ca
- ifeq ($(RUBY_VER), 16)
3ef2ca
- RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER)
3ef2ca
- else
3ef2ca
- ifeq ($(ARCH),x86-64)
3ef2ca
- RUBY_INSTALL_NAME = x64-msvcrt-ruby$(RUBY_API_VER)
3ef2ca
- else
3ef2ca
- RUBY_INSTALL_NAME = msvcrt-ruby$(RUBY_API_VER)
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq (19, $(word 1,$(sort 19 $(RUBY_VER))))
3ef2ca
- RUBY_19_OR_LATER = 1
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- RUBYINC = -I $(RUBY)/lib/ruby/$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
3ef2ca
- ifdef RUBY_19_OR_LATER
3ef2ca
- RUBYINC += -I $(RUBY)/include/ruby-$(RUBY_VER_LONG) -I $(RUBY)/include/ruby-$(RUBY_VER_LONG)/$(RUBY_PLATFORM)
3ef2ca
- endif
3ef2ca
- ifeq (no, $(DYNAMIC_RUBY))
3ef2ca
- RUBYLIB = -L$(RUBY)/lib -l$(RUBY_INSTALL_NAME)
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- endif # RUBY
3ef2ca
- 
3ef2ca
- # See feature.h for a list of options.
3ef2ca
- # Any other defines can be included here.
3ef2ca
- DEF_GUI=-DFEAT_GUI_W32 -DFEAT_CLIPBOARD
3ef2ca
- DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
3ef2ca
- 	-DHAVE_PATHDEF -DFEAT_$(FEATURES)
3ef2ca
- ifeq ($(ARCH),x86-64)
3ef2ca
- DEFINES+=-DMS_WIN64
3ef2ca
- endif
3ef2ca
- ifeq ($(CROSS),yes)
3ef2ca
- # cross-compiler prefix:
3ef2ca
- CROSS_COMPILE = i586-pc-mingw32msvc-
3ef2ca
- DEL = rm
3ef2ca
- MKDIR = mkdir -p
3ef2ca
- DIRSLASH = /
3ef2ca
- else
3ef2ca
- # normal (Windows) compilation:
3ef2ca
- CROSS_COMPILE =
3ef2ca
- ifneq (sh.exe, $(SHELL))
3ef2ca
- DEL = rm
3ef2ca
- MKDIR = mkdir -p
3ef2ca
- DIRSLASH = /
3ef2ca
- else
3ef2ca
- DEL = del
3ef2ca
- MKDIR = mkdir
3ef2ca
- DIRSLASH = \\
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- CC := $(CROSS_COMPILE)gcc
3ef2ca
- WINDRES := $(CROSS_COMPILE)windres
3ef2ca
- WINDRES_CC = $(CC)
3ef2ca
- 
3ef2ca
- #>>>>> end of choices
3ef2ca
- ###########################################################################
3ef2ca
- 
3ef2ca
- CFLAGS = -Iproto $(DEFINES) -pipe -w -march=$(ARCH) -Wall
3ef2ca
- WINDRES_FLAGS = --preprocessor="$(WINDRES_CC) -E -xc" -DRC_INVOKED
3ef2ca
- EXTRA_LIBS =
3ef2ca
- 
3ef2ca
- ifdef GETTEXT
3ef2ca
- DEFINES += -DHAVE_GETTEXT -DHAVE_LOCALE_H
3ef2ca
- GETTEXTINCLUDE = $(GETTEXT)/include
3ef2ca
- GETTEXTLIB = $(INTLPATH)
3ef2ca
- ifeq (yes, $(GETTEXT))
3ef2ca
- DEFINES += -DDYNAMIC_GETTEXT
3ef2ca
- else
3ef2ca
- ifdef DYNAMIC_GETTEXT
3ef2ca
- DEFINES += -D$(DYNAMIC_GETTEXT)
3ef2ca
- ifdef GETTEXT_DYNAMIC
3ef2ca
- DEFINES += -DGETTEXT_DYNAMIC -DGETTEXT_DLL=\"$(GETTEXT_DYNAMIC)\"
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef PERL
3ef2ca
- CFLAGS += -I$(PERLLIBS) -DFEAT_PERL
3ef2ca
- ifeq (yes, $(DYNAMIC_PERL))
3ef2ca
- CFLAGS += -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"perl$(PERL_VER).dll\"
3ef2ca
- EXTRA_LIBS += -L$(PERLLIBS) -lperl$(PERL_VER)
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef LUA
3ef2ca
- CFLAGS += -I$(LUA)/include -DFEAT_LUA
3ef2ca
- ifeq (yes, $(DYNAMIC_LUA))
3ef2ca
- CFLAGS += -DDYNAMIC_LUA -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\"
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef MZSCHEME
3ef2ca
- CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
3ef2ca
- ifeq (yes, $(DYNAMIC_MZSCHEME))
3ef2ca
- CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
3ef2ca
- endif
3ef2ca
- ifeq (yes, "$(MZSCHEME_DEBUG)")
3ef2ca
- CFLAGS += -DMZSCHEME_FORCE_GC
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef RUBY
3ef2ca
- CFLAGS += -DFEAT_RUBY $(RUBYINC)
3ef2ca
- ifeq (yes, $(DYNAMIC_RUBY))
3ef2ca
- CFLAGS += -DDYNAMIC_RUBY -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\"
3ef2ca
- CFLAGS += -DDYNAMIC_RUBY_VER=$(RUBY_VER)
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef PYTHON
3ef2ca
- CFLAGS += -DFEAT_PYTHON 
3ef2ca
- ifeq (yes, $(DYNAMIC_PYTHON))
3ef2ca
- CFLAGS += -DDYNAMIC_PYTHON
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef PYTHON3 
3ef2ca
- CFLAGS += -DFEAT_PYTHON3 
3ef2ca
- ifeq (yes, $(DYNAMIC_PYTHON3))
3ef2ca
- CFLAGS += -DDYNAMIC_PYTHON3 
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef TCL
3ef2ca
- CFLAGS += -DFEAT_TCL $(TCLINC)
3ef2ca
- ifeq (yes, $(DYNAMIC_TCL))
3ef2ca
- CFLAGS += -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"tcl$(TCL_VER).dll\"
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq ($(POSTSCRIPT),yes)
3ef2ca
- DEFINES += -DMSWINPS
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq (yes, $(OLE))
3ef2ca
- DEFINES += -DFEAT_OLE
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq ($(CSCOPE),yes)
3ef2ca
- DEFINES += -DFEAT_CSCOPE
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq ($(NETBEANS),yes)
3ef2ca
- # Only allow NETBEANS for a GUI build.
3ef2ca
- ifeq (yes, $(GUI))
3ef2ca
- DEFINES += -DFEAT_NETBEANS_INTG
3ef2ca
- 
3ef2ca
- ifeq ($(NBDEBUG), yes)
3ef2ca
- DEFINES += -DNBDEBUG
3ef2ca
- NBDEBUG_INCL = nbdebug.h
3ef2ca
- NBDEBUG_SRC = nbdebug.c
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- # DirectWrite (DirectX)
3ef2ca
- ifeq ($(DIRECTX),yes)
3ef2ca
- # Only allow DirectWrite for a GUI build.
3ef2ca
- ifeq (yes, $(GUI))
3ef2ca
- DEFINES += -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- # Only allow XPM for a GUI build.
3ef2ca
- ifeq (yes, $(GUI))
3ef2ca
- 
3ef2ca
- ifndef XPM
3ef2ca
- ifeq ($(ARCH),i386)
3ef2ca
- XPM = xpm/x86
3ef2ca
- endif
3ef2ca
- ifeq ($(ARCH),i486)
3ef2ca
- XPM = xpm/x86
3ef2ca
- endif
3ef2ca
- ifeq ($(ARCH),i586)
3ef2ca
- XPM = xpm/x86
3ef2ca
- endif
3ef2ca
- ifeq ($(ARCH),i686)
3ef2ca
- XPM = xpm/x86
3ef2ca
- endif
3ef2ca
- ifeq ($(ARCH),x86-64)
3ef2ca
- XPM = xpm/x64
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- ifdef XPM
3ef2ca
- ifneq ($(XPM),no)
3ef2ca
- CFLAGS += -DFEAT_XPM_W32 -I $(XPM)/include -I $(XPM)/../include
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq ($(DEBUG),yes)
3ef2ca
- CFLAGS += -g -fstack-check
3ef2ca
- DEBUG_SUFFIX=d
3ef2ca
- else
3ef2ca
- ifeq ($(OPTIMIZE), SIZE)
3ef2ca
- CFLAGS += -Os
3ef2ca
- else
3ef2ca
- ifeq ($(OPTIMIZE), MAXSPEED)
3ef2ca
- CFLAGS += -O3
3ef2ca
- CFLAGS += -fomit-frame-pointer -freg-struct-return
3ef2ca
- else  # SPEED
3ef2ca
- CFLAGS += -O2
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- CFLAGS += -s
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
3ef2ca
- GUIOBJ =  $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
3ef2ca
- OBJ = \
3ef2ca
- 	$(OUTDIR)/blowfish.o \
3ef2ca
- 	$(OUTDIR)/buffer.o \
3ef2ca
- 	$(OUTDIR)/charset.o \
3ef2ca
- 	$(OUTDIR)/crypt.o \
3ef2ca
- 	$(OUTDIR)/crypt_zip.o \
3ef2ca
- 	$(OUTDIR)/diff.o \
3ef2ca
- 	$(OUTDIR)/digraph.o \
3ef2ca
- 	$(OUTDIR)/edit.o \
3ef2ca
- 	$(OUTDIR)/eval.o \
3ef2ca
- 	$(OUTDIR)/ex_cmds.o \
3ef2ca
- 	$(OUTDIR)/ex_cmds2.o \
3ef2ca
- 	$(OUTDIR)/ex_docmd.o \
3ef2ca
- 	$(OUTDIR)/ex_eval.o \
3ef2ca
- 	$(OUTDIR)/ex_getln.o \
3ef2ca
- 	$(OUTDIR)/fileio.o \
3ef2ca
- 	$(OUTDIR)/fold.o \
3ef2ca
- 	$(OUTDIR)/getchar.o \
3ef2ca
- 	$(OUTDIR)/hardcopy.o \
3ef2ca
- 	$(OUTDIR)/hashtab.o \
3ef2ca
- 	$(OUTDIR)/main.o \
3ef2ca
- 	$(OUTDIR)/mark.o \
3ef2ca
- 	$(OUTDIR)/memfile.o \
3ef2ca
- 	$(OUTDIR)/memline.o \
3ef2ca
- 	$(OUTDIR)/menu.o \
3ef2ca
- 	$(OUTDIR)/message.o \
3ef2ca
- 	$(OUTDIR)/misc1.o \
3ef2ca
- 	$(OUTDIR)/misc2.o \
3ef2ca
- 	$(OUTDIR)/move.o \
3ef2ca
- 	$(OUTDIR)/mbyte.o \
3ef2ca
- 	$(OUTDIR)/normal.o \
3ef2ca
- 	$(OUTDIR)/ops.o \
3ef2ca
- 	$(OUTDIR)/option.o \
3ef2ca
- 	$(OUTDIR)/os_win32.o \
3ef2ca
- 	$(OUTDIR)/os_mswin.o \
3ef2ca
- 	$(OUTDIR)/winclip.o \
3ef2ca
- 	$(OUTDIR)/pathdef.o \
3ef2ca
- 	$(OUTDIR)/popupmnu.o \
3ef2ca
- 	$(OUTDIR)/quickfix.o \
3ef2ca
- 	$(OUTDIR)/regexp.o \
3ef2ca
- 	$(OUTDIR)/screen.o \
3ef2ca
- 	$(OUTDIR)/search.o \
3ef2ca
- 	$(OUTDIR)/sha256.o \
3ef2ca
- 	$(OUTDIR)/spell.o \
3ef2ca
- 	$(OUTDIR)/syntax.o \
3ef2ca
- 	$(OUTDIR)/tag.o \
3ef2ca
- 	$(OUTDIR)/term.o \
3ef2ca
- 	$(OUTDIR)/ui.o \
3ef2ca
- 	$(OUTDIR)/undo.o \
3ef2ca
- 	$(OUTDIR)/version.o \
3ef2ca
- 	$(OUTDIR)/vimrc.o \
3ef2ca
- 	$(OUTDIR)/window.o
3ef2ca
- 
3ef2ca
- ifdef PERL
3ef2ca
- OBJ += $(OUTDIR)/if_perl.o
3ef2ca
- endif
3ef2ca
- ifdef LUA
3ef2ca
- OBJ += $(OUTDIR)/if_lua.o
3ef2ca
- endif
3ef2ca
- ifdef MZSCHEME
3ef2ca
- OBJ += $(OUTDIR)/if_mzsch.o
3ef2ca
- MZSCHEME_INCL = if_mzsch.h
3ef2ca
- ifeq (yes,$(MZSCHEME_GENERATE_BASE))
3ef2ca
- CFLAGS += -DINCLUDE_MZSCHEME_BASE
3ef2ca
- MZ_EXTRA_DEP += mzscheme_base.c
3ef2ca
- endif
3ef2ca
- ifeq (yes,$(MZSCHEME_PRECISE_GC))
3ef2ca
- CFLAGS += -DMZ_PRECISE_GC
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- ifdef PYTHON
3ef2ca
- OBJ += $(OUTDIR)/if_python.o
3ef2ca
- endif
3ef2ca
- ifdef PYTHON3
3ef2ca
- OBJ += $(OUTDIR)/if_python3.o
3ef2ca
- endif
3ef2ca
- ifdef RUBY
3ef2ca
- OBJ += $(OUTDIR)/if_ruby.o
3ef2ca
- endif
3ef2ca
- ifdef TCL
3ef2ca
- OBJ += $(OUTDIR)/if_tcl.o
3ef2ca
- endif
3ef2ca
- ifeq ($(CSCOPE),yes)
3ef2ca
- OBJ += $(OUTDIR)/if_cscope.o
3ef2ca
- endif
3ef2ca
- ifeq ($(NETBEANS),yes)
3ef2ca
- # Only allow NETBEANS for a GUI build.
3ef2ca
- ifeq (yes, $(GUI))
3ef2ca
- OBJ += $(OUTDIR)/netbeans.o
3ef2ca
- LIB += -lwsock32
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- ifeq ($(DIRECTX),yes)
3ef2ca
- # Only allow DIRECTX for a GUI build.
3ef2ca
- ifeq (yes, $(GUI))
3ef2ca
- OBJ += $(OUTDIR)/gui_dwrite.o
3ef2ca
- LIB += -ld2d1 -ldwrite
3ef2ca
- USE_STDCPLUS = yes
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- ifneq ($(XPM),no)
3ef2ca
- # Only allow XPM for a GUI build.
3ef2ca
- ifeq (yes, $(GUI))
3ef2ca
- OBJ += $(OUTDIR)/xpm_w32.o
3ef2ca
- # You'll need libXpm.a from http://gnuwin32.sf.net
3ef2ca
- LIB += -L$(XPM)/lib -lXpm
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- 
3ef2ca
- ifdef MZSCHEME
3ef2ca
- MZSCHEME_SUFFIX = Z
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq ($(GUI),yes)
3ef2ca
- TARGET := gvim$(DEBUG_SUFFIX).exe
3ef2ca
- DEFINES += $(DEF_GUI)
3ef2ca
- OBJ += $(GUIOBJ)
3ef2ca
- LFLAGS += -mwindows
3ef2ca
- OUTDIR = gobj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
3ef2ca
- else
3ef2ca
- TARGET := vim$(DEBUG_SUFFIX).exe
3ef2ca
- OUTDIR = obj$(DEBUG_SUFFIX)$(MZSCHEME_SUFFIX)$(ARCH)
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef GETTEXT
3ef2ca
- ifneq (yes, $(GETTEXT))
3ef2ca
- CFLAGS += -I$(GETTEXTINCLUDE)
3ef2ca
- ifndef STATIC_GETTEXT
3ef2ca
- LIB += -L$(GETTEXTLIB) -l$(INTLLIB)
3ef2ca
- ifeq (USE_SAFE_GETTEXT_DLL, $(DYNAMIC_GETTEXT))
3ef2ca
- OBJ+=$(SAFE_GETTEXT_DLL_OBJ)
3ef2ca
- endif
3ef2ca
- else
3ef2ca
- LIB += -L$(GETTEXTLIB) -lintl
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef PERL
3ef2ca
- ifeq (no, $(DYNAMIC_PERL))
3ef2ca
- LIB += -L$(PERLLIBS) -lperl$(PERL_VER)
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef TCL
3ef2ca
- LIB += -L$(TCL)/lib
3ef2ca
- ifeq (yes, $(DYNAMIC_TCL))
3ef2ca
- LIB += -ltclstub$(TCL_VER)
3ef2ca
- else
3ef2ca
- LIB += -ltcl$(TCL_VER)
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq (yes, $(OLE))
3ef2ca
- LIB += -loleaut32
3ef2ca
- OBJ += $(OUTDIR)/if_ole.o
3ef2ca
- USE_STDCPLUS = yes
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq (yes, $(MBYTE))
3ef2ca
- DEFINES += -DFEAT_MBYTE
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq (yes, $(IME))
3ef2ca
- DEFINES += -DFEAT_MBYTE_IME
3ef2ca
- ifeq (yes, $(DYNAMIC_IME))
3ef2ca
- DEFINES += -DDYNAMIC_IME
3ef2ca
- else
3ef2ca
- LIB += -limm32
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifdef ICONV
3ef2ca
- ifneq (yes, $(ICONV))
3ef2ca
- LIB += -L$(ICONV)
3ef2ca
- CFLAGS += -I$(ICONV)
3ef2ca
- endif
3ef2ca
- DEFINES+=-DDYNAMIC_ICONV
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- ifeq (yes, $(USE_STDCPLUS))
3ef2ca
- ifeq (yes, $(STATIC_STDCPLUS))
3ef2ca
- LIB += -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
3ef2ca
- else
3ef2ca
- LIB += -lstdc++
3ef2ca
- endif
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- all: $(TARGET) vimrun.exe xxd/xxd.exe install.exe uninstal.exe GvimExt/gvimext.dll
3ef2ca
- 
3ef2ca
- vimrun.exe: vimrun.c
3ef2ca
- 	$(CC) $(CFLAGS) -o vimrun.exe vimrun.c $(LIB)
3ef2ca
- 
3ef2ca
- install.exe: dosinst.c
3ef2ca
- 	$(CC) $(CFLAGS) -o install.exe dosinst.c $(LIB) -lole32 -luuid
3ef2ca
- 
3ef2ca
- uninstal.exe: uninstal.c
3ef2ca
- 	$(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
3ef2ca
- 
3ef2ca
- $(TARGET): $(OUTDIR) $(OBJ)
3ef2ca
- 	$(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
3ef2ca
- 
3ef2ca
- upx: exes
3ef2ca
- 	upx gvim.exe
3ef2ca
- 	upx vim.exe
3ef2ca
- 
3ef2ca
- mpress: exes
3ef2ca
- 	mpress gvim.exe
3ef2ca
- 	mpress vim.exe
3ef2ca
- 
3ef2ca
- xxd/xxd.exe: xxd/xxd.c
3ef2ca
- 	$(MAKE) -C xxd -f Make_ming.mak CC=$(CC)
3ef2ca
- 
3ef2ca
- GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
3ef2ca
- 	$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE)
3ef2ca
- 
3ef2ca
- clean:
3ef2ca
- 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
3ef2ca
- 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.res
3ef2ca
- 	-rmdir $(OUTDIR)
3ef2ca
- 	-$(DEL) *.exe
3ef2ca
- 	-$(DEL) pathdef.c
3ef2ca
- ifdef PERL
3ef2ca
- 	-$(DEL) if_perl.c
3ef2ca
- endif
3ef2ca
- ifdef MZSCHEME
3ef2ca
- 	-$(DEL) mzscheme_base.c
3ef2ca
- endif
3ef2ca
- 	$(MAKE) -C GvimExt -f Make_ming.mak clean
3ef2ca
- 	$(MAKE) -C xxd -f Make_ming.mak clean
3ef2ca
- 
3ef2ca
- ###########################################################################
3ef2ca
- INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
3ef2ca
- 	structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
3ef2ca
- 	gui.h
3ef2ca
- 
3ef2ca
- $(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
3ef2ca
- 	$(CC) -c $(CFLAGS) $(PYTHONINC) -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" $< -o $@
3ef2ca
- 
3ef2ca
- $(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
3ef2ca
- 	$(CC) -c $(CFLAGS) $(PYTHON3INC) -DDYNAMIC_PYTHON3_DLL=\"PYTHON$(PYTHON3_VER).dll\" $< -o $@
3ef2ca
- 
3ef2ca
- $(OUTDIR)/%.o : %.c $(INCL)
3ef2ca
- 	$(CC) -c $(CFLAGS) $< -o $@
3ef2ca
- 
3ef2ca
- $(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
3ef2ca
- 	$(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
3ef2ca
- 	    --input-format=rc --output-format=coff -i vim.rc -o $@
3ef2ca
- 
3ef2ca
- $(OUTDIR):
3ef2ca
- 	$(MKDIR) $(OUTDIR)
3ef2ca
- 
3ef2ca
- $(OUTDIR)/ex_docmd.o:	ex_docmd.c $(INCL) ex_cmds.h
3ef2ca
- 	$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
3ef2ca
- 
3ef2ca
- $(OUTDIR)/ex_eval.o:	ex_eval.c $(INCL) ex_cmds.h
3ef2ca
- 	$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
3ef2ca
- 
3ef2ca
- $(OUTDIR)/gui_w32.o:	gui_w32.c gui_w48.c $(INCL)
3ef2ca
- 	$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
3ef2ca
- 
3ef2ca
- $(OUTDIR)/gui_dwrite.o:	gui_dwrite.cpp $(INCL) gui_dwrite.h
3ef2ca
- 	$(CC) -c $(CFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
3ef2ca
- 
3ef2ca
- $(OUTDIR)/if_cscope.o:	if_cscope.c $(INCL) if_cscope.h
3ef2ca
- 	$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
3ef2ca
- 
3ef2ca
- # Remove -D__IID_DEFINED__ for newer versions of the w32api
3ef2ca
- $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
3ef2ca
- 	$(CC) $(CFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
3ef2ca
- 
3ef2ca
- $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
3ef2ca
- ifeq (16, $(RUBY))
3ef2ca
- 	$(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
3ef2ca
- endif
3ef2ca
- 
3ef2ca
- if_perl.c: if_perl.xs typemap
3ef2ca
- 	$(XSUBPP) -prototypes -typemap \
3ef2ca
- 	     $(PERLLIB)/ExtUtils/typemap if_perl.xs > $@
3ef2ca
- 
3ef2ca
- $(OUTDIR)/netbeans.o:	netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
3ef2ca
- 	$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
3ef2ca
- 
3ef2ca
- $(OUTDIR)/regexp.o:		regexp.c regexp_nfa.c $(INCL)
3ef2ca
- 	$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
3ef2ca
- 
3ef2ca
- $(OUTDIR)/if_mzsch.o:	if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
3ef2ca
- 	$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
3ef2ca
  
3ef2ca
- mzscheme_base.c:
3ef2ca
- 	$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
3ef2ca
  
3ef2ca
! pathdef.c: $(INCL)
3ef2ca
! ifneq (sh.exe, $(SHELL))
3ef2ca
! 	@echo creating pathdef.c
3ef2ca
! 	@echo '/* pathdef.c */' > pathdef.c
3ef2ca
! 	@echo '#include "vim.h"' >> pathdef.c
3ef2ca
! 	@echo 'char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *compiled_user = (char_u *)"$(USERNAME)";' >> pathdef.c
3ef2ca
! 	@echo 'char_u *compiled_sys = (char_u *)"$(USERDOMAIN)";' >> pathdef.c
3ef2ca
! else
3ef2ca
! 	@echo creating pathdef.c
3ef2ca
! 	@echo /* pathdef.c */ > pathdef.c
3ef2ca
! 	@echo #include "vim.h" >> pathdef.c
3ef2ca
! 	@echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC)"; >> pathdef.c
3ef2ca
! 	@echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR)"; >> pathdef.c
3ef2ca
! 	@echo char_u *all_cflags = (char_u *)"$(CC) $(CFLAGS)"; >> pathdef.c
3ef2ca
! 	@echo char_u *all_lflags = (char_u *)"$(CC) $(CFLAGS) $(LFLAGS) -o $(TARGET) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)"; >> pathdef.c
3ef2ca
! 	@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
3ef2ca
! 	@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
3ef2ca
! endif
3ef2ca
--- 34,49 ----
3ef2ca
  # on my NT box, it's here:
3ef2ca
  #PYTHON=c:/python20
3ef2ca
  
3ef2ca
! # uncomment 'PYTHON3' if you want a python3-enabled version
3ef2ca
! #PYTHON3=c:/python31
3ef2ca
  
3ef2ca
! # uncomment 'TCL' if you want a Tcl-enabled version
3ef2ca
  #TCL=c:/tcl
3ef2ca
  
3ef2ca
! # uncomment 'RUBY' if you want a Ruby-enabled version
3ef2ca
  #RUBY=c:/ruby
3ef2ca
  
3ef2ca
  
3ef2ca
! # Do not change this.
3ef2ca
! UNDER_CYGWIN = no
3ef2ca
! include Make_cyg_ming.mak
3ef2ca
*** ../vim-7.4.495/src/Make_mvc.mak	2014-08-22 18:12:53.995244049 +0200
3ef2ca
--- src/Make_mvc.mak	2014-11-05 13:49:27.080811946 +0100
3ef2ca
***************
3ef2ca
*** 50,62 ****
3ef2ca
  #	Perl interface:
3ef2ca
  #	  PERL=[Path to Perl directory]
3ef2ca
  #	  DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
3ef2ca
! #	  PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x), etc]
3ef2ca
  #	  (default is 56)
3ef2ca
  #
3ef2ca
  #	Python interface:
3ef2ca
  #	  PYTHON=[Path to Python directory]
3ef2ca
  #	  DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
3ef2ca
! #	  PYTHON_VER=[Python version, eg 15, 20]  (default is 22)
3ef2ca
  #
3ef2ca
  #	Python3 interface:
3ef2ca
  #	  PYTHON3=[Path to Python3 directory]
3ef2ca
--- 50,63 ----
3ef2ca
  #	Perl interface:
3ef2ca
  #	  PERL=[Path to Perl directory]
3ef2ca
  #	  DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
3ef2ca
! #	  PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x),
3ef2ca
! #		    510 (5.10.x), etc]
3ef2ca
  #	  (default is 56)
3ef2ca
  #
3ef2ca
  #	Python interface:
3ef2ca
  #	  PYTHON=[Path to Python directory]
3ef2ca
  #	  DYNAMIC_PYTHON=yes (to load the Python DLL dynamically)
3ef2ca
! #	  PYTHON_VER=[Python version, eg 22, 23, ..., 27]  (default is 22)
3ef2ca
  #
3ef2ca
  #	Python3 interface:
3ef2ca
  #	  PYTHON3=[Path to Python3 directory]
3ef2ca
***************
3ef2ca
*** 66,76 ****
3ef2ca
  #	Ruby interface:
3ef2ca
  #	  RUBY=[Path to Ruby directory]
3ef2ca
  #	  DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
3ef2ca
! #	  RUBY_VER=[Ruby version, eg 16, 17] (default is 18)
3ef2ca
! #	  RUBY_VER_LONG=[Ruby version, eg 1.6, 1.7] (default is 1.8)
3ef2ca
  #	    You must set RUBY_VER_LONG when change RUBY_VER.
3ef2ca
! #	    You must set RUBY_API_VER to RUBY_VER_LONG.
3ef2ca
! #	    Don't set ruby API version to RUBY_VER like 191.
3ef2ca
  #
3ef2ca
  #	Tcl interface:
3ef2ca
  #	  TCL=[Path to Tcl directory]
3ef2ca
--- 67,79 ----
3ef2ca
  #	Ruby interface:
3ef2ca
  #	  RUBY=[Path to Ruby directory]
3ef2ca
  #	  DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically)
3ef2ca
! #	  RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18)
3ef2ca
! #	  RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8)
3ef2ca
  #	    You must set RUBY_VER_LONG when change RUBY_VER.
3ef2ca
! #	    RUBY_API_VER is derived from RUBY_VER_LONG.
3ef2ca
! #	    Note: If you use Ruby 1.9.3, set as follows:
3ef2ca
! #	      RUBY_VER=19
3ef2ca
! #	      RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.)
3ef2ca
  #
3ef2ca
  #	Tcl interface:
3ef2ca
  #	  TCL=[Path to Tcl directory]
3ef2ca
*** ../vim-7.4.495/Filelist	2014-08-29 15:12:50.950447798 +0200
3ef2ca
--- Filelist	2014-11-05 13:52:11.840807976 +0100
3ef2ca
***************
3ef2ca
*** 277,282 ****
3ef2ca
--- 277,283 ----
3ef2ca
  		src/Make_bc3.mak \
3ef2ca
  		src/Make_bc5.mak \
3ef2ca
  		src/Make_cyg.mak \
3ef2ca
+ 		src/Make_cyg_ming.mak \
3ef2ca
  		src/Make_djg.mak \
3ef2ca
  		src/Make_ivc.mak \
3ef2ca
  		src/Make_dvc.mak \
3ef2ca
*** ../vim-7.4.495/src/version.c	2014-11-05 13:43:18.352820831 +0100
3ef2ca
--- src/version.c	2014-11-05 13:51:22.216809171 +0100
3ef2ca
***************
3ef2ca
*** 743,744 ****
3ef2ca
--- 743,746 ----
3ef2ca
  {   /* Add new patch number below this line */
3ef2ca
+ /**/
3ef2ca
+     496,
3ef2ca
  /**/
3ef2ca
3ef2ca
-- 
3ef2ca
ARTHUR:        What?
3ef2ca
BLACK KNIGHT:  None shall pass.
3ef2ca
ARTHUR:        I have no quarrel with you, good Sir knight, but I must cross
3ef2ca
               this bridge.
3ef2ca
BLACK KNIGHT:  Then you shall die.
3ef2ca
                                  The Quest for the Holy Grail (Monty Python)
3ef2ca
3ef2ca
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
3ef2ca
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
3ef2ca
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
3ef2ca
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///