blob: 132a584ba426a9b8dd9ed0b3245d97b8f27e3615 [file] [log] [blame]
K.Takata5bc13452022-09-09 10:52:47 +01001# Makefile for GvimExt, using MSVC
2# Options:
3# DEBUG=yes Build debug version (for VC7 and maybe later)
4# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set
5# automatically from CPUNR
6#
7
8TARGETOS = WINNT
9
10!ifndef APPVER
K.Takata12715722023-05-25 16:43:27 +010011APPVER = 6.01
K.Takata5bc13452022-09-09 10:52:47 +010012!endif
K.Takata12715722023-05-25 16:43:27 +010013# Set the default $(WINVER) to make it work with Windows 7.
K.Takata5bc13452022-09-09 10:52:47 +010014!ifndef WINVER
K.Takata12715722023-05-25 16:43:27 +010015WINVER = 0x0601
K.Takata5bc13452022-09-09 10:52:47 +010016!endif
17
18!if "$(DEBUG)" != "yes"
19NODEBUG = 1
20!endif
21
Ken Takatacdf1c7a2024-08-03 14:34:33 +020022!ifndef CPU
K.Takata5bc13452022-09-09 10:52:47 +010023CPU = i386
Ken Takatacdf1c7a2024-08-03 14:34:33 +020024! ifndef PLATFORM
25! ifdef TARGET_CPU
K.Takata5bc13452022-09-09 10:52:47 +010026PLATFORM = $(TARGET_CPU)
Ken Takatacdf1c7a2024-08-03 14:34:33 +020027! elseif defined(VSCMD_ARG_TGT_ARCH)
28PLATFORM = $(VSCMD_ARG_TGT_ARCH)
K.Takata5bc13452022-09-09 10:52:47 +010029! endif
30! endif
Ken Takatacdf1c7a2024-08-03 14:34:33 +020031! ifdef PLATFORM
32! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
33CPU = AMD64
34! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
35CPU = ARM64
36! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
37! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
38! endif
39! endif
K.Takata5bc13452022-09-09 10:52:47 +010040!endif
41
42!ifdef SDK_INCLUDE_DIR
K.Takata12715722023-05-25 16:43:27 +010043! include $(SDK_INCLUDE_DIR)\Win32.mak
K.Takata5bc13452022-09-09 10:52:47 +010044!elseif "$(USE_WIN32MAK)"=="yes"
K.Takata12715722023-05-25 16:43:27 +010045! include <Win32.mak>
K.Takata5bc13452022-09-09 10:52:47 +010046!else
47cc = cl
48link = link
49rc = rc
50cflags = -nologo -c
51lflags = -incremental:no -nologo
52rcflags = /r
53olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
54!endif
55
56# include CPUARG
57cflags = $(cflags) $(CPUARG)
58
59# set WINVER and _WIN32_WINNT
60cflags = $(cflags) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER)
61
62!if "$(CL)" == "/D_USING_V110_SDK71_"
63rcflags = $(rcflags) /D_USING_V110_SDK71_
64!endif
65
66SUBSYSTEM = console
67!if "$(SUBSYSTEM_VER)" != ""
68SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
69!endif
70
71!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64"
72OFFSET = 0x11C000000
73!else
74OFFSET = 0x1C000000
75!endif
76
77all: gvimext.dll
78
79gvimext.dll: gvimext.obj \
80 gvimext.res
81 $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM)
K.Takata5bc13452022-09-09 10:52:47 +010082
83gvimext.obj: gvimext.h
84
85.cpp.obj:
86 $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
87
88gvimext.res: gvimext.rc
89 $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
90
91clean:
92 - if exist gvimext.dll del gvimext.dll
93 - if exist gvimext.lib del gvimext.lib
94 - if exist gvimext.exp del gvimext.exp
95 - if exist gvimext.obj del gvimext.obj
96 - if exist gvimext.res del gvimext.res