diff src/Make_cyg_ming.mak @ 11782:112427b2de52 v8.0.0773

patch 8.0.0773: mixing 32 and 64 bit libvterm builds fails commit https://github.com/vim/vim/commit/f80451e6fe19b3bbddc45ec047a2f95989ef3531 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 25 21:49:35 2017 +0200 patch 8.0.0773: mixing 32 and 64 bit libvterm builds fails Problem: Mixing 32 and 64 bit libvterm builds fails. Solution: Use OUTDIR. (Ken Takata)
author Christian Brabandt <cb@256bit.org>
date Tue, 25 Jul 2017 22:00:05 +0200
parents edf1a2a247fa
children b9b06aa0b6d9
line wrap: on
line diff
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -561,6 +561,12 @@ endif
 
 ifeq ($(TERMINAL),yes)
 DEFINES += -DFEAT_TERMINAL
+TERM_DEPS = \
+	libvterm/include/vterm.h \
+	libvterm/include/vterm_keycodes.h \
+	libvterm/src/rect.h \
+	libvterm/src/utf8.h \
+	libvterm/src/vterm_internal.h
 endif
 
 # DirectWrite (DirectX)
@@ -750,8 +756,16 @@ endif
 endif
 
 ifeq ($(TERMINAL),yes)
-OBJ += $(OUTDIR)/terminal.o
-VTERM_LIB = libvterm/.libs/libvterm.a
+OBJ += $(OUTDIR)/terminal.o \
+	$(OUTDIR)/term_encoding.o \
+	$(OUTDIR)/term_keyboard.o \
+	$(OUTDIR)/term_mouse.o \
+	$(OUTDIR)/term_parser.o \
+	$(OUTDIR)/term_pen.o \
+	$(OUTDIR)/term_screen.o \
+	$(OUTDIR)/term_state.o \
+	$(OUTDIR)/term_unicode.o \
+	$(OUTDIR)/term_vterm.o
 endif
 
 
@@ -851,7 +865,7 @@ uninstal.exe: uninstal.c
 	$(CC) $(CFLAGS) -o uninstal.exe uninstal.c $(LIB)
 
 $(TARGET): $(OUTDIR) $(OBJ)
-	$(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB) $(VTERM_LIB)
+	$(CC) $(CFLAGS) $(LFLAGS) -o $@ $(OBJ) $(LIB) -lole32 -luuid $(LUA_LIB) $(MZSCHEME_LIBDIR) $(MZSCHEME_LIB) $(PYTHONLIB) $(PYTHON3LIB) $(RUBYLIB)
 
 upx: exes
 	upx gvim.exe
@@ -867,9 +881,6 @@ xxd/xxd.exe: xxd/xxd.c
 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
 	$(MAKE) -C GvimExt -f Make_ming.mak CROSS=$(CROSS) CROSS_COMPILE=$(CROSS_COMPILE) CXX='$(CXX)' STATIC_STDCPLUS=$(STATIC_STDCPLUS)
 
-libvterm/.libs/libvterm.a :
-	cd libvterm && $(MAKE) libvterm.la
-
 clean:
 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.o
 	-$(DEL) $(OUTDIR)$(DIRSLASH)*.res
@@ -907,34 +918,43 @@ CUI_INCL = iscygpty.h
 $(OUTDIR):
 	$(MKDIR) $(OUTDIR)
 
+$(OUTDIR)/channel.o:	channel.c $(INCL)
+	$(CC) -c $(CFLAGS) channel.c -o $(OUTDIR)/channel.o
+
 $(OUTDIR)/ex_docmd.o:	ex_docmd.c $(INCL) ex_cmds.h
 	$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
 
 $(OUTDIR)/ex_eval.o:	ex_eval.c $(INCL) ex_cmds.h
 	$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
 
+$(OUTDIR)/gui_dwrite.o:	gui_dwrite.cpp $(INCL) gui_dwrite.h
+	$(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
+
 $(OUTDIR)/gui_w32.o:	gui_w32.c $(INCL)
 	$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
 
-$(OUTDIR)/gui_dwrite.o:	gui_dwrite.cpp $(INCL) gui_dwrite.h
-	$(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
-
 $(OUTDIR)/if_cscope.o:	if_cscope.c $(INCL) if_cscope.h
 	$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
 
+$(OUTDIR)/if_mzsch.o:	if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
+	$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
+
+mzscheme_base.c:
+	$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
+
 # Remove -D__IID_DEFINED__ for newer versions of the w32api
 $(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
 	$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
 
+if_perl.c: if_perl.xs typemap
+	$(XSUBPP) -prototypes -typemap \
+	     $(PERLTYPEMAP) if_perl.xs -output $@
+
 $(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
 ifeq (16, $(RUBY))
 	$(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
 endif
 
-if_perl.c: if_perl.xs typemap
-	$(XSUBPP) -prototypes -typemap \
-	     $(PERLTYPEMAP) if_perl.xs > $@
-
 $(OUTDIR)/iscygpty.o:	iscygpty.c $(CUI_INCL)
 	$(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
 
@@ -944,17 +964,41 @@ if_perl.c: if_perl.xs typemap
 $(OUTDIR)/netbeans.o:	netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
 	$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
 
-$(OUTDIR)/channel.o:	channel.c $(INCL)
-	$(CC) -c $(CFLAGS) channel.c -o $(OUTDIR)/channel.o
-
 $(OUTDIR)/regexp.o:		regexp.c regexp_nfa.c $(INCL)
 	$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
 
-$(OUTDIR)/if_mzsch.o:	if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
-	$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
+$(OUTDIR)/terminal.o:	terminal.c $(INCL) $(TERM_DEPS)
+	$(CC) -c $(CFLAGS) terminal.c -o $(OUTDIR)/terminal.o
+
+
+CCCTERM = $(CC) -c $(CFLAGS) -Ilibvterm/include -DINLINE="" -DVSNPRINTF=vim_vsnprintf
+$(OUTDIR)/term_encoding.o: libvterm/src/encoding.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/encoding.c -o $@
+
+$(OUTDIR)/term_keyboard.o: libvterm/src/keyboard.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/keyboard.c -o $@
+
+$(OUTDIR)/term_mouse.o: libvterm/src/mouse.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/mouse.c -o $@
 
-mzscheme_base.c:
-	$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
+$(OUTDIR)/term_parser.o: libvterm/src/parser.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/parser.c -o $@
+
+$(OUTDIR)/term_pen.o: libvterm/src/pen.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/pen.c -o $@
+
+$(OUTDIR)/term_screen.o: libvterm/src/screen.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/screen.c -o $@
+
+$(OUTDIR)/term_state.o: libvterm/src/state.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/state.c -o $@
+
+$(OUTDIR)/term_unicode.o: libvterm/src/unicode.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/unicode.c -o $@
+
+$(OUTDIR)/term_vterm.o: libvterm/src/vterm.c $(TERM_DEPS)
+	$(CCCTERM) libvterm/src/vterm.c -o $@
+
 
 pathdef.c: $(INCL)
 ifneq (sh.exe, $(SHELL))