blob: c681d33528d5a1b189961138845cb9c601fa8db5 [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
28! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
29! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
30! endif
31! endif
32! endif
33!else
34CPU = i386
35!endif
36
Bram Moolenaar73313042012-11-23 21:47:22 +010037!ifdef SDK_INCLUDE_DIR
38!include $(SDK_INCLUDE_DIR)\Win32.mak
Bram Moolenaare16b00a2017-08-06 17:38:06 +020039!elseif "$(USE_WIN32MAK)"=="yes"
Bram Moolenaar73313042012-11-23 21:47:22 +010040!include <Win32.mak>
Bram Moolenaare16b00a2017-08-06 17:38:06 +020041!else
42cc = cl
43link = link
44rc = rc
45cflags = -nologo -c
46lflags = -incremental:no -nologo
47rcflags = /r
48olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
Bram Moolenaar73313042012-11-23 21:47:22 +010049!endif
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000050
Bram Moolenaard7383882017-06-13 15:22:12 +020051# include CPUARG
52cflags = $(cflags) $(CPUARG)
53
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000054all: gvimext.dll
55
56gvimext.dll: gvimext.obj \
57 gvimext.res
Bram Moolenaar362e1a32006-03-06 23:29:24 +000058# $(implib) /NOLOGO -machine:$(CPU) -def:gvimext.def $** -out:gvimext.lib
59# $(link) $(dlllflags) -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib gvimext.lib comctl32.lib gvimext.exp
60 $(link) $(lflags) -dll -def:gvimext.def -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib
Bram Moolenaar3ed44472007-05-05 10:52:16 +000061 if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000062
63gvimext.obj: gvimext.h
64
65.cpp.obj:
Bram Moolenaar4514d272016-01-10 19:21:36 +010066 $(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000067
68gvimext.res: gvimext.rc
Bram Moolenaarbc073092016-02-02 18:50:45 +010069 $(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
Bram Moolenaarf4b8e572004-06-24 15:53:16 +000070
71clean:
Bram Moolenaar4514d272016-01-10 19:21:36 +010072 - if exist gvimext.dll del gvimext.dll
73 - if exist gvimext.lib del gvimext.lib
74 - if exist gvimext.exp del gvimext.exp
75 - if exist gvimext.obj del gvimext.obj
76 - if exist gvimext.res del gvimext.res
77 - if exist gvimext.dll.manifest del gvimext.dll.manifest