1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 17:50:04 +08:00
SpaceVim/bundle/vimproc.vim/make_msvc.mak
2020-06-14 23:42:40 +08:00

75 lines
1.5 KiB
Makefile

# WINDOWS BUILD SETTINGS.
WINVER = 0x0500
APPVER = 5.0
TARGET = WINNT
_WIN32_IE = 0x0500
!ifdef CPU
! if "$(CPU)" == "I386"
CPU = i386
! endif
!else # !CPU
CPU = i386
! if !defined(PLATFORM) && defined(TARGET_CPU)
PLATFORM = $(TARGET_CPU)
! endif
! ifdef PLATFORM
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
CPU = AMD64
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
! endif
! endif
!endif
# CONTROL BUILD MODE
!IFDEF DEBUG
CFLAGS = $(CFLAGS) -D_DEBUG
!ELSE
CFLAGS = $(CFLAGS) -D_NDEBUG
!ENDIF
# VIMPROC SPECIFICS
!if "$(CPU)" == "AMD64"
VIMPROC=vimproc_win64
!else
VIMPROC=vimproc_win32
!endif
SRCDIR = src
LIBDIR = lib
OUTDIR = $(SRCDIR)\obj$(CPU)
OBJS = $(OUTDIR)/proc_w32.obj
LINK = link
LFLAGS = /nologo /dll
DEFINES = -D_CRT_SECURE_NO_WARNINGS=1 -D_BIND_TO_CURRENT_VCLIBS_VERSION=1
CFLAGS = /nologo $(CFLAGS) $(DEFINES) /wd4100 /wd4127 /O2 /LD /c
# RULES
build: $(LIBDIR)\$(VIMPROC).dll
clean:
-IF EXIST $(OUTDIR)/nul RMDIR /s /q $(OUTDIR)
-DEL /F /Q $(LIBDIR)\$(VIMPROC).*
$(LIBDIR)\$(VIMPROC).dll: $(OBJS)
$(LINK) $(LFLAGS) /OUT:$@ $(OBJS) shell32.lib ws2_32.lib
IF EXIST $@.manifest \
mt -nologo -manifest $@.manifest -outputresource:$@;2
{$(SRCDIR)}.c{$(OUTDIR)}.obj::
$(CC) $(CFLAGS) -Fo$(OUTDIR)\ $<
$(OUTDIR):
IF NOT EXIST $(OUTDIR)/nul MKDIR $(OUTDIR)
$(OUTDIR)/proc_w32.obj: $(OUTDIR) $(SRCDIR)/proc_w32.c $(SRCDIR)/vimstack.c
.PHONY: build clean