blob: 975ba1170525e54c597cdf7002887f84b89c81c1 [file] [log] [blame]
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00001# Makefile for GvimExt, using MSVC
2# Options:
3# DEBUG=yes Build debug version (for VC7 and maybe later)
Bram Moolenaard7383882017-06-13 15:22:12 +02004# CPUARG= /arch:IA32/AVX/etc, call from main makefile to set
5# automatically from CPUNR
Bram Moolenaarf4b8e572004-06-24 15:53:16 +00006#
7
Bram Moolenaard7383882017-06-13 15:22:12 +02008TARGETOS = WINNT
9
Bram Moolenaar1fd3e302015-05-05 10:25:16 +020010!ifndef APPVER
Bram Moolenaard7383882017-06-13 15:22:12 +020011APPVER = 5.01
Bram Moolenaar1fd3e302015-05-05 10:25:16 +020012!endif
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000013
14!if "$(DEBUG)" != "yes"
15NODEBUG = 1
16!endif
17
Bram Moolenaar4514d272016-01-10 19:21:36 +010018!ifdef PROCESSOR_ARCHITECTURE
19# On Windows NT
20! ifndef CPU
21CPU = i386
Bram Moolenaar3d6d5cc2016-01-15 18:03:32 +010022! if !defined(PLATFORM) && defined(TARGET_CPU)
23PLATFORM = $(TARGET_CPU)
24! endif
Bram Moolenaar4514d272016-01-10 19:21:36 +010025! ifdef PLATFORM
26! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
27CPU = AMD64
Bram Moolenaar577fadf2019-04-04 20:32:24 +020028! elseif ("$(PLATFORM)" == "arm64") || ("$(PLATFORM)" == "ARM64")
29CPU = ARM64
Bram Moolenaar4514d272016-01-10 19:21:36 +010030! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
31! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
32! endif
33! endif
34! endif
35!else
36CPU = i386
37!endif
38
Bram Moolenaar73313042012-11-23 21:47:22 +010039!ifdef SDK_INCLUDE_DIR
40!include $(SDK_INCLUDE_DIR)\Win32.mak
Bram Moolenaare16b00a2017-08-06 17:38:06 +020041!elseif "$(USE_WIN32MAK)"=="yes"
Bram Moolenaar73313042012-11-23 21:47:22 +010042!include <Win32.mak>
Bram Moolenaare16b00a2017-08-06 17:38:06 +020043!else
44cc = cl
45link = link
46rc = rc
47cflags = -nologo -c
48lflags = -incremental:no -nologo
49rcflags = /r
50olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
Bram Moolenaar73313042012-11-23 21:47:22 +010051!endif
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000052
Bram Moolenaard7383882017-06-13 15:22:12 +020053# include CPUARG
54cflags = $(cflags) $(CPUARG)
55
Bram Moolenaar73f44392017-10-07 18:38:43 +020056SUBSYSTEM = console
57!if "$(SUBSYSTEM_VER)" != ""
58SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
59!endif
60
Bram Moolenaar7edf0ba2019-04-11 17:22:57 +020061!if "$(CPU)" == "AMD64" || "$(CPU)" == "ARM64"
Bram Moolenaar577fadf2019-04-04 20:32:24 +020062OFFSET = 0x11C000000
63!else
64OFFSET = 0x1C000000
65!endif
66
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000067all: gvimext.dll
68
69gvimext.dll: gvimext.obj \
70 gvimext.res
Bram Moolenaar577fadf2019-04-04 20:32:24 +020071 $(link) $(lflags) -dll -def:gvimext.def -base:$(OFFSET) -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM)
Bram Moolenaar73f44392017-10-07 18:38:43 +020072 if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000073
74gvimext.obj: gvimext.h
75
76.cpp.obj:
Bram Moolenaar4514d272016-01-10 19:21:36 +010077 $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000078
79gvimext.res: gvimext.rc
Bram Moolenaarbc073092016-02-02 18:50:45 +010080 $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000081
82clean:
Bram Moolenaar4514d272016-01-10 19:21:36 +010083 - if exist gvimext.dll del gvimext.dll
84 - if exist gvimext.lib del gvimext.lib
85 - if exist gvimext.exp del gvimext.exp
86 - if exist gvimext.obj del gvimext.obj
87 - if exist gvimext.res del gvimext.res
88 - if exist gvimext.dll.manifest del gvimext.dll.manifest