xref: /vim-8.2.3635/src/GvimExt/Makefile (revision 3fb377fa)
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