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 13f4b8e57fSBram Moolenaar 14f4b8e57fSBram Moolenaar!if "$(DEBUG)" != "yes" 15f4b8e57fSBram MoolenaarNODEBUG = 1 16f4b8e57fSBram Moolenaar!endif 17f4b8e57fSBram Moolenaar 184514d276SBram Moolenaar!ifdef PROCESSOR_ARCHITECTURE 194514d276SBram Moolenaar# On Windows NT 204514d276SBram Moolenaar! ifndef CPU 214514d276SBram MoolenaarCPU = i386 223d6d5cc3SBram Moolenaar! if !defined(PLATFORM) && defined(TARGET_CPU) 233d6d5cc3SBram MoolenaarPLATFORM = $(TARGET_CPU) 243d6d5cc3SBram Moolenaar! endif 254514d276SBram Moolenaar! ifdef PLATFORM 264514d276SBram Moolenaar! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") 274514d276SBram MoolenaarCPU = AMD64 28*577fadfcSBram Moolenaar! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64") 29*577fadfcSBram MoolenaarCPU = ARM64 304514d276SBram Moolenaar! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") 314514d276SBram Moolenaar! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. 324514d276SBram Moolenaar! endif 334514d276SBram Moolenaar! endif 344514d276SBram Moolenaar! endif 354514d276SBram Moolenaar!else 364514d276SBram MoolenaarCPU = i386 374514d276SBram Moolenaar!endif 384514d276SBram Moolenaar 397331304fSBram Moolenaar!ifdef SDK_INCLUDE_DIR 407331304fSBram Moolenaar!include $(SDK_INCLUDE_DIR)\Win32.mak 41e16b00a1SBram Moolenaar!elseif "$(USE_WIN32MAK)"=="yes" 427331304fSBram Moolenaar!include <Win32.mak> 43e16b00a1SBram Moolenaar!else 44e16b00a1SBram Moolenaarcc = cl 45e16b00a1SBram Moolenaarlink = link 46e16b00a1SBram Moolenaarrc = rc 47e16b00a1SBram Moolenaarcflags = -nologo -c 48e16b00a1SBram Moolenaarlflags = -incremental:no -nologo 49e16b00a1SBram Moolenaarrcflags = /r 50e16b00a1SBram Moolenaarolelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib 517331304fSBram Moolenaar!endif 52f4b8e57fSBram Moolenaar 53d7383881SBram Moolenaar# include CPUARG 54d7383881SBram Moolenaarcflags = $(cflags) $(CPUARG) 55d7383881SBram Moolenaar 5673f4439cSBram MoolenaarSUBSYSTEM = console 5773f4439cSBram Moolenaar!if "$(SUBSYSTEM_VER)" != "" 5873f4439cSBram MoolenaarSUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) 5973f4439cSBram Moolenaar!endif 6073f4439cSBram Moolenaar 61*577fadfcSBram Moolenaar!if "$(CPU)" == "ARM64" 62*577fadfcSBram MoolenaarOFFSET = 0x11C000000 63*577fadfcSBram Moolenaar!else 64*577fadfcSBram MoolenaarOFFSET = 0x1C000000 65*577fadfcSBram Moolenaar!endif 66*577fadfcSBram Moolenaar 67f4b8e57fSBram Moolenaarall: gvimext.dll 68f4b8e57fSBram Moolenaar 69f4b8e57fSBram Moolenaargvimext.dll: gvimext.obj \ 70f4b8e57fSBram Moolenaar gvimext.res 71*577fadfcSBram Moolenaar $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM) 723ed4447eSBram Moolenaar if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2 73f4b8e57fSBram Moolenaar 74f4b8e57fSBram Moolenaargvimext.obj: gvimext.h 75f4b8e57fSBram Moolenaar 76f4b8e57fSBram Moolenaar.cpp.obj: 770fde290eSBram Moolenaar $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp 78f4b8e57fSBram Moolenaar 79f4b8e57fSBram Moolenaargvimext.res: gvimext.rc 80bc073092SBram Moolenaar $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc 81f4b8e57fSBram Moolenaar 82f4b8e57fSBram Moolenaarclean: 83f4b8e57fSBram Moolenaar - if exist gvimext.dll del gvimext.dll 84f4b8e57fSBram Moolenaar - if exist gvimext.lib del gvimext.lib 85f4b8e57fSBram Moolenaar - if exist gvimext.exp del gvimext.exp 86f4b8e57fSBram Moolenaar - if exist gvimext.obj del gvimext.obj 87f4b8e57fSBram Moolenaar - if exist gvimext.res del gvimext.res 883ed4447eSBram Moolenaar - if exist gvimext.dll.manifest del gvimext.dll.manifest 89