diff --git a/src/Make_ivc.mak b/src/Make_ivc.mak
new file mode 100644
index 0000000..94a1530
--- /dev/null
+++ b/src/Make_ivc.mak
@@ -0,0 +1,648 @@
+# Microsoft Developer Studio Generated NMAKE File, Format Version 4.00
+# ** DO NOT EDIT **
+#
+# Make_ivc.mak Makefile to build vim in both IDE and nmake.
+# This file can be imported as a workspace into Visual Studio.  It must be in
+# DOS fileformat then!
+#
+# It is worth making the file read-only as the VC4 IDE will try to overwrite
+# it with a HUGELY expanded clone of itself.
+#
+# The following points are worth noting:
+# 1) Comments here are ignored by VC[456].0 IDEs
+# 2) # ADD LINK32 /pdb:.\Dbg/vimd.pdb is written so rather than
+#    # ADD LINK32 /pdb:".\Dbg/vimd.pdb" to avoid VC4 -> VC5 conversion failure
+# 3) It is good to delete .pdb file before linking to cope with switch among
+#    VC[456] as IDE clean action does not remove that file and link clashes
+#    with it. The following works in VC5 but not in VC4 which does not support
+#    pre-link actions. The nmake action does such deletions.
+# Begin Special Build Tool
+PreLink_Cmds=@if exist .\oleDbg\gvimd.pdb del .\oleDbg\gvimd.pdb
+# End Special Build Tool
+# 4) I was unable to make !IFDEF OLE, etc. work in the VC4 IDE.
+#    I was aiming for 4 configurations with sub-configurations selected by
+#    environment variables.
+# 5) Optimisation is not supported by disabled versions of VC. This results in
+#    messages for Release builds like:
+#      Command line warning D4025 : overriding '/O2' with '/Od'
+# 6) nmake 1.62 and later support batch compilation. I was unable to use this
+#    in a manner acceptable to earlier IDEs.
+#
+# History
+#
+# When       Who       What
+# 2001-07-06 W.Briscoe Original derived from Make_[go]vc.mak with less noise
+# 2001-07-08 W.Briscoe Further noise reduction; consistent .map and .pdb logic
+#		       Added install.exe rule, etc.; Removed unused libraries.
+# 2001-08-09 W.Briscoe Restored VC4.0-required trailing space in !MESSAGE afore
+#		       Enhanced if_ole.idl rule to use /out argument.
+#		       Default rules now relative to . to reduce IDE/nmake difs
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+!IF "$(CFG)" == ""
+CFG=Vim - Win32 Release gvim OLE
+!MESSAGE No configuration specified.  Defaulting to Vim - Win32 Release gvim OLE.
+!ENDIF
+
+!IF "$(CFG)" != "Vim - Win32 Release gvim OLE"\
+ && "$(CFG)" != "Vim - Win32 Debug gvim OLE"\
+ && "$(CFG)" != "Vim - Win32 Release gvim"\
+ && "$(CFG)" != "Vim - Win32 Debug gvim"\
+ && "$(CFG)" != "Vim - Win32 Release vim"\
+ && "$(CFG)" != "Vim - Win32 Debug vim"
+!MESSAGE Invalid configuration "$(CFG)" specified.
+!MESSAGE You can specify a configuration when running NMAKE on this makefile
+!MESSAGE by defining the macro CFG on the command line.  For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Make_ivc.mak" CFG="Vim - Win32 Debug vim"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Vim - Win32 Release gvim OLE" (based on "Win32 (x86) Console Application")
+!MESSAGE "Vim - Win32 Debug gvim OLE"   (based on "Win32 (x86) Console Application")
+!MESSAGE "Vim - Win32 Release gvim"     (based on "Win32 (x86) Console Application")
+!MESSAGE "Vim - Win32 Debug gvim"       (based on "Win32 (x86) Console Application")
+!MESSAGE "Vim - Win32 Release vim"      (based on "Win32 (x86) Console Application")
+!MESSAGE "Vim - Win32 Debug vim"        (based on "Win32 (x86) Console Application")
+!MESSAGE 
+!ERROR An invalid configuration is specified.
+!ENDIF
+
+!IF "$(OS)" == "Windows_NT"
+NULL=
+DEL_TREE = rmdir /s /q
+!ELSE
+NULL=nul
+DEL_TREE = deltree /y
+!ENDIF
+
+# Begin Project
+# PROP Target_Last_Scanned "Vim - Win32 Debug vim"
+# PROP Use_MFC 0
+
+RSC=rc.exe
+CPP=cl.exe
+LINK32=link.exe
+
+CPP_PROJ= /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c
+# ADD CPP /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c
+
+LINK32_FLAGS= oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib comctl32.lib advapi32.lib shell32.lib ole32.lib uuid.lib /nologo /machine:I386 /nodefaultlib
+# ADD LINK32  oldnames.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib comctl32.lib advapi32.lib shell32.lib ole32.lib uuid.lib /nologo /machine:I386 /nodefaultlib
+# SUBTRACT LINK32 /incremental:yes
+
+RSC_PROJ= /l 0x409 /d "FEAT_GUI_W32"
+# ADD RSC /l 0x409 /d "FEAT_GUI_W32"
+
+!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
+
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir .\oleRel
+# PROP Intermediate_Dir .\oleRel
+
+INTDIR=.\oleRel
+VIM=gvim
+EXTRAS="$(INTDIR)/if_ole.obj" "$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/os_w32exe.obj"
+
+CPP_PROJ=$(CPP_PROJ) /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
+# ADD CPP            /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/
+
+RSC_PROJ=$(RSC_PROJ) /I ".\oleRel" /d "NDEBUG" /d "FEAT_OLE" /fo.\oleRel\vim.res
+# ADD RSC            /I ".\oleRel" /d "NDEBUG" /d "FEAT_OLE" /fo.\oleRel\vim.res
+
+LINK32_FLAGS=$(LINK32_FLAGS) /pdb:none libc.lib oleaut32.lib /subsystem:windows /out:.\gvim.exe
+# ADD LINK32                 /pdb:none libc.lib oleaut32.lib /subsystem:windows /out:.\gvim.exe
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
+
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir .\oleDbg
+# PROP Intermediate_Dir .\oleDbg
+
+INTDIR=.\oleDbg
+VIM=gvimd
+EXTRAS="$(INTDIR)/if_ole.obj" "$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/os_w32exe.obj"
+
+CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
+# ADD CPP            /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /D "DYNAMIC_GETTEXT" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/
+
+RSC_PROJ=$(RSC_PROJ) /I .\oleDbg /d "_DEBUG" /d "FEAT_OLE" /fo.\oleDbg\vim.res
+# ADD RSC            /I .\oleDbg /d "_DEBUG" /d "FEAT_OLE" /fo.\oleDbg\vim.res
+
+LINK32_FLAGS=$(LINK32_FLAGS) libcd.lib oleaut32.lib /subsystem:windows /debug /profile /pdb:.\oleDbg/gvimd.pdb /map:.\oleDbg\gvimd.map /out:.\gvimd.exe
+# ADD LINK32                 libcd.lib oleaut32.lib /subsystem:windows /debug /profile /pdb:.\oleDbg/gvimd.pdb /map:.\oleDbg\gvimd.map /out:.\gvimd.exe
+
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
+
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir .\gRel
+# PROP Intermediate_Dir .\gRel
+
+INTDIR=.\gRel
+VIM=gvim
+EXTRAS="$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/os_w32exe.obj"
+
+CPP_PROJ=$(CPP_PROJ) /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /Fd.\gRel/ /Fo.\gRel/
+# ADD CPP            /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /Fd.\gRel/ /Fo.\gRel/
+
+RSC_PROJ=$(RSC_PROJ) /d "NDEBUG" /fo.\gRel\vim.res
+# ADD RSC            /d "NDEBUG" /fo.\gRel\vim.res
+
+LINK32_FLAGS=$(LINK32_FLAGS) /pdb:none libc.lib /subsystem:windows /out:.\gvim.exe
+# ADD LINK32                 /pdb:none libc.lib /subsystem:windows /out:.\gvim.exe
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
+
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir .\gDbg
+# PROP Intermediate_Dir .\gDbg
+
+INTDIR=.\gDbg
+VIM=gvimd
+EXTRAS="$(INTDIR)/vim.res" "$(INTDIR)/gui.obj" "$(INTDIR)/gui_w32.obj" "$(INTDIR)/os_w32exe.obj"
+
+CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /Fd.\gDbg/ /Fo.\gDbg/
+# ADD CPP            /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /Fd.\gDbg/ /Fo.\gDbg/
+
+RSC_PROJ=$(RSC_PROJ) /d "_DEBUG" /fo.\gDbg\vim.res
+# ADD RSC            /d "_DEBUG" /fo.\gDbg\vim.res
+
+LINK32_FLAGS=$(LINK32_FLAGS) libcd.lib /subsystem:windows /debug /profile /pdb:.\gDbg/gvimd.pdb /map:.\gDbg\gvimd.map /out:.\gvimd.exe
+# ADD LINK32                 libcd.lib /subsystem:windows /debug /profile /pdb:.\gDbg/gvimd.pdb /map:.\gDbg\gvimd.map /out:.\gvimd.exe
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir .\Rel
+# PROP Intermediate_Dir .\Rel
+
+INTDIR=.\Rel
+VIM=vim
+EXTRAS=
+
+CPP_PROJ=$(CPP_PROJ) /O2 /D "NDEBUG" /Fd.\Rel/ /Fo.\Rel/
+# ADD CPP            /O2 /D "NDEBUG" /Fd.\Rel/ /Fo.\Rel/
+
+LINK32_FLAGS=$(LINK32_FLAGS) /pdb:none libc.lib /subsystem:console /out:.\vim.exe
+# ADD LINK32                 /pdb:none libc.lib /subsystem:console /out:.\vim.exe
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir .\Dbg
+# PROP Intermediate_Dir .\Dbg
+
+INTDIR=.\Dbg
+VIM=vimd
+EXTRAS=
+
+CPP_PROJ=$(CPP_PROJ) /Zi /Od /D "_DEBUG" /Fd.\Dbg/ /Fo.\Dbg/
+# ADD CPP            /Zi /Od /D "_DEBUG" /Fd.\Dbg/ /Fo.\Dbg/
+
+LINK32_FLAGS=$(LINK32_FLAGS) libcd.lib /subsystem:console /debug /profile /pdb:.\Dbg/vimd.pdb /map:.\Dbg/vimd.map /out:.\vimd.exe
+# ADD LINK32                 libcd.lib /subsystem:console /debug /profile /pdb:.\Dbg/vimd.pdb /map:.\Dbg/vimd.map /out:.\vimd.exe
+
+!ENDIF
+
+ALL : .\$(VIM).exe vimrun.exe install.exe uninstal.exe xxd/xxd.exe GvimExt/gvimext.dll
+
+LINK32_OBJS= \
+	$(EXTRAS) \
+	"$(INTDIR)/buffer.obj" \
+	"$(INTDIR)/charset.obj" \
+	"$(INTDIR)/diff.obj" \
+	"$(INTDIR)/digraph.obj" \
+	"$(INTDIR)/edit.obj" \
+	"$(INTDIR)/eval.obj" \
+	"$(INTDIR)/ex_cmds.obj" \
+	"$(INTDIR)/ex_cmds2.obj" \
+	"$(INTDIR)/ex_docmd.obj" \
+	"$(INTDIR)/ex_eval.obj" \
+	"$(INTDIR)/ex_getln.obj" \
+	"$(INTDIR)/fileio.obj" \
+	"$(INTDIR)/fold.obj" \
+	"$(INTDIR)/getchar.obj" \
+	"$(INTDIR)/main.obj" \
+	"$(INTDIR)/mark.obj" \
+	"$(INTDIR)/mbyte.obj" \
+	"$(INTDIR)/memfile.obj" \
+	"$(INTDIR)/memline.obj" \
+	"$(INTDIR)/menu.obj" \
+	"$(INTDIR)/message.obj" \
+	"$(INTDIR)/misc1.obj" \
+	"$(INTDIR)/misc2.obj" \
+	"$(INTDIR)/move.obj" \
+	"$(INTDIR)/normal.obj" \
+	"$(INTDIR)/ops.obj" \
+	"$(INTDIR)/option.obj" \
+	"$(INTDIR)/os_mswin.obj" \
+	"$(INTDIR)/os_win32.obj" \
+	"$(INTDIR)/quickfix.obj" \
+	"$(INTDIR)/regexp.obj" \
+	"$(INTDIR)/screen.obj" \
+	"$(INTDIR)/search.obj" \
+	"$(INTDIR)/syntax.obj" \
+	"$(INTDIR)/tag.obj" \
+	"$(INTDIR)/term.obj" \
+	"$(INTDIR)/ui.obj" \
+	"$(INTDIR)/undo.obj" \
+	"$(INTDIR)/version.obj" \
+	"$(INTDIR)/window.obj"
+
+".\$(VIM).exe" : "$(INTDIR)" $(EXTRAS) $(LINK32_OBJS)
+	@if exist $(INTDIR)\$(VIM).pdb del $(INTDIR)\$(VIM).pdb
+	$(LINK32) $(LINK32_FLAGS) $(LINK32_OBJS)
+
+"$(INTDIR)" :
+	if not exist "$(INTDIR)/$(NULL)" mkdir "$(INTDIR)"
+
+CLEAN :
+	-@if exist "$(INTDIR)/$(NULL)" $(DEL_TREE) "$(INTDIR)"
+	-@if exist $(VIM).exe erase $(VIM).exe
+	-@if exist $(VIM).ilk erase $(VIM).ilk
+	-@if exist $(VIM).map erase $(VIM).map
+	-@if exist $(VIM).pdb erase $(VIM).pdb
+	-@if exist DLLDATA.C erase DLLDATA.C
+	-@if exist Make_ivc.bak attrib -r Make_ivc.bak
+	-@if exist Make_ivc.bak erase Make_ivc.bak
+	-@if exist Make_ivc.dsp erase Make_ivc.dsp
+	-@if exist Make_ivc.dsw erase Make_ivc.dsw
+	-@if exist Make_ivc.mdp erase Make_ivc.mdp
+	-@if exist Make_ivc.ncb erase Make_ivc.ncb
+	-@if exist Make_ivc.opt erase Make_ivc.opt
+	-@if exist Make_ivc.plg erase Make_ivc.plg
+	-@if exist dosinst.obj erase dosinst.obj
+	-@if exist install.exe erase install.exe
+	-@if exist uninstal.exe erase uninstal.exe
+	-@if exist uninstal.obj erase uninstal.obj
+	-@if exist vimrun.exe erase vimrun.exe
+	-@if exist vimrun.obj erase vimrun.obj
+
+
+install.exe: dosinst.c
+	$(CPP) /Fe$@ /nologo /W3 -DNDEBUG -DWIN32 dosinst.c kernel32.lib shell32.lib ole32.lib advapi32.lib uuid.lib
+
+uninstal.exe: uninstal.c
+	$(CPP) /nologo /W3 -DNDEBUG -DWIN32 uninstal.c shell32.lib advapi32.lib
+
+vimrun.exe: vimrun.c
+	$(CPP) /nologo /W3 -DNDEBUG vimrun.c
+
+xxd/xxd.exe: xxd/xxd.c
+	cd xxd
+	$(MAKE) /NOLOGO -f Make_mvc.mak
+	cd ..
+
+GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
+	cd GvimExt
+	$(MAKE) /NOLOGO -f Makefile
+	cd ..
+
+{.}.c{$(INTDIR)/}.obj:
+	$(CPP) $(CPP_PROJ) $<
+
+{.}.cpp{$(INTDIR)/}.obj:
+	$(CPP) $(CPP_PROJ) /I $(INTDIR) $<
+
+{.}.rc{$(INTDIR)/}.res:
+	$(RSC) $(RSC_PROJ) $<
+
+# Begin Target
+
+# Name "Vim - Win32 Release gvim OLE"
+# Name "Vim - Win32 Debug gvim OLE"
+# Name "Vim - Win32 Release gvim"
+# Name "Vim - Win32 Debug gvim"
+# Name "Vim - Win32 Release vim"
+# Name "Vim - Win32 Debug vim"
+
+# Begin Source File
+
+SOURCE=.\buffer.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\charset.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\diff.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\digraph.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\edit.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\eval.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ex_cmds.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ex_cmds2.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ex_docmd.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ex_eval.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ex_getln.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\fileio.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\fold.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\getchar.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\gui.c
+
+!IF      "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\gui_w32.c
+
+!IF      "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_w32exe.c
+
+!IF      "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\if_ole.cpp
+
+!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+
+"$(INTDIR)\if_ole.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
+ cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /O2 /D "NDEBUG" /D "FEAT_GUI_W32" /D "FEAT_OLE" /Fd.\oleRel/ /Fo.\oleRel/ /I ".\oleRel" .\if_ole.cpp
+ @rem This is the default rule with /I "$(IntDir)" added
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+
+"$(INTDIR)\if_ole.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
+ cl.exe /nologo /MT /W3 /GX /I ".\proto" /D "WIN32" /c /Zi /Od /D "_DEBUG" /D "FEAT_GUI_W32" /D "FEAT_OLE" /Fd.\oleDbg/ /Fo.\oleDbg/ /I ".\oleDbg" .\if_ole.cpp
+ @rem This is the default rule with /I "$(IntDir)" added
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\if_ole.idl
+
+!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+
+"$(INTDIR)\if_ole.h" : $(SOURCE) "$(INTDIR)"
+	if exist .\if_ole.h del .\if_ole.h
+	midl /out .\oleRel /iid iid_ole.c /tlb vim.tlb /proxy nul /header if_ole.h .\if_ole.idl
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build
+
+"$(INTDIR)\if_ole.h" : $(SOURCE) "$(INTDIR)"
+	if exist .\if_ole.h del .\if_ole.h
+	midl /out .\oleDbg /iid iid_ole.c /tlb vim.tlb /proxy nul /header if_ole.h .\if_ole.idl
+
+# End Custom Build
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\main.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mark.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mbyte.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\memfile.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\memline.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\menu.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\message.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc1.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\misc2.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\move.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\normal.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ops.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\option.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_mswin.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\os_win32.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\quickfix.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\regexp.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\screen.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\search.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\syntax.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\tag.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\term.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ui.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\undo.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\version.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\vim.rc
+
+!IF  "$(CFG)" == "Vim - Win32 Release gvim OLE"
+
+"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim OLE"
+
+"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\if_ole.h"
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release gvim"
+
+"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)"
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug gvim"
+
+"$(INTDIR)\vim.res" : $(SOURCE) "$(INTDIR)"
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Release vim"
+
+# PROP Exclude_From_Build 1
+
+!ELSEIF  "$(CFG)" == "Vim - Win32 Debug vim"
+
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\window.c
+# End Source File
+# End Target
+# End Project
