1f4b8e57fSBram Moolenaar# Makefile for GvimExt, using MSVC 2f4b8e57fSBram Moolenaar# Options: 3f4b8e57fSBram Moolenaar# DEBUG=yes Build debug version (for VC7 and maybe later) 4d7383881SBram Moolenaar# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set 5d7383881SBram Moolenaar# automatically from CPUNR 6f4b8e57fSBram Moolenaar# 7f4b8e57fSBram Moolenaar 8cea912afSBram MoolenaarTARGETOS = WINNT 9d7383881SBram Moolenaar 101fd3e30cSBram Moolenaar!ifndef APPVER 11d7383881SBram MoolenaarAPPVER = 5.01 121fd3e30cSBram Moolenaar!endif 13*3fb377faSBram Moolenaar!ifndef WINVER 14*3fb377faSBram MoolenaarWINVER = 0x0501 15*3fb377faSBram Moolenaar!endif 16f4b8e57fSBram Moolenaar 17f4b8e57fSBram Moolenaar!if "$(DEBUG)" != "yes" 18f4b8e57fSBram MoolenaarNODEBUG = 1 19f4b8e57fSBram Moolenaar!endif 20f4b8e57fSBram Moolenaar 214514d276SBram Moolenaar!ifdef PROCESSOR_ARCHITECTURE 224514d276SBram Moolenaar# On Windows NT 234514d276SBram Moolenaar! ifndef CPU 244514d276SBram MoolenaarCPU = i386 253d6d5cc3SBram Moolenaar! if !defined(PLATFORM) && defined(TARGET_CPU) 263d6d5cc3SBram MoolenaarPLATFORM = $(TARGET_CPU) 273d6d5cc3SBram Moolenaar! endif 284514d276SBram Moolenaar! ifdef PLATFORM 294514d276SBram Moolenaar! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") 304514d276SBram MoolenaarCPU = AMD64 31577fadfcSBram Moolenaar! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") 32577fadfcSBram MoolenaarCPU = ARM64 334514d276SBram Moolenaar! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") 344514d276SBram Moolenaar! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. 354514d276SBram Moolenaar! endif 364514d276SBram Moolenaar! endif 374514d276SBram Moolenaar! endif 384514d276SBram Moolenaar!else 394514d276SBram MoolenaarCPU = i386 404514d276SBram Moolenaar!endif 414514d276SBram Moolenaar 427331304fSBram Moolenaar!ifdef SDK_INCLUDE_DIR 437331304fSBram Moolenaar!include $(SDK_INCLUDE_DIR)\Win32.mak 44e16b00a1SBram Moolenaar!elseif "$(USE_WIN32MAK)"=="yes" 457331304fSBram Moolenaar!include <Win32.mak> 46e16b00a1SBram Moolenaar!else 47e16b00a1SBram Moolenaarcc = cl 48e16b00a1SBram Moolenaarlink = link 49e16b00a1SBram Moolenaarrc = rc 50e16b00a1SBram Moolenaarcflags = -nologo -c 51e16b00a1SBram Moolenaarlflags = -incremental:no -nologo 52e16b00a1SBram Moolenaarrcflags = /r 53e16b00a1SBram Moolenaarolelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib 547331304fSBram Moolenaar!endif 55f4b8e57fSBram Moolenaar 56d7383881SBram Moolenaar# include CPUARG 57d7383881SBram Moolenaarcflags = $(cflags) $(CPUARG) 58d7383881SBram Moolenaar 59*3fb377faSBram Moolenaar# set WINVER and _WIN32_WINNT 60*3fb377faSBram Moolenaarcflags = $(cflags) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) 61*3fb377faSBram Moolenaar 62*3fb377faSBram Moolenaar!if "$(CL)" == "/D_USING_V110_SDK71_" 63*3fb377faSBram Moolenaarrcflags = $(rcflags) /D_USING_V110_SDK71_ 64*3fb377faSBram Moolenaar!endif 65*3fb377faSBram Moolenaar 6673f4439cSBram MoolenaarSUBSYSTEM = console 6773f4439cSBram Moolenaar!if "$(SUBSYSTEM_VER)" != "" 6873f4439cSBram MoolenaarSUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) 6973f4439cSBram Moolenaar!endif 7073f4439cSBram Moolenaar 717edf0baeSBram Moolenaar!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64" 72577fadfcSBram MoolenaarOFFSET = 0x11C000000 73577fadfcSBram Moolenaar!else 74577fadfcSBram MoolenaarOFFSET = 0x1C000000 75577fadfcSBram Moolenaar!endif 76577fadfcSBram Moolenaar 77f4b8e57fSBram Moolenaarall: gvimext.dll 78f4b8e57fSBram Moolenaar 79f4b8e57fSBram Moolenaargvimext.dll: gvimext.obj \ 80f4b8e57fSBram Moolenaar gvimext.res 81577fadfcSBram Moolenaar $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM) 823ed4447eSBram Moolenaar if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2 83f4b8e57fSBram Moolenaar 84f4b8e57fSBram Moolenaargvimext.obj: gvimext.h 85f4b8e57fSBram Moolenaar 86f4b8e57fSBram Moolenaar.cpp.obj: 870fde290eSBram Moolenaar $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp 88f4b8e57fSBram Moolenaar 89f4b8e57fSBram Moolenaargvimext.res: gvimext.rc 90bc073092SBram Moolenaar $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc 91f4b8e57fSBram Moolenaar 92f4b8e57fSBram Moolenaarclean: 93f4b8e57fSBram Moolenaar - if exist gvimext.dll del gvimext.dll 94f4b8e57fSBram Moolenaar - if exist gvimext.lib del gvimext.lib 95f4b8e57fSBram Moolenaar - if exist gvimext.exp del gvimext.exp 96f4b8e57fSBram Moolenaar - if exist gvimext.obj del gvimext.obj 97f4b8e57fSBram Moolenaar - if exist gvimext.res del gvimext.res 983ed4447eSBram Moolenaar - if exist gvimext.dll.manifest del gvimext.dll.manifest 99