2424#
2525# GUI interface: GUI=yes (default is no)
2626#
27+ # GUI with DirectWrite(DirectX): DIRECTX=yes
28+ # (default is no, requires GUI=yes)
29+ #
2730# OLE interface: OLE=yes (usually with GUI=yes)
2831#
2932# Multibyte support: MBYTE=yes (default is no)
@@ -168,6 +171,9 @@ OBJDIR = .\ObjG
168171!else
169172OBJDIR = .\ObjC
170173!endif
174+ !if "$(DIRECTX)" == "yes"
175+ OBJDIR = $(OBJDIR ) X
176+ !endif
171177!if "$(OLE)" == "yes"
172178OBJDIR = $(OBJDIR ) O
173179!endif
@@ -292,6 +298,13 @@ NBDEBUG_SRC = nbdebug.c
292298NETBEANS_LIB = WSock32.lib
293299!endif
294300
301+ # DirectWrite(DirectX)
302+ !if "$(DIRECTX)" == "yes"
303+ DIRECTX_DEFS = -DFEAT_DIRECTX -DDYNAMIC_DIRECTX
304+ DIRECTX_INCL = gui_dwrite.h
305+ DIRECTX_OBJ = $(OUTDIR ) \gui_dwrite.obj
306+ !endif
307+
295308!ifndef XPM
296309# XPM is not set, use the included xpm files, depending on the architecture.
297310!if "$(CPU)" == "AMD64"
@@ -642,6 +655,12 @@ GUI_LIB = \
642655SUBSYSTEM = console
643656!endif
644657
658+ !if "$(GUI)" == "yes" && "$(DIRECTX)" == "yes"
659+ CFLAGS = $(CFLAGS ) $(DIRECTX_DEFS )
660+ GUI_INCL = $(GUI_INCL ) $(DIRECTX_INCL )
661+ GUI_OBJ = $(GUI_OBJ ) $(DIRECTX_OBJ )
662+ !endif
663+
645664# iconv.dll library (dynamically loaded)
646665!ifndef ICONV
647666ICONV = yes
@@ -658,6 +677,14 @@ GETTEXT = yes
658677CFLAGS = $(CFLAGS ) -DDYNAMIC_GETTEXT
659678!endif
660679
680+ #
681+ # Support Migemo
682+ #
683+ !ifdef MIGEMO
684+ !message Migemo supported - will be dynamic linked.
685+ CFLAGS = $(CFLAGS ) -DDYNAMIC_MIGEMO
686+ !endif
687+
661688# TCL interface
662689!ifdef TCL
663690!ifndef TCL_VER
@@ -988,14 +1015,17 @@ install.exe: dosinst.c
9881015
9891016uninstal.exe : uninstal.c
9901017 $(CC ) /nologo -DNDEBUG -DWIN32 uninstal.c shell32.lib advapi32.lib
1018+ IF EXIST $@ .manifest mt -nologo -manifest $@ .manifest -outputresource:$@ ; 1
9911019
9921020vimrun.exe : vimrun.c
9931021 $(CC ) /nologo -DNDEBUG vimrun.c
1022+ IF EXIST $@ .manifest mt -nologo -manifest $@ .manifest -outputresource:$@ ; 1
9941023
9951024xxd/xxd.exe : xxd/xxd.c
9961025 cd xxd
9971026 $(MAKE ) /NOLOGO -f Make_mvc.mak
9981027 cd ..
1028+ IF EXIST $@ .manifest mt -nologo -manifest $@ .manifest -outputresource:$@ ; 1
9991029
10001030GvimExt/gvimext.dll : GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
10011031 cd GvimExt
@@ -1013,6 +1043,7 @@ clean:
10131043 - if exist $( OUTDIR) /nul $( DEL_TREE) $( OUTDIR)
10141044 - if exist * .obj del * .obj
10151045 - if exist $( VIM) .exe del $( VIM) .exe
1046+ - if exist $( VIM) .exe.manifest del $( VIM) .exe.manifest
10161047 - if exist $( VIM) .ilk del $( VIM) .ilk
10171048 - if exist $( VIM) .pdb del $( VIM) .pdb
10181049 - if exist $( VIM) .map del $( VIM) .map
@@ -1107,6 +1138,8 @@ $(OUTDIR)/gui_beval.obj: $(OUTDIR) gui_beval.c $(INCL) $(GUI_INCL)
11071138
11081139$(OUTDIR ) /gui_w32.obj : $(OUTDIR ) gui_w32.c gui_w48.c $(INCL ) $(GUI_INCL )
11091140
1141+ $(OUTDIR ) /gui_dwrite.obj : $(OUTDIR ) gui_dwrite.cpp $(INCL ) $(GUI_INCL )
1142+
11101143$(OUTDIR ) /if_cscope.obj : $(OUTDIR ) if_cscope.c $(INCL )
11111144
11121145$(OUTDIR ) /if_lua.obj : $(OUTDIR ) if_lua.c $(INCL )
@@ -1214,7 +1247,7 @@ $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c
12141247 $(CC ) $(CFLAGS ) $(XPM_INC ) xpm_w32.c
12151248
12161249$(OUTDIR ) /vim.res : $(OUTDIR ) vim.rc gvim.exe.mnf version.h tools.bmp \
1217- tearoff.bmp vim .ico vim_error.ico \
1250+ tearoff.bmp vim2 .ico vim_error.ico \
12181251 vim_alert.ico vim_info.ico vim_quest.ico
12191252 $(RC ) /l 0x409 /Fo$(OUTDIR ) /vim.res $(RCFLAGS ) vim.rc
12201253
0 commit comments