Mercurial > vim
annotate src/Make_mvc.mak @ 7727:53cfb3cd064b
Added tag v7.4.1161 for changeset f6311c32141189ce9cdd1d6abff7a8bd59cfe9ff
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 23 Jan 2016 23:15:05 +0100 |
parents | bce3b5ddb393 |
children | 6069f43cea4e |
rev | line source |
---|---|
840 | 1 # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me) |
2 # and Win64, using the Microsoft Visual C++ compilers. Known to work with | |
1569 | 3 # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005), |
3816 | 4 # VC9 (VS2008), VC10 (VS2010) and VC11 (VS2012) |
7 | 5 # |
840 | 6 # To build using other Windows compilers, see INSTALLpc.txt |
381 | 7 # |
7 | 8 # This makefile can build the console, GUI, OLE-enable, Perl-enabled and |
1907 | 9 # Python-enabled versions of Vim for Win32 platforms. |
7 | 10 # |
1907 | 11 # The basic command line to build Vim is: |
7 | 12 # |
13 # nmake -f Make_mvc.mak | |
381 | 14 # |
1907 | 15 # This will build the console version of Vim with no additional interfaces. |
381 | 16 # To add features, define any of the following: |
17 # | |
3816 | 18 # For MSVC 11 you need to specify where the Win32.mak file is, e.g.: |
19 # SDK_INCLUDE_DIR="C:\Program Files\Microsoft SDKs\Windows\v7.1\Include" | |
20 # | |
381 | 21 # !!!! After changing features do "nmake clean" first !!!! |
22 # | |
7699
854302b82ff9
commit https://github.com/vim/vim/commit/e5f2be61595fbbba77261f3bf1e032fe03a1966d
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
23 # Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is HUGE) |
381 | 24 # |
7 | 25 # GUI interface: GUI=yes (default is no) |
381 | 26 # |
6110 | 27 # GUI with DirectWrite(DirectX): DIRECTX=yes |
28 # (default is no, requires GUI=yes) | |
29 # | |
7 | 30 # OLE interface: OLE=yes (usually with GUI=yes) |
381 | 31 # |
775 | 32 # Multibyte support: MBYTE=yes (default is no) |
381 | 33 # |
7 | 34 # IME support: IME=yes (requires GUI=yes) |
35 # DYNAMIC_IME=[yes or no] (to load the imm32.dll dynamically, default | |
36 # is yes) | |
37 # Global IME support: GIME=yes (requires GUI=yes) | |
381 | 38 # |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
39 # Lua interface: |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
40 # LUA=[Path to Lua directory] |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
41 # DYNAMIC_LUA=yes (to load the Lua DLL dynamically) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
42 # LUA_VER=[Lua version] (default is 51) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
43 # |
146 | 44 # MzScheme interface: |
45 # MZSCHEME=[Path to MzScheme directory] | |
46 # DYNAMIC_MZSCHEME=yes (to load the MzScheme DLLs dynamically) | |
47 # MZSCHEME_VER=[version, 205_000, ...] | |
1894 | 48 # MZSCHEME_DEBUG=no |
381 | 49 # |
7 | 50 # Perl interface: |
51 # PERL=[Path to Perl directory] | |
52 # DYNAMIC_PERL=yes (to load the Perl DLL dynamically) | |
6326 | 53 # PERL_VER=[Perl version, in the form 55 (5.005), 56 (5.6.x), |
54 # 510 (5.10.x), etc] | |
381 | 55 # (default is 56) |
56 # | |
7 | 57 # Python interface: |
58 # PYTHON=[Path to Python directory] | |
59 # DYNAMIC_PYTHON=yes (to load the Python DLL dynamically) | |
6326 | 60 # PYTHON_VER=[Python version, eg 22, 23, ..., 27] (default is 22) |
381 | 61 # |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
62 # Python3 interface: |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
63 # PYTHON3=[Path to Python3 directory] |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
64 # DYNAMIC_PYTHON3=yes (to load the Python3 DLL dynamically) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
65 # PYTHON3_VER=[Python3 version, eg 30, 31] (default is 31) |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
66 # |
7 | 67 # Ruby interface: |
68 # RUBY=[Path to Ruby directory] | |
69 # DYNAMIC_RUBY=yes (to load the Ruby DLL dynamically) | |
6326 | 70 # RUBY_VER=[Ruby version, eg 18, 19, 20] (default is 18) |
71 # RUBY_VER_LONG=[Ruby version, eg 1.8, 1.9.1, 2.0.0] (default is 1.8) | |
7 | 72 # You must set RUBY_VER_LONG when change RUBY_VER. |
6326 | 73 # RUBY_API_VER is derived from RUBY_VER_LONG. |
74 # Note: If you use Ruby 1.9.3, set as follows: | |
75 # RUBY_VER=19 | |
76 # RUBY_VER_LONG=1.9.1 (not 1.9.3, because the API version is 1.9.1.) | |
381 | 77 # |
7 | 78 # Tcl interface: |
79 # TCL=[Path to Tcl directory] | |
80 # DYNAMIC_TCL=yes (to load the Tcl DLL dynamically) | |
81 # TCL_VER=[Tcl version, e.g. 80, 83] (default is 83) | |
82 # TCL_VER_LONG=[Tcl version, eg 8.3] (default is 8.3) | |
83 # You must set TCL_VER_LONG when you set TCL_VER. | |
381 | 84 # |
85 # SNiFF+ interface: SNIFF=yes | |
86 # | |
87 # Cscope support: CSCOPE=yes | |
88 # | |
89 # Iconv library support (always dynamically loaded): | |
90 # ICONV=[yes or no] (default is yes) | |
91 # | |
92 # Intl library support (always dynamically loaded): | |
93 # GETTEXT=[yes or no] (default is yes) | |
94 # See http://sourceforge.net/projects/gettext/ | |
95 # | |
4446 | 96 # PostScript printing: POSTSCRIPT=yes (default is no) |
381 | 97 # |
4446 | 98 # Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes) |
381 | 99 # |
4446 | 100 # XPM Image Support: XPM=[path to XPM directory] |
101 # Default is "xpm", using the files included in the distribution. | |
102 # Use "no" to disable this feature. | |
381 | 103 # |
4446 | 104 # Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED) |
381 | 105 # |
4446 | 106 # Processor Version: CPUNR=[i386, i486, i586, i686, pentium4] (default is |
107 # i386) | |
381 | 108 # |
4446 | 109 # Version Support: WINVER=[0x0400, 0x0500] (default is 0x0400) |
381 | 110 # |
7 | 111 # Debug version: DEBUG=yes |
112 # Mapfile: MAP=[no, yes or lines] (default is yes) | |
113 # no: Don't write a mapfile. | |
114 # yes: Write a normal mapfile. | |
115 # lines: Write a mapfile with line numbers (only for VC6 and later) | |
381 | 116 # |
4446 | 117 # Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes |
118 # doesn't work) | |
7 | 119 # |
4446 | 120 # Static Code Analysis: ANALYZE=yes (works with VS2012 only) |
1419 | 121 # |
7 | 122 # You can combine any of these interfaces |
123 # | |
124 # Example: To build the non-debug, GUI version with Perl interface: | |
125 # nmake -f Make_mvc.mak GUI=yes PERL=C:\Perl | |
126 # | |
127 # DEBUG with Make_mvc.mak and Make_dvc.mak: | |
128 # This makefile gives a fineness of control which is not supported in | |
129 # Visual C++ configuration files. Therefore, debugging requires a bit of | |
130 # extra work. | |
1419 | 131 # Make_dvc.mak is a Visual C++ project to access that support. It may be |
132 # badly out of date for the Visual C++ you are using... | |
7 | 133 # To use Make_dvc.mak: |
134 # 1) Build Vim with Make_mvc.mak. | |
135 # Use a "DEBUG=yes" argument to build Vim with debug support. | |
136 # E.g. the following builds gvimd.exe: | |
137 # nmake -f Make_mvc.mak debug=yes gui=yes | |
138 # 2) Use MS Devstudio and set it up to allow that file to be debugged: | |
139 # i) Pass Make_dvc.mak to the IDE. | |
140 # Use the "open workspace" menu entry to load Make_dvc.mak. | |
141 # Alternatively, from the command line: | |
142 # msdev /nologo Make_dvc.mak | |
143 # Note: Make_dvc.mak is in VC4.0 format. Later VC versions see | |
144 # this and offer to convert it to their own format. Accept that. | |
145 # It creates a file called Make_dvc.dsw which can then be used | |
146 # for further operations. E.g. | |
147 # msdev /nologo Make_dvc.dsw | |
148 # ii) Set the built executable for debugging: | |
149 # a) Alt+F7/Debug takes you to the Debug dialog. | |
150 # b) Fill "Executable for debug session". e.g. gvimd.exe | |
151 # c) Fill "Program arguments". e.g. -R dosinst.c | |
152 # d) Complete the dialog | |
153 # 3) You can now debug the executable you built with Make_mvc.mak | |
154 # | |
155 # Note: Make_dvc.mak builds vimrun.exe, because it must build something | |
156 # to be a valid makefile.. | |
157 | |
158 ### See feature.h for a list of optionals. | |
159 # If you want to build some optional features without modifying the source, | |
160 # you can set DEFINES on the command line, e.g., | |
714 | 161 # nmake -f Make_mvc.mvc "DEFINES=-DEMACS_TAGS" |
7 | 162 |
714 | 163 # Build on both Windows NT/XP and Windows 9x |
7 | 164 |
165 TARGETOS = BOTH | |
166 | |
323 | 167 # Select one of eight object code directories, depends on GUI, OLE, DEBUG and |
168 # interfaces. | |
7 | 169 # If you change something else, do "make clean" first! |
170 !if "$(GUI)" == "yes" | |
171 OBJDIR = .\ObjG | |
172 !else | |
173 OBJDIR = .\ObjC | |
174 !endif | |
6110 | 175 !if "$(DIRECTX)" == "yes" |
176 OBJDIR = $(OBJDIR)X | |
177 !endif | |
7 | 178 !if "$(OLE)" == "yes" |
179 OBJDIR = $(OBJDIR)O | |
180 !endif | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
181 !ifdef LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
182 OBJDIR = $(OBJDIR)U |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
183 !endif |
323 | 184 !ifdef PERL |
185 OBJDIR = $(OBJDIR)L | |
186 !endif | |
187 !ifdef PYTHON | |
188 OBJDIR = $(OBJDIR)Y | |
189 !endif | |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
190 !ifdef PYTHON3 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
191 OBJDIR = $(OBJDIR)H |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
192 !endif |
323 | 193 !ifdef TCL |
194 OBJDIR = $(OBJDIR)T | |
195 !endif | |
196 !ifdef RUBY | |
197 OBJDIR = $(OBJDIR)R | |
198 !endif | |
14 | 199 !ifdef MZSCHEME |
200 OBJDIR = $(OBJDIR)Z | |
201 !endif | |
7 | 202 !if "$(DEBUG)" == "yes" |
203 OBJDIR = $(OBJDIR)d | |
204 !endif | |
205 | |
835 | 206 # Win32.mak requires that CPU be set appropriately. |
207 # To cross-compile for Win64, set CPU=AMD64 or CPU=IA64. | |
7 | 208 |
209 !ifdef PROCESSOR_ARCHITECTURE | |
714 | 210 # We're on Windows NT or using VC 6+ |
840 | 211 ! ifdef CPU |
212 ASSEMBLY_ARCHITECTURE=$(CPU) | |
842 | 213 # Using I386 for $ASSEMBLY_ARCHITECTURE doesn't work for VC7. |
7324
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
214 ! if "$(CPU)" == "I386" |
7 | 215 CPU = i386 |
835 | 216 ! endif |
7324
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
217 ! else # !CPU |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
218 CPU = i386 |
7591
4447dc38bc22
commit https://github.com/vim/vim/commit/3d6d5cc3a417c04d9772596ea83f8e6b41321781
Christian Brabandt <cb@256bit.org>
parents:
7555
diff
changeset
|
219 ! if !defined(PLATFORM) && defined(TARGET_CPU) |
4447dc38bc22
commit https://github.com/vim/vim/commit/3d6d5cc3a417c04d9772596ea83f8e6b41321781
Christian Brabandt <cb@256bit.org>
parents:
7555
diff
changeset
|
220 PLATFORM = $(TARGET_CPU) |
4447dc38bc22
commit https://github.com/vim/vim/commit/3d6d5cc3a417c04d9772596ea83f8e6b41321781
Christian Brabandt <cb@256bit.org>
parents:
7555
diff
changeset
|
221 ! endif |
7324
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
222 ! ifdef PLATFORM |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
223 ! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64") |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
224 CPU = AMD64 |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
225 ! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86") |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
226 ! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted. |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
227 ! endif |
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
228 ! endif # !PLATFORM |
7 | 229 ! endif |
230 !else # !PROCESSOR_ARCHITECTURE | |
231 # We're on Windows 95 | |
232 CPU = i386 | |
233 !endif # !PROCESSOR_ARCHITECTURE | |
7324
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
234 ASSEMBLY_ARCHITECTURE=$(CPU) |
3790 | 235 OBJDIR = $(OBJDIR)$(CPU) |
7 | 236 |
237 # Build a retail version by default | |
238 | |
239 !if "$(DEBUG)" != "yes" | |
240 NODEBUG = 1 | |
241 !else | |
1419 | 242 !undef NODEBUG |
7 | 243 MAKEFLAGS_GVIMEXT = DEBUG=yes |
244 !endif | |
245 | |
246 | |
1419 | 247 # Get all sorts of useful, standard macros from the Platform SDK. |
7 | 248 |
3816 | 249 !ifdef SDK_INCLUDE_DIR |
250 !include $(SDK_INCLUDE_DIR)\Win32.mak | |
251 !else | |
714 | 252 !include <Win32.mak> |
3816 | 253 !endif |
254 | |
7 | 255 |
2243
03a5f2897db3
Fix completion of file names with '%' and '*'.
Bram Moolenaar <bram@vim.org>
parents:
2242
diff
changeset
|
256 # Flag to turn on Win64 compatibility warnings for VC7.x and VC8. |
2242
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
257 WP64CHECK = /Wp64 |
7 | 258 |
259 #>>>>> path of the compiler and linker; name of include and lib directories | |
260 # PATH = c:\msvc20\bin;$(PATH) | |
261 # INCLUDE = c:\msvc20\include | |
262 # LIB = c:\msvc20\lib | |
263 | |
264 !ifndef CTAGS | |
265 CTAGS = ctags | |
266 !endif | |
267 | |
268 !if "$(SNIFF)" == "yes" | |
269 # SNIFF - Include support for SNiFF+. | |
270 SNIFF_INCL = if_sniff.h | |
271 SNIFF_OBJ = $(OBJDIR)/if_sniff.obj | |
416 | 272 SNIFF_LIB = shell32.lib |
7 | 273 SNIFF_DEFS = -DFEAT_SNIFF |
274 # The SNiFF integration needs multithreaded libraries! | |
275 MULTITHREADED = yes | |
276 !endif | |
277 | |
278 !ifndef CSCOPE | |
279 CSCOPE = yes | |
280 !endif | |
281 | |
282 !if "$(CSCOPE)" == "yes" | |
283 # CSCOPE - Include support for Cscope | |
284 CSCOPE_INCL = if_cscope.h | |
285 CSCOPE_OBJ = $(OBJDIR)/if_cscope.obj | |
286 CSCOPE_DEFS = -DFEAT_CSCOPE | |
287 !endif | |
288 | |
289 !ifndef NETBEANS | |
290 NETBEANS = $(GUI) | |
291 !endif | |
292 | |
12 | 293 # Only allow NETBEANS and XPM for a GUI build. |
294 !if "$(GUI)" == "yes" | |
7 | 295 !if "$(NETBEANS)" == "yes" |
296 # NETBEANS - Include support for Netbeans integration | |
297 NETBEANS_PRO = proto/netbeans.pro | |
184 | 298 NETBEANS_OBJ = $(OBJDIR)/netbeans.obj |
7 | 299 NETBEANS_DEFS = -DFEAT_NETBEANS_INTG |
12 | 300 |
301 !if "$(NBDEBUG)" == "yes" | |
7 | 302 NBDEBUG_DEFS = -DNBDEBUG |
303 NBDEBUG_INCL = nbdebug.h | |
304 NBDEBUG_SRC = nbdebug.c | |
305 !endif | |
416 | 306 NETBEANS_LIB = WSock32.lib |
7 | 307 !endif |
308 | |
6110 | 309 # DirectWrite(DirectX) |
310 !if "$(DIRECTX)" == "yes" | |
311 DIRECTX_DEFS = -DFEAT_DIRECTX -DDYNAMIC_DIRECTX | |
312 DIRECTX_INCL = gui_dwrite.h | |
313 DIRECTX_OBJ = $(OUTDIR)\gui_dwrite.obj | |
314 !endif | |
315 | |
3762 | 316 !ifndef XPM |
317 # XPM is not set, use the included xpm files, depending on the architecture. | |
3790 | 318 !if "$(CPU)" == "AMD64" |
3762 | 319 XPM = xpm\x64 |
3790 | 320 !elseif "$(CPU)" == "i386" |
321 XPM = xpm\x86 | |
3762 | 322 !else |
3790 | 323 XPM = no |
3762 | 324 !endif |
325 !endif | |
326 !if "$(XPM)" != "no" | |
7 | 327 # XPM - Include support for XPM signs |
3762 | 328 # See the xpm directory for more information. |
7 | 329 XPM_OBJ = $(OBJDIR)/xpm_w32.obj |
330 XPM_DEFS = -DFEAT_XPM_W32 | |
331 XPM_LIB = $(XPM)\lib\libXpm.lib | |
3762 | 332 XPM_INC = -I $(XPM)\include -I $(XPM)\..\include |
7 | 333 !endif |
12 | 334 !endif |
7 | 335 |
714 | 336 # Set which version of the CRT to use |
7 | 337 !if defined(USE_MSVCRT) |
1419 | 338 # CVARS = $(cvarsdll) |
714 | 339 # !elseif defined(MULTITHREADED) |
340 # CVARS = $(cvarsmt) | |
341 !else | |
342 # CVARS = $(cvars) | |
1419 | 343 # CVARS = $(cvarsmt) |
7 | 344 !endif |
345 | |
346 # need advapi32.lib for GetUserName() | |
347 # need shell32.lib for ExtractIcon() | |
348 # gdi32.lib and comdlg32.lib for printing support | |
349 # ole32.lib and uuid.lib are needed for FEAT_SHORTCUT | |
1569 | 350 CON_LIB = oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib \ |
6797 | 351 comdlg32.lib ole32.lib uuid.lib /machine:$(CPU) |
714 | 352 !if "$(DELAYLOAD)" == "yes" |
7 | 353 CON_LIB = $(CON_LIB) /DELAYLOAD:comdlg32.dll /DELAYLOAD:ole32.dll DelayImp.lib |
354 !endif | |
355 | |
356 ### Set the default $(WINVER) to make it work with VC++7.0 (VS.NET) | |
357 # When set to 0x0500 ":browse" stops working. | |
358 !ifndef WINVER | |
359 WINVER = 0x0400 | |
360 !endif | |
361 | |
362 # If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal | |
363 # default, use these lines. | |
364 #VIMRCLOC = somewhere | |
365 #VIMRUNTIMEDIR = somewhere | |
366 | |
367 CFLAGS = -c /W3 /nologo $(CVARS) -I. -Iproto -DHAVE_PATHDEF -DWIN32 \ | |
368 $(SNIFF_DEFS) $(CSCOPE_DEFS) $(NETBEANS_DEFS) \ | |
369 $(NBDEBUG_DEFS) $(XPM_DEFS) \ | |
416 | 370 $(DEFINES) -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \ |
371 /Fo$(OUTDIR)/ | |
7 | 372 |
373 #>>>>> end of choices | |
374 ########################################################################### | |
375 | |
376 !ifdef OS | |
377 OS_TYPE = winnt | |
378 DEL_TREE = rmdir /s /q | |
379 !else | |
380 OS_TYPE = win95 | |
381 DEL_TREE = deltree /y | |
382 !endif | |
383 | |
384 INTDIR=$(OBJDIR) | |
385 OUTDIR=$(OBJDIR) | |
386 | |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
387 !if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2> nul] |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
388 !message *** ERROR |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
389 !message Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH. |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
390 !message This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed. |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
391 !error Make aborted. |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
392 !else |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
393 !include msvcver.~ |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
394 !if [del msvcver.c msvcver.~] |
6797 | 395 !endif |
1419 | 396 !endif |
397 | |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
398 !if $(MSVCVER) < 1900 |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
399 MSVC_MAJOR = ($(MSVCVER) / 100 - 6) |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
400 MSVCRT_VER = ($(MSVCVER) / 10 - 60) |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
401 !else |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
402 MSVC_MAJOR = ($(MSVCVER) / 100 - 5) |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
403 MSVCRT_VER = ($(MSVCVER) / 10 - 50) |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
404 !endif |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
405 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
406 # Calculate MSVCRT_VER |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
407 !if [(set /a MSVCRT_VER="$(MSVCRT_VER)" > nul) && set MSVCRT_VER > msvcrtver.~] == 0 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
408 !include msvcrtver.~ |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
409 !if [del msvcrtver.~] |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
410 !endif |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
411 !endif |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
412 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
413 # Base name of the msvcrXX.dll |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
414 !if $(MSVCRT_VER) <= 60 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
415 MSVCRT_NAME = msvcrt |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
416 !else |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
417 MSVCRT_NAME = msvcr$(MSVCRT_VER) |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
418 !endif |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
419 |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
420 !if $(MSVC_MAJOR) == 6 |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
421 CPU = ix86 |
1419 | 422 !endif |
423 | |
7 | 424 # Convert processor ID to MVC-compatible number |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
425 !if $(MSVC_MAJOR) < 8 |
7 | 426 !if "$(CPUNR)" == "i386" |
427 CPUARG = /G3 | |
428 !elseif "$(CPUNR)" == "i486" | |
429 CPUARG = /G4 | |
430 !elseif "$(CPUNR)" == "i586" | |
431 CPUARG = /G5 | |
432 !elseif "$(CPUNR)" == "i686" | |
433 CPUARG = /G6 | |
84 | 434 !elseif "$(CPUNR)" == "pentium4" |
47 | 435 CPUARG = /G7 /arch:SSE2 |
7 | 436 !else |
437 CPUARG = | |
438 !endif | |
1419 | 439 !else |
2867 | 440 # VC8/9/10 only allows specifying SSE architecture but only for 32bit |
7324
a3b8a63c88ef
commit https://github.com/vim/vim/commit/6b90351786eb0915336b576cc930300bf5c9ac63
Christian Brabandt <cb@256bit.org>
parents:
7309
diff
changeset
|
441 !if "$(ASSEMBLY_ARCHITECTURE)" == "i386" && "$(CPUNR)" == "pentium4" |
1419 | 442 CPUARG = /arch:SSE2 |
443 !endif | |
444 !endif | |
445 | |
446 LIBC = | |
447 DEBUGINFO = /Zi | |
7 | 448 |
6797 | 449 # Don't use /nodefaultlib on MSVC 14 |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
450 !if $(MSVC_MAJOR) >= 14 |
6797 | 451 NODEFAULTLIB = |
452 !else | |
453 NODEFAULTLIB = /nodefaultlib | |
454 !endif | |
455 | |
7 | 456 !ifdef NODEBUG |
457 VIM = vim | |
458 !if "$(OPTIMIZE)" == "SPACE" | |
459 OPTFLAG = /O1 | |
460 !elseif "$(OPTIMIZE)" == "SPEED" | |
461 OPTFLAG = /O2 | |
462 !else # MAXSPEED | |
463 OPTFLAG = /Ox | |
464 !endif | |
2242
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
465 |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
466 !if $(MSVC_MAJOR) >= 8 |
1419 | 467 # Use link time code generation if not worried about size |
468 !if "$(OPTIMIZE)" != "SPACE" | |
469 OPTFLAG = $(OPTFLAG) /GL | |
470 !endif | |
471 !endif | |
2242
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
472 |
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
473 # (/Wp64 is deprecated in VC9 and generates an obnoxious warning.) |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
474 !if ($(MSVC_MAJOR) == 7) || ($(MSVC_MAJOR) == 8) |
2242
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
475 CFLAGS=$(CFLAGS) $(WP64CHECK) |
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
476 !endif |
bc4685345719
Don't use pointers to store numbers, use a union.
Bram Moolenaar <bram@vim.org>
parents:
2220
diff
changeset
|
477 |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
478 # Static code analysis generally available starting with VS2012 (VC11) or |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
479 # Windows SDK 7.1 (VC10) |
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
480 !if ("$(ANALYZE)" == "yes") && ($(MSVC_MAJOR) >= 10) |
4446 | 481 CFLAGS=$(CFLAGS) /analyze |
482 !endif | |
483 | |
47 | 484 CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG) |
7 | 485 RCFLAGS = $(rcflags) $(rcvars) -DNDEBUG |
486 ! ifdef USE_MSVCRT | |
1419 | 487 CFLAGS = $(CFLAGS) /MD |
7 | 488 LIBC = msvcrt.lib |
714 | 489 ! else |
7 | 490 LIBC = libcmt.lib |
1569 | 491 CFLAGS = $(CFLAGS) /Zl /MT |
7 | 492 ! endif |
493 !else # DEBUG | |
494 VIM = vimd | |
1569 | 495 ! if ("$(CPU)" == "i386") || ("$(CPU)" == "ix86") |
1419 | 496 DEBUGINFO = /ZI |
497 ! endif | |
268 | 498 CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /Od |
7 | 499 RCFLAGS = $(rcflags) $(rcvars) -D_DEBUG -DDEBUG |
500 # The /fixed:no is needed for Quantify. Assume not 4.? as unsupported in VC4.0. | |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
501 ! if $(MSVC_MAJOR) == 4 |
7 | 502 LIBC = |
503 ! else | |
504 LIBC = /fixed:no | |
505 ! endif | |
426 | 506 ! ifdef USE_MSVCRT |
1419 | 507 CFLAGS = $(CFLAGS) /MDd |
7 | 508 LIBC = $(LIBC) msvcrtd.lib |
714 | 509 ! else |
426 | 510 LIBC = $(LIBC) libcmtd.lib |
1569 | 511 CFLAGS = $(CFLAGS) /Zl /MTd |
7 | 512 ! endif |
513 !endif # DEBUG | |
514 | |
515 INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \ | |
516 proto.h option.h structs.h term.h $(SNIFF_INCL) $(CSCOPE_INCL) \ | |
517 $(NBDEBUG_INCL) | |
518 | |
519 OBJ = \ | |
2180
f60a0c9cbe6c
Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
Bram Moolenaar <bram@vim.org>
parents:
2101
diff
changeset
|
520 $(OUTDIR)\blowfish.obj \ |
7 | 521 $(OUTDIR)\buffer.obj \ |
522 $(OUTDIR)\charset.obj \ | |
6126 | 523 $(OUTDIR)\crypt.obj \ |
524 $(OUTDIR)\crypt_zip.obj \ | |
7 | 525 $(OUTDIR)\diff.obj \ |
526 $(OUTDIR)\digraph.obj \ | |
527 $(OUTDIR)\edit.obj \ | |
528 $(OUTDIR)\eval.obj \ | |
529 $(OUTDIR)\ex_cmds.obj \ | |
530 $(OUTDIR)\ex_cmds2.obj \ | |
531 $(OUTDIR)\ex_docmd.obj \ | |
532 $(OUTDIR)\ex_eval.obj \ | |
533 $(OUTDIR)\ex_getln.obj \ | |
534 $(OUTDIR)\fileio.obj \ | |
535 $(OUTDIR)\fold.obj \ | |
536 $(OUTDIR)\getchar.obj \ | |
440 | 537 $(OUTDIR)\hardcopy.obj \ |
799 | 538 $(OUTDIR)\hashtab.obj \ |
7712
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7699
diff
changeset
|
539 $(OUTDIR)\json.obj \ |
7 | 540 $(OUTDIR)\main.obj \ |
541 $(OUTDIR)\mark.obj \ | |
542 $(OUTDIR)\mbyte.obj \ | |
543 $(OUTDIR)\memfile.obj \ | |
544 $(OUTDIR)\memline.obj \ | |
545 $(OUTDIR)\menu.obj \ | |
546 $(OUTDIR)\message.obj \ | |
547 $(OUTDIR)\misc1.obj \ | |
548 $(OUTDIR)\misc2.obj \ | |
549 $(OUTDIR)\move.obj \ | |
550 $(OUTDIR)\normal.obj \ | |
551 $(OUTDIR)\ops.obj \ | |
552 $(OUTDIR)\option.obj \ | |
553 $(OUTDIR)\os_mswin.obj \ | |
4168 | 554 $(OUTDIR)\winclip.obj \ |
7 | 555 $(OUTDIR)\os_win32.obj \ |
556 $(OUTDIR)\pathdef.obj \ | |
799 | 557 $(OUTDIR)\popupmnu.obj \ |
7 | 558 $(OUTDIR)\quickfix.obj \ |
559 $(OUTDIR)\regexp.obj \ | |
560 $(OUTDIR)\screen.obj \ | |
561 $(OUTDIR)\search.obj \ | |
2192
40edf1be1cd8
Add blowfish and sha256 source files to more Makefiles.
Bram Moolenaar <bram@vim.org>
parents:
2180
diff
changeset
|
562 $(OUTDIR)\sha256.obj \ |
220 | 563 $(OUTDIR)\spell.obj \ |
7 | 564 $(OUTDIR)\syntax.obj \ |
565 $(OUTDIR)\tag.obj \ | |
566 $(OUTDIR)\term.obj \ | |
567 $(OUTDIR)\ui.obj \ | |
568 $(OUTDIR)\undo.obj \ | |
569 $(OUTDIR)\window.obj \ | |
570 $(OUTDIR)\vim.res | |
571 | |
572 !if "$(OLE)" == "yes" | |
573 CFLAGS = $(CFLAGS) -DFEAT_OLE | |
574 RCFLAGS = $(RCFLAGS) -DFEAT_OLE | |
575 OLE_OBJ = $(OUTDIR)\if_ole.obj | |
576 OLE_IDL = if_ole.idl | |
577 OLE_LIB = oleaut32.lib | |
578 !endif | |
579 | |
580 !if "$(IME)" == "yes" | |
581 CFLAGS = $(CFLAGS) -DFEAT_MBYTE_IME | |
582 !ifndef DYNAMIC_IME | |
583 DYNAMIC_IME = yes | |
584 !endif | |
585 !if "$(DYNAMIC_IME)" == "yes" | |
586 CFLAGS = $(CFLAGS) -DDYNAMIC_IME | |
587 !else | |
588 IME_LIB = imm32.lib | |
589 !endif | |
590 !endif | |
591 | |
592 !if "$(GIME)" == "yes" | |
593 CFLAGS = $(CFLAGS) -DGLOBAL_IME | |
594 OBJ = $(OBJ) $(OUTDIR)\dimm_i.obj $(OUTDIR)\glbl_ime.obj | |
595 MBYTE = yes | |
596 !endif | |
597 | |
598 !if "$(MBYTE)" == "yes" | |
599 CFLAGS = $(CFLAGS) -DFEAT_MBYTE | |
600 !endif | |
601 | |
602 !if "$(GUI)" == "yes" | |
603 SUBSYSTEM = windows | |
604 CFLAGS = $(CFLAGS) -DFEAT_GUI_W32 | |
605 RCFLAGS = $(RCFLAGS) -DFEAT_GUI_W32 | |
606 VIM = g$(VIM) | |
607 GUI_INCL = \ | |
608 gui.h \ | |
609 regexp.h \ | |
610 ascii.h \ | |
611 ex_cmds.h \ | |
612 farsi.h \ | |
613 feature.h \ | |
614 globals.h \ | |
184 | 615 gui_beval.h \ |
7 | 616 keymap.h \ |
617 macros.h \ | |
618 option.h \ | |
619 os_dos.h \ | |
620 os_win32.h | |
621 GUI_OBJ = \ | |
622 $(OUTDIR)\gui.obj \ | |
184 | 623 $(OUTDIR)\gui_beval.obj \ |
7 | 624 $(OUTDIR)\gui_w32.obj \ |
625 $(OUTDIR)\os_w32exe.obj | |
626 GUI_LIB = \ | |
1569 | 627 gdi32.lib version.lib $(IME_LIB) \ |
7 | 628 winspool.lib comctl32.lib advapi32.lib shell32.lib \ |
6797 | 629 /machine:$(CPU) |
7 | 630 !else |
631 SUBSYSTEM = console | |
632 !endif | |
633 | |
6149 | 634 !if "$(SUBSYSTEM_VER)" != "" |
635 SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER) | |
636 !endif | |
637 | |
6110 | 638 !if "$(GUI)" == "yes" && "$(DIRECTX)" == "yes" |
639 CFLAGS = $(CFLAGS) $(DIRECTX_DEFS) | |
640 GUI_INCL = $(GUI_INCL) $(DIRECTX_INCL) | |
641 GUI_OBJ = $(GUI_OBJ) $(DIRECTX_OBJ) | |
642 !endif | |
643 | |
7 | 644 # iconv.dll library (dynamically loaded) |
645 !ifndef ICONV | |
646 ICONV = yes | |
647 !endif | |
648 !if "$(ICONV)" == "yes" | |
649 CFLAGS = $(CFLAGS) -DDYNAMIC_ICONV | |
650 !endif | |
651 | |
652 # libintl.dll library | |
653 !ifndef GETTEXT | |
654 GETTEXT = yes | |
655 !endif | |
656 !if "$(GETTEXT)" == "yes" | |
657 CFLAGS = $(CFLAGS) -DDYNAMIC_GETTEXT | |
658 !endif | |
659 | |
660 # TCL interface | |
661 !ifdef TCL | |
662 !ifndef TCL_VER | |
663 TCL_VER = 83 | |
664 TCL_VER_LONG = 8.3 | |
665 !endif | |
666 !message Tcl requested (version $(TCL_VER)) - root dir is "$(TCL)" | |
667 !if "$(DYNAMIC_TCL)" == "yes" | |
668 !message Tcl DLL will be loaded dynamically | |
669 TCL_DLL = tcl$(TCL_VER).dll | |
416 | 670 CFLAGS = $(CFLAGS) -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_TCL_DLL=\"$(TCL_DLL)\" \ |
671 -DDYNAMIC_TCL_VER=\"$(TCL_VER_LONG)\" | |
7 | 672 TCL_OBJ = $(OUTDIR)\if_tcl.obj |
673 TCL_INC = /I "$(TCL)\Include" /I "$(TCL)" | |
3369 | 674 TCL_LIB = "$(TCL)\lib\tclstub$(TCL_VER).lib" |
7 | 675 !else |
676 CFLAGS = $(CFLAGS) -DFEAT_TCL | |
677 TCL_OBJ = $(OUTDIR)\if_tcl.obj | |
678 TCL_INC = /I "$(TCL)\Include" /I "$(TCL)" | |
679 TCL_LIB = $(TCL)\lib\tcl$(TCL_VER)vc.lib | |
680 !endif | |
681 !endif | |
682 | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
683 # Lua interface |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
684 !ifdef LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
685 !ifndef LUA_VER |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
686 LUA_VER = 51 |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
687 !endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
688 !message Lua requested (version $(LUA_VER)) - root dir is "$(LUA)" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
689 !if "$(DYNAMIC_LUA)" == "yes" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
690 !message Lua DLL will be loaded dynamically |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
691 !endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
692 CFLAGS = $(CFLAGS) -DFEAT_LUA |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
693 LUA_OBJ = $(OUTDIR)\if_lua.obj |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
694 LUA_INC = /I "$(LUA)\include" /I "$(LUA)" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
695 !if "$(DYNAMIC_LUA)" == "yes" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
696 CFLAGS = $(CFLAGS) -DDYNAMIC_LUA \ |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
697 -DDYNAMIC_LUA_DLL=\"lua$(LUA_VER).dll\" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
698 LUA_LIB = /nodefaultlib:lua$(LUA_VER).lib |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
699 !else |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
700 LUA_LIB = "$(LUA)\lib\lua$(LUA_VER).lib" |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
701 !endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
702 !endif |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
703 |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
704 !ifdef PYTHON |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
705 !ifdef PYTHON3 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
706 DYNAMIC_PYTHON=yes |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
707 DYNAMIC_PYTHON3=yes |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
708 !endif |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
709 !endif |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
710 |
7 | 711 # PYTHON interface |
712 !ifdef PYTHON | |
713 !ifndef PYTHON_VER | |
714 PYTHON_VER = 22 | |
715 !endif | |
716 !message Python requested (version $(PYTHON_VER)) - root dir is "$(PYTHON)" | |
717 !if "$(DYNAMIC_PYTHON)" == "yes" | |
718 !message Python DLL will be loaded dynamically | |
719 !endif | |
720 CFLAGS = $(CFLAGS) -DFEAT_PYTHON | |
721 PYTHON_OBJ = $(OUTDIR)\if_python.obj | |
722 PYTHON_INC = /I "$(PYTHON)\Include" /I "$(PYTHON)\PC" | |
723 !if "$(DYNAMIC_PYTHON)" == "yes" | |
416 | 724 CFLAGS = $(CFLAGS) -DDYNAMIC_PYTHON \ |
725 -DDYNAMIC_PYTHON_DLL=\"python$(PYTHON_VER).dll\" | |
7 | 726 PYTHON_LIB = /nodefaultlib:python$(PYTHON_VER).lib |
727 !else | |
728 PYTHON_LIB = $(PYTHON)\libs\python$(PYTHON_VER).lib | |
729 !endif | |
730 !endif | |
731 | |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
732 # PYTHON3 interface |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
733 !ifdef PYTHON3 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
734 !ifndef PYTHON3_VER |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
735 PYTHON3_VER = 31 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
736 !endif |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
737 !message Python3 requested (version $(PYTHON3_VER)) - root dir is "$(PYTHON3)" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
738 !if "$(DYNAMIC_PYTHON3)" == "yes" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
739 !message Python3 DLL will be loaded dynamically |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
740 !endif |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
741 CFLAGS = $(CFLAGS) -DFEAT_PYTHON3 |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
742 PYTHON3_OBJ = $(OUTDIR)\if_python3.obj |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
743 PYTHON3_INC = /I "$(PYTHON3)\Include" /I "$(PYTHON3)\PC" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
744 !if "$(DYNAMIC_PYTHON3)" == "yes" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
745 CFLAGS = $(CFLAGS) -DDYNAMIC_PYTHON3 \ |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
746 -DDYNAMIC_PYTHON3_DLL=\"python$(PYTHON3_VER).dll\" |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
747 PYTHON3_LIB = /nodefaultlib:python$(PYTHON3_VER).lib |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
748 !else |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
749 PYTHON3_LIB = $(PYTHON3)\libs\python$(PYTHON3_VER).lib |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
750 !endif |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
751 !endif |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
752 |
14 | 753 # MzScheme interface |
754 !ifdef MZSCHEME | |
755 !message MzScheme requested - root dir is "$(MZSCHEME)" | |
756 !ifndef MZSCHEME_VER | |
757 MZSCHEME_VER = 205_000 | |
758 !endif | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
759 !ifndef MZSCHEME_COLLECTS |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
760 MZSCHEME_COLLECTS=$(MZSCHEME)\collects |
1894 | 761 !endif |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
762 CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I "$(MZSCHEME)\include" |
2628 | 763 !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") |
764 MZSCHEME_MAIN_LIB=mzsch | |
765 !else | |
766 MZSCHEME_MAIN_LIB=racket | |
767 !endif | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
768 !if (EXIST("$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll") \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
769 && !EXIST("$(MZSCHEME)\lib\libmzgc$(MZSCHEME_VER).dll")) \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
770 || (EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
771 && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")) |
1894 | 772 !message Building with Precise GC |
773 MZSCHEME_PRECISE_GC = yes | |
774 CFLAGS = $(CFLAGS) -DMZ_PRECISE_GC | |
775 !endif | |
127 | 776 !if "$(DYNAMIC_MZSCHEME)" == "yes" |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
777 !message MzScheme DLLs will be loaded dynamically |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
778 CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME |
1894 | 779 !if "$(MZSCHEME_PRECISE_GC)" == "yes" |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
780 # Precise GC does not use separate dll |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
781 CFLAGS = $(CFLAGS) \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
782 -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
783 -DDYNAMIC_MZGC_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
784 !else |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
785 CFLAGS = $(CFLAGS) \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
786 -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
787 -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" |
1894 | 788 !endif |
127 | 789 !else |
1894 | 790 !if "$(MZSCHEME_DEBUG)" == "yes" |
791 CFLAGS = $(CFLAGS) -DMZSCHEME_FORCE_GC | |
792 !endif | |
793 !if "$(MZSCHEME_PRECISE_GC)" == "yes" | |
794 # Precise GC does not use separate dll | |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
795 !if EXIST("$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).def") |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
796 # create .lib from .def |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
797 MZSCHEME_LIB = lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
798 MZSCHEME_EXTRA_DEP = lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib |
1894 | 799 !else |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
800 MZSCHEME_LIB = "$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib" |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
801 !endif |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
802 !else |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
803 MZSCHEME_LIB = "$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib" \ |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
804 "$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib" |
127 | 805 !endif |
1894 | 806 !endif |
14 | 807 MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj |
3348 | 808 # increase stack size |
809 MZSCHEME_LIB = $(MZSCHEME_LIB) /STACK:8388608 | |
14 | 810 !endif |
811 | |
7 | 812 # Perl interface |
813 !ifdef PERL | |
814 !ifndef PERL_VER | |
815 PERL_VER = 56 | |
816 !endif | |
817 !message Perl requested (version $(PERL_VER)) - root dir is "$(PERL)" | |
818 !if "$(DYNAMIC_PERL)" == "yes" | |
819 !if $(PERL_VER) >= 56 | |
820 !message Perl DLL will be loaded dynamically | |
821 !else | |
822 !message Dynamic loading is not supported for Perl versions earlier than 5.6.0 | |
823 !message Reverting to static loading... | |
824 !undef DYNAMIC_PERL | |
825 !endif | |
826 !endif | |
827 | |
828 # Is Perl installed in architecture-specific directories? | |
829 !if exist($(PERL)\Bin\MSWin32-x86) | |
830 PERL_ARCH = \MSWin32-x86 | |
831 !endif | |
832 | |
833 PERL_INCDIR = $(PERL)\Lib$(PERL_ARCH)\Core | |
834 | |
835 # Version-dependent stuff | |
836 !if $(PERL_VER) == 55 | |
837 PERL_LIB = $(PERL_INCDIR)\perl.lib | |
838 !else | |
839 PERL_DLL = perl$(PERL_VER).dll | |
5560 | 840 !if exist($(PERL_INCDIR)\perl$(PERL_VER).lib) |
7 | 841 PERL_LIB = $(PERL_INCDIR)\perl$(PERL_VER).lib |
5560 | 842 !else |
843 # For ActivePerl 5.18 and later | |
844 PERL_LIB = $(PERL_INCDIR)\libperl$(PERL_VER).a | |
845 !endif | |
7 | 846 !endif |
847 | |
6872 | 848 CFLAGS = $(CFLAGS) -DFEAT_PERL -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS |
7 | 849 |
850 # Do we want to load Perl dynamically? | |
851 !if "$(DYNAMIC_PERL)" == "yes" | |
852 CFLAGS = $(CFLAGS) -DDYNAMIC_PERL -DDYNAMIC_PERL_DLL=\"$(PERL_DLL)\" | |
853 !undef PERL_LIB | |
854 !endif | |
855 | |
856 PERL_EXE = $(PERL)\Bin$(PERL_ARCH)\perl | |
857 PERL_INC = /I $(PERL_INCDIR) | |
7414
d467ca80d3c1
commit https://github.com/vim/vim/commit/2bf2417612879de627dcea1dbb22ee2199b16963
Christian Brabandt <cb@256bit.org>
parents:
7324
diff
changeset
|
858 !if $(MSVC_MAJOR) <= 11 |
d467ca80d3c1
commit https://github.com/vim/vim/commit/2bf2417612879de627dcea1dbb22ee2199b16963
Christian Brabandt <cb@256bit.org>
parents:
7324
diff
changeset
|
859 # ActivePerl 5.20+ requires stdbool.h but VC2012 or earlier doesn't have it. |
d467ca80d3c1
commit https://github.com/vim/vim/commit/2bf2417612879de627dcea1dbb22ee2199b16963
Christian Brabandt <cb@256bit.org>
parents:
7324
diff
changeset
|
860 # Use a stub stdbool.h. |
d467ca80d3c1
commit https://github.com/vim/vim/commit/2bf2417612879de627dcea1dbb22ee2199b16963
Christian Brabandt <cb@256bit.org>
parents:
7324
diff
changeset
|
861 PERL_INC = $(PERL_INC) /I if_perl_msvc |
d467ca80d3c1
commit https://github.com/vim/vim/commit/2bf2417612879de627dcea1dbb22ee2199b16963
Christian Brabandt <cb@256bit.org>
parents:
7324
diff
changeset
|
862 !endif |
7 | 863 PERL_OBJ = $(OUTDIR)\if_perl.obj $(OUTDIR)\if_perlsfio.obj |
864 XSUBPP = $(PERL)\lib\ExtUtils\xsubpp | |
3085 | 865 !if exist($(XSUBPP)) |
3064 | 866 XSUBPP = $(PERL_EXE) $(XSUBPP) |
867 !else | |
868 XSUBPP = xsubpp | |
869 !endif | |
7 | 870 XSUBPP_TYPEMAP = $(PERL)\lib\ExtUtils\typemap |
871 | |
872 !endif | |
873 | |
874 # | |
875 # Support Ruby interface | |
876 # | |
877 !ifdef RUBY | |
878 # Set default value | |
879 !ifndef RUBY_VER | |
880 RUBY_VER = 18 | |
881 !endif | |
882 !ifndef RUBY_VER_LONG | |
883 RUBY_VER_LONG = 1.8 | |
884 !endif | |
3722 | 885 !ifndef RUBY_API_VER |
886 RUBY_API_VER = $(RUBY_VER_LONG:.=) | |
887 !endif | |
7 | 888 |
889 !if $(RUBY_VER) >= 18 | |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
890 |
7 | 891 !ifndef RUBY_PLATFORM |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
892 !if "$(CPU)" == "i386" |
7 | 893 RUBY_PLATFORM = i386-mswin32 |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
894 !else # CPU |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
895 RUBY_PLATFORM = x64-mswin64 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
896 !endif # CPU |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
897 !if $(MSVCRT_VER) >= 70 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
898 RUBY_PLATFORM = $(RUBY_PLATFORM)_$(MSVCRT_VER) |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
899 !endif # MSVCRT_VER |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
900 !endif # RUBY_PLATFORM |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
901 |
7 | 902 !ifndef RUBY_INSTALL_NAME |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
903 !ifndef RUBY_MSVCRT_NAME |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
904 # Base name of msvcrXX.dll which is used by ruby's dll. |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
905 RUBY_MSVCRT_NAME = $(MSVCRT_NAME) |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
906 !endif # RUBY_MSVCRT_NAME |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
907 !if "$(CPU)" == "i386" |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
908 RUBY_INSTALL_NAME = $(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
909 !else # CPU |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
910 RUBY_INSTALL_NAME = x64-$(RUBY_MSVCRT_NAME)-ruby$(RUBY_API_VER) |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
911 !endif # CPU |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
912 !endif # RUBY_INSTALL_NAME |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
913 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
914 !else # $(RUBY_VER) >= 18 |
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
915 |
7 | 916 !ifndef RUBY_PLATFORM |
917 RUBY_PLATFORM = i586-mswin32 | |
918 !endif | |
919 !ifndef RUBY_INSTALL_NAME | |
3722 | 920 RUBY_INSTALL_NAME = mswin32-ruby$(RUBY_API_VER) |
7 | 921 !endif |
7521
665330ac1d78
commit https://github.com/vim/vim/commit/0bee2fe25aca7e8e5fefe55fe0f2c0e5e0878a98
Christian Brabandt <cb@256bit.org>
parents:
7475
diff
changeset
|
922 |
7 | 923 !endif # $(RUBY_VER) >= 18 |
924 | |
925 !message Ruby requested (version $(RUBY_VER)) - root dir is "$(RUBY)" | |
926 CFLAGS = $(CFLAGS) -DFEAT_RUBY | |
927 RUBY_OBJ = $(OUTDIR)\if_ruby.obj | |
3722 | 928 !if $(RUBY_VER) >= 19 |
929 RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)" /I "$(RUBY)\include\ruby-$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" | |
2342
f6540762173d
Fixes and improvements for MS-Windows build.
Bram Moolenaar <bram@vim.org>
parents:
2329
diff
changeset
|
930 !else |
7 | 931 RUBY_INC = /I "$(RUBY)\lib\ruby\$(RUBY_VER_LONG)\$(RUBY_PLATFORM)" |
2342
f6540762173d
Fixes and improvements for MS-Windows build.
Bram Moolenaar <bram@vim.org>
parents:
2329
diff
changeset
|
932 !endif |
7 | 933 RUBY_LIB = $(RUBY)\lib\$(RUBY_INSTALL_NAME).lib |
934 # Do we want to load Ruby dynamically? | |
935 !if "$(DYNAMIC_RUBY)" == "yes" | |
936 !message Ruby DLL will be loaded dynamically | |
416 | 937 CFLAGS = $(CFLAGS) -DDYNAMIC_RUBY -DDYNAMIC_RUBY_VER=$(RUBY_VER) \ |
938 -DDYNAMIC_RUBY_DLL=\"$(RUBY_INSTALL_NAME).dll\" | |
7 | 939 !undef RUBY_LIB |
940 !endif | |
941 !endif # RUBY | |
942 | |
943 # | |
944 # Support PostScript printing | |
945 # | |
946 !if "$(POSTSCRIPT)" == "yes" | |
947 CFLAGS = $(CFLAGS) -DMSWINPS | |
948 !endif # POSTSCRIPT | |
949 | |
950 # | |
951 # FEATURES: TINY, SMALL, NORMAL, BIG or HUGE | |
952 # | |
953 !if "$(FEATURES)"=="" | |
7699
854302b82ff9
commit https://github.com/vim/vim/commit/e5f2be61595fbbba77261f3bf1e032fe03a1966d
Christian Brabandt <cb@256bit.org>
parents:
7609
diff
changeset
|
954 FEATURES = HUGE |
7 | 955 !endif |
956 CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES) | |
957 | |
958 # | |
268 | 959 # Always generate the .pdb file, so that we get debug symbols that can be used |
960 # on a crash (doesn't add overhead to the executable). | |
1419 | 961 # Generate edit-and-continue debug info when no optimization - allows to |
962 # debug more conveniently (able to look at variables which are in registers) | |
268 | 963 # |
1419 | 964 CFLAGS = $(CFLAGS) /Fd$(OUTDIR)/ $(DEBUGINFO) |
965 LINK_PDB = /PDB:$(VIM).pdb -debug | |
268 | 966 |
967 # | |
968 # End extra feature include | |
7 | 969 # |
970 !message | |
971 | |
1419 | 972 conflags = /nologo /subsystem:$(SUBSYSTEM) |
7 | 973 |
659 | 974 PATHDEF_SRC = $(OUTDIR)\pathdef.c |
975 | |
7 | 976 !IF "$(MAP)" == "yes" |
977 # "/map" is for debugging | |
978 conflags = $(conflags) /map | |
979 !ELSEIF "$(MAP)" == "lines" | |
980 # "/mapinfo:lines" is for debugging, only works for VC6 and later | |
981 conflags = $(conflags) /map /mapinfo:lines | |
982 !ENDIF | |
983 | |
1419 | 984 LINKARGS1 = $(linkdebug) $(conflags) |
6797 | 985 LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(NODEFAULTLIB) $(LIBC) $(OLE_LIB) user32.lib $(SNIFF_LIB) \ |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
986 $(LUA_LIB) $(MZSCHEME_LIB) $(PERL_LIB) $(PYTHON_LIB) $(PYTHON3_LIB) $(RUBY_LIB) \ |
416 | 987 $(TCL_LIB) $(NETBEANS_LIB) $(XPM_LIB) $(LINK_PDB) |
7 | 988 |
1419 | 989 # Report link time code generation progress if used. |
990 !ifdef NODEBUG | |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
991 !if $(MSVC_MAJOR) >= 8 |
1419 | 992 !if "$(OPTIMIZE)" != "SPACE" |
993 LINKARGS1 = $(LINKARGS1) /LTCG:STATUS | |
994 !endif | |
995 !endif | |
996 !endif | |
997 | |
7475
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
998 all: $(VIM).exe \ |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
999 vimrun.exe \ |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1000 install.exe \ |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1001 uninstal.exe \ |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1002 xxd/xxd.exe \ |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1003 tee/tee.exe \ |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1004 GvimExt/gvimext.dll |
7 | 1005 |
416 | 1006 $(VIM).exe: $(OUTDIR) $(OBJ) $(GUI_OBJ) $(OLE_OBJ) $(OLE_IDL) $(MZSCHEME_OBJ) \ |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1007 $(LUA_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) $(TCL_OBJ) \ |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1008 $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) $(XPM_OBJ) \ |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1009 version.c version.h |
416 | 1010 $(CC) $(CFLAGS) version.c |
389 | 1011 $(link) $(LINKARGS1) -out:$(VIM).exe $(OBJ) $(GUI_OBJ) $(OLE_OBJ) \ |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1012 $(LUA_OBJ) $(MZSCHEME_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(PYTHON3_OBJ) $(RUBY_OBJ) \ |
416 | 1013 $(TCL_OBJ) $(SNIFF_OBJ) $(CSCOPE_OBJ) $(NETBEANS_OBJ) \ |
1014 $(XPM_OBJ) $(OUTDIR)\version.obj $(LINKARGS2) | |
5925 | 1015 if exist $(VIM).exe.manifest mt.exe -nologo -manifest $(VIM).exe.manifest -updateresource:$(VIM).exe;1 |
7 | 1016 |
388 | 1017 $(VIM): $(VIM).exe |
7 | 1018 |
1019 $(OUTDIR): | |
39 | 1020 if not exist $(OUTDIR)/nul mkdir $(OUTDIR) |
7 | 1021 |
1022 install.exe: dosinst.c | |
416 | 1023 $(CC) /nologo -DNDEBUG -DWIN32 dosinst.c kernel32.lib shell32.lib \ |
2220
b1c70c500de4
Found a way to make the MS-Windows installer wait for the uninstaller to
Bram Moolenaar <bram@vim.org>
parents:
2200
diff
changeset
|
1024 user32.lib ole32.lib advapi32.lib uuid.lib |
7 | 1025 - if exist install.exe del install.exe |
1026 ren dosinst.exe install.exe | |
1027 | |
1028 uninstal.exe: uninstal.c | |
1029 $(CC) /nologo -DNDEBUG -DWIN32 uninstal.c shell32.lib advapi32.lib | |
1030 | |
1031 vimrun.exe: vimrun.c | |
1032 $(CC) /nologo -DNDEBUG vimrun.c | |
1033 | |
1034 xxd/xxd.exe: xxd/xxd.c | |
1035 cd xxd | |
1036 $(MAKE) /NOLOGO -f Make_mvc.mak | |
1037 cd .. | |
1038 | |
7475
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1039 tee/tee.exe: tee/tee.c |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1040 cd tee |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1041 $(MAKE) /NOLOGO -f Make_mvc.mak |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1042 cd .. |
6b5ce5161d6d
commit https://github.com/vim/vim/commit/24db72958fc91bd067c7d60a4990d09a6f295b48
Christian Brabandt <cb@256bit.org>
parents:
7433
diff
changeset
|
1043 |
7 | 1044 GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h |
1045 cd GvimExt | |
1046 $(MAKE) /NOLOGO -f Makefile $(MAKEFLAGS_GVIMEXT) | |
1047 cd .. | |
1048 | |
1049 | |
1050 tags: notags | |
1051 $(CTAGS) *.c *.cpp *.h if_perl.xs proto\*.pro | |
1052 | |
1053 notags: | |
1054 - if exist tags del tags | |
1055 | |
1056 clean: | |
444 | 1057 - if exist $(OUTDIR)/nul $(DEL_TREE) $(OUTDIR) |
7 | 1058 - if exist *.obj del *.obj |
1059 - if exist $(VIM).exe del $(VIM).exe | |
1060 - if exist $(VIM).ilk del $(VIM).ilk | |
1061 - if exist $(VIM).pdb del $(VIM).pdb | |
1062 - if exist $(VIM).map del $(VIM).map | |
1063 - if exist $(VIM).ncb del $(VIM).ncb | |
1064 - if exist vimrun.exe del vimrun.exe | |
1065 - if exist install.exe del install.exe | |
1066 - if exist uninstal.exe del uninstal.exe | |
1067 - if exist if_perl.c del if_perl.c | |
1068 - if exist dimm.h del dimm.h | |
1069 - if exist dimm_i.c del dimm_i.c | |
1070 - if exist dimm.tlb del dimm.tlb | |
1071 - if exist dosinst.exe del dosinst.exe | |
1072 cd xxd | |
1073 $(MAKE) /NOLOGO -f Make_mvc.mak clean | |
1074 cd .. | |
7555
5bbfac219f20
commit https://github.com/vim/vim/commit/d08a8d4a31ed10225aca6be7565220fa541c32ac
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
1075 cd tee |
5bbfac219f20
commit https://github.com/vim/vim/commit/d08a8d4a31ed10225aca6be7565220fa541c32ac
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
1076 $(MAKE) /NOLOGO -f Make_mvc.mak clean |
5bbfac219f20
commit https://github.com/vim/vim/commit/d08a8d4a31ed10225aca6be7565220fa541c32ac
Christian Brabandt <cb@256bit.org>
parents:
7521
diff
changeset
|
1077 cd .. |
7 | 1078 cd GvimExt |
1079 $(MAKE) /NOLOGO -f Makefile clean | |
1080 cd .. | |
1081 cd GvimExt | |
1082 $(MAKE) /NOLOGO -f Makefile clean | |
1083 cd .. | |
1084 - if exist testdir\*.out del testdir\*.out | |
1085 | |
1086 test: | |
1087 cd testdir | |
1088 $(MAKE) /NOLOGO -f Make_dos.mak win32 | |
1089 cd .. | |
1090 | |
7433
b5d07f5e78ba
commit https://github.com/vim/vim/commit/7eae47af89580df07a72079405a0e7b8aad784a8
Christian Brabandt <cb@256bit.org>
parents:
7414
diff
changeset
|
1091 testgvim: |
b5d07f5e78ba
commit https://github.com/vim/vim/commit/7eae47af89580df07a72079405a0e7b8aad784a8
Christian Brabandt <cb@256bit.org>
parents:
7414
diff
changeset
|
1092 cd testdir |
b5d07f5e78ba
commit https://github.com/vim/vim/commit/7eae47af89580df07a72079405a0e7b8aad784a8
Christian Brabandt <cb@256bit.org>
parents:
7414
diff
changeset
|
1093 $(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\gvim win32 |
b5d07f5e78ba
commit https://github.com/vim/vim/commit/7eae47af89580df07a72079405a0e7b8aad784a8
Christian Brabandt <cb@256bit.org>
parents:
7414
diff
changeset
|
1094 cd .. |
b5d07f5e78ba
commit https://github.com/vim/vim/commit/7eae47af89580df07a72079405a0e7b8aad784a8
Christian Brabandt <cb@256bit.org>
parents:
7414
diff
changeset
|
1095 |
47 | 1096 testclean: |
1097 cd testdir | |
1098 $(MAKE) /NOLOGO -f Make_dos.mak clean | |
1099 cd .. | |
1100 | |
7 | 1101 ########################################################################### |
1102 | |
1103 # Create a default rule for transforming .c files to .obj files in $(OUTDIR) | |
1104 # Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later) | |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
1105 !IF "$(_NMAKE_VER)" == "" |
7 | 1106 .c{$(OUTDIR)/}.obj: |
1107 !ELSE | |
1108 .c{$(OUTDIR)/}.obj:: | |
1109 !ENDIF | |
416 | 1110 $(CC) $(CFLAGS) $< |
7 | 1111 |
1112 # Create a default rule for transforming .cpp files to .obj files in $(OUTDIR) | |
1113 # Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later) | |
7309
c412b0922c27
commit https://github.com/vim/vim/commit/90f5d0a5c3bbfeefcbc4d6eac59cf225ec714b28
Christian Brabandt <cb@256bit.org>
parents:
6952
diff
changeset
|
1114 !IF "$(_NMAKE_VER)" == "" |
7 | 1115 .cpp{$(OUTDIR)/}.obj: |
1116 !ELSE | |
1117 .cpp{$(OUTDIR)/}.obj:: | |
1118 !ENDIF | |
416 | 1119 $(CC) $(CFLAGS) $< |
7 | 1120 |
2180
f60a0c9cbe6c
Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
Bram Moolenaar <bram@vim.org>
parents:
2101
diff
changeset
|
1121 $(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL) |
f60a0c9cbe6c
Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
Bram Moolenaar <bram@vim.org>
parents:
2101
diff
changeset
|
1122 |
2192
40edf1be1cd8
Add blowfish and sha256 source files to more Makefiles.
Bram Moolenaar <bram@vim.org>
parents:
2180
diff
changeset
|
1123 $(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL) |
2180
f60a0c9cbe6c
Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
Bram Moolenaar <bram@vim.org>
parents:
2101
diff
changeset
|
1124 |
7 | 1125 $(OUTDIR)/charset.obj: $(OUTDIR) charset.c $(INCL) |
1126 | |
6126 | 1127 $(OUTDIR)/crypt.obj: $(OUTDIR) crypt.c $(INCL) |
1128 | |
1129 $(OUTDIR)/crypt_zip.obj: $(OUTDIR) crypt_zip.c $(INCL) | |
1130 | |
7 | 1131 $(OUTDIR)/diff.obj: $(OUTDIR) diff.c $(INCL) |
1132 | |
1133 $(OUTDIR)/digraph.obj: $(OUTDIR) digraph.c $(INCL) | |
1134 | |
1135 $(OUTDIR)/edit.obj: $(OUTDIR) edit.c $(INCL) | |
1136 | |
1137 $(OUTDIR)/eval.obj: $(OUTDIR) eval.c $(INCL) | |
1138 | |
1139 $(OUTDIR)/ex_cmds.obj: $(OUTDIR) ex_cmds.c $(INCL) | |
1140 | |
1141 $(OUTDIR)/ex_cmds2.obj: $(OUTDIR) ex_cmds2.c $(INCL) | |
1142 | |
1143 $(OUTDIR)/ex_docmd.obj: $(OUTDIR) ex_docmd.c $(INCL) ex_cmds.h | |
1144 | |
1145 $(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL) ex_cmds.h | |
1146 | |
1147 $(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL) | |
1148 | |
1149 $(OUTDIR)/fileio.obj: $(OUTDIR) fileio.c $(INCL) | |
1150 | |
1151 $(OUTDIR)/fold.obj: $(OUTDIR) fold.c $(INCL) | |
1152 | |
1153 $(OUTDIR)/getchar.obj: $(OUTDIR) getchar.c $(INCL) | |
1154 | |
440 | 1155 $(OUTDIR)/hardcopy.obj: $(OUTDIR) hardcopy.c $(INCL) |
1156 | |
799 | 1157 $(OUTDIR)/hashtab.obj: $(OUTDIR) hashtab.c $(INCL) |
119 | 1158 |
7 | 1159 $(OUTDIR)/gui.obj: $(OUTDIR) gui.c $(INCL) $(GUI_INCL) |
1160 | |
184 | 1161 $(OUTDIR)/gui_beval.obj: $(OUTDIR) gui_beval.c $(INCL) $(GUI_INCL) |
1162 | |
7 | 1163 $(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c gui_w48.c $(INCL) $(GUI_INCL) |
1164 | |
6110 | 1165 $(OUTDIR)/gui_dwrite.obj: $(OUTDIR) gui_dwrite.cpp $(INCL) $(GUI_INCL) |
1166 | |
7 | 1167 $(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL) |
1168 | |
2320
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1169 $(OUTDIR)/if_lua.obj: $(OUTDIR) if_lua.c $(INCL) |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1170 $(CC) $(CFLAGS) $(LUA_INC) if_lua.c |
966a5609669e
Added Lua interfae. (Luis Carvalho)
Bram Moolenaar <bram@vim.org>
parents:
2311
diff
changeset
|
1171 |
7 | 1172 if_perl.c : if_perl.xs typemap |
3064 | 1173 $(XSUBPP) -prototypes -typemap $(XSUBPP_TYPEMAP) \ |
416 | 1174 -typemap typemap if_perl.xs > if_perl.c |
7 | 1175 |
1176 $(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c $(INCL) | |
416 | 1177 $(CC) $(CFLAGS) $(PERL_INC) if_perl.c |
7 | 1178 |
1179 $(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c $(INCL) | |
416 | 1180 $(CC) $(CFLAGS) $(PERL_INC) if_perlsfio.c |
7 | 1181 |
4074 | 1182 $(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c if_mzsch.h $(INCL) $(MZSCHEME_EXTRA_DEP) |
426 | 1183 $(CC) $(CFLAGS) if_mzsch.c \ |
7609
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
1184 -DMZSCHEME_COLLECTS="\"$(MZSCHEME_COLLECTS:\=\\)\"" |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
1185 |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
1186 lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib: |
77a14f3bc18b
commit https://github.com/vim/vim/commit/4e640bd930d133889dbc9f9a77e29bab902e3b7d
Christian Brabandt <cb@256bit.org>
parents:
7591
diff
changeset
|
1187 lib /DEF:"$(MZSCHEME)\lib\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).def" |
14 | 1188 |
4724
450e13fe1621
updated for version 7.3.1109
Bram Moolenaar <bram@vim.org>
parents:
4446
diff
changeset
|
1189 $(OUTDIR)/if_python.obj: $(OUTDIR) if_python.c if_py_both.h $(INCL) |
416 | 1190 $(CC) $(CFLAGS) $(PYTHON_INC) if_python.c |
7 | 1191 |
4724
450e13fe1621
updated for version 7.3.1109
Bram Moolenaar <bram@vim.org>
parents:
4446
diff
changeset
|
1192 $(OUTDIR)/if_python3.obj: $(OUTDIR) if_python3.c if_py_both.h $(INCL) |
2329
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1193 $(CC) $(CFLAGS) $(PYTHON3_INC) if_python3.c |
ad2889f48843
Added support for Python 3. (Roland Puntaier)
Bram Moolenaar <bram@vim.org>
parents:
2320
diff
changeset
|
1194 |
7 | 1195 $(OUTDIR)/if_ole.obj: $(OUTDIR) if_ole.cpp $(INCL) if_ole.h |
1196 | |
1197 $(OUTDIR)/if_ruby.obj: $(OUTDIR) if_ruby.c $(INCL) | |
416 | 1198 $(CC) $(CFLAGS) $(RUBY_INC) if_ruby.c |
7 | 1199 |
1200 $(OUTDIR)/if_sniff.obj: $(OUTDIR) if_sniff.c $(INCL) | |
416 | 1201 $(CC) $(CFLAGS) if_sniff.c |
7 | 1202 |
1203 $(OUTDIR)/if_tcl.obj: $(OUTDIR) if_tcl.c $(INCL) | |
416 | 1204 $(CC) $(CFLAGS) $(TCL_INC) if_tcl.c |
7 | 1205 |
7712
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7699
diff
changeset
|
1206 $(OUTDIR)/json.obj: $(OUTDIR) json.c $(INCL) |
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7699
diff
changeset
|
1207 |
7 | 1208 $(OUTDIR)/main.obj: $(OUTDIR) main.c $(INCL) |
1209 | |
1210 $(OUTDIR)/mark.obj: $(OUTDIR) mark.c $(INCL) | |
1211 | |
1212 $(OUTDIR)/memfile.obj: $(OUTDIR) memfile.c $(INCL) | |
1213 | |
1214 $(OUTDIR)/memline.obj: $(OUTDIR) memline.c $(INCL) | |
1215 | |
1216 $(OUTDIR)/menu.obj: $(OUTDIR) menu.c $(INCL) | |
1217 | |
1218 $(OUTDIR)/message.obj: $(OUTDIR) message.c $(INCL) | |
1219 | |
1220 $(OUTDIR)/misc1.obj: $(OUTDIR) misc1.c $(INCL) | |
1221 | |
1222 $(OUTDIR)/misc2.obj: $(OUTDIR) misc2.c $(INCL) | |
1223 | |
1224 $(OUTDIR)/move.obj: $(OUTDIR) move.c $(INCL) | |
1225 | |
1226 $(OUTDIR)/mbyte.obj: $(OUTDIR) mbyte.c $(INCL) | |
1227 | |
1228 $(OUTDIR)/netbeans.obj: $(OUTDIR) netbeans.c $(NBDEBUG_SRC) $(INCL) | |
1229 | |
1230 $(OUTDIR)/normal.obj: $(OUTDIR) normal.c $(INCL) | |
1231 | |
1232 $(OUTDIR)/option.obj: $(OUTDIR) option.c $(INCL) | |
1233 | |
1234 $(OUTDIR)/ops.obj: $(OUTDIR) ops.c $(INCL) | |
1235 | |
1236 $(OUTDIR)/os_mswin.obj: $(OUTDIR) os_mswin.c $(INCL) | |
1237 | |
4168 | 1238 $(OUTDIR)/winclip.obj: $(OUTDIR) winclip.c $(INCL) |
1239 | |
7 | 1240 $(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) os_win32.h |
1241 | |
1242 $(OUTDIR)/os_w32exe.obj: $(OUTDIR) os_w32exe.c $(INCL) | |
1243 | |
659 | 1244 $(OUTDIR)/pathdef.obj: $(OUTDIR) $(PATHDEF_SRC) $(INCL) |
1245 $(CC) $(CFLAGS) $(PATHDEF_SRC) | |
7 | 1246 |
799 | 1247 $(OUTDIR)/popupmnu.obj: $(OUTDIR) popupmnu.c $(INCL) |
539 | 1248 |
7 | 1249 $(OUTDIR)/quickfix.obj: $(OUTDIR) quickfix.c $(INCL) |
1250 | |
4444 | 1251 $(OUTDIR)/regexp.obj: $(OUTDIR) regexp.c regexp_nfa.c $(INCL) |
7 | 1252 |
1253 $(OUTDIR)/screen.obj: $(OUTDIR) screen.c $(INCL) | |
1254 | |
1255 $(OUTDIR)/search.obj: $(OUTDIR) search.c $(INCL) | |
1256 | |
2192
40edf1be1cd8
Add blowfish and sha256 source files to more Makefiles.
Bram Moolenaar <bram@vim.org>
parents:
2180
diff
changeset
|
1257 $(OUTDIR)/sha256.obj: $(OUTDIR) sha256.c $(INCL) |
40edf1be1cd8
Add blowfish and sha256 source files to more Makefiles.
Bram Moolenaar <bram@vim.org>
parents:
2180
diff
changeset
|
1258 |
220 | 1259 $(OUTDIR)/spell.obj: $(OUTDIR) spell.c $(INCL) |
1260 | |
7 | 1261 $(OUTDIR)/syntax.obj: $(OUTDIR) syntax.c $(INCL) |
1262 | |
1263 $(OUTDIR)/tag.obj: $(OUTDIR) tag.c $(INCL) | |
1264 | |
1265 $(OUTDIR)/term.obj: $(OUTDIR) term.c $(INCL) | |
1266 | |
1267 $(OUTDIR)/ui.obj: $(OUTDIR) ui.c $(INCL) | |
1268 | |
1269 $(OUTDIR)/undo.obj: $(OUTDIR) undo.c $(INCL) | |
1270 | |
1271 $(OUTDIR)/window.obj: $(OUTDIR) window.c $(INCL) | |
1272 | |
1273 $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c | |
416 | 1274 $(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c |
7 | 1275 |
2311
ccda151dde4e
Support completion for ":find". (Nazri Ramliy)
Bram Moolenaar <bram@vim.org>
parents:
2243
diff
changeset
|
1276 $(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp \ |
ccda151dde4e
Support completion for ":find". (Nazri Ramliy)
Bram Moolenaar <bram@vim.org>
parents:
2243
diff
changeset
|
1277 tearoff.bmp vim.ico vim_error.ico \ |
ccda151dde4e
Support completion for ":find". (Nazri Ramliy)
Bram Moolenaar <bram@vim.org>
parents:
2243
diff
changeset
|
1278 vim_alert.ico vim_info.ico vim_quest.ico |
7 | 1279 $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc |
1280 | |
388 | 1281 iid_ole.c if_ole.h vim.tlb: if_ole.idl |
416 | 1282 midl /nologo /error none /proxy nul /iid iid_ole.c /tlb vim.tlb \ |
1283 /header if_ole.h if_ole.idl | |
7 | 1284 |
1285 dimm.h dimm_i.c: dimm.idl | |
388 | 1286 midl /nologo /error none /proxy nul dimm.idl |
7 | 1287 |
1288 $(OUTDIR)/dimm_i.obj: $(OUTDIR) dimm_i.c $(INCL) | |
1289 | |
1290 $(OUTDIR)/glbl_ime.obj: $(OUTDIR) glbl_ime.cpp dimm.h $(INCL) | |
1291 | |
19 | 1292 # $CFLAGS may contain backslashes and double quotes, escape them both. |
1293 E0_CFLAGS = $(CFLAGS:\=\\) | |
1294 E_CFLAGS = $(E0_CFLAGS:"=\") | |
1072 | 1295 # ") stop the string |
2708 | 1296 # $LINKARGS2 may contain backslashes and double quotes, escape them both. |
1297 E0_LINKARGS2 = $(LINKARGS2:\=\\) | |
1298 E_LINKARGS2 = $(E0_LINKARGS2:"=\") | |
1299 # ") stop the string | |
19 | 1300 |
659 | 1301 $(PATHDEF_SRC): auto |
1302 @echo creating $(PATHDEF_SRC) | |
1303 @echo /* pathdef.c */ > $(PATHDEF_SRC) | |
1304 @echo #include "vim.h" >> $(PATHDEF_SRC) | |
1305 @echo char_u *default_vim_dir = (char_u *)"$(VIMRCLOC:\=\\)"; >> $(PATHDEF_SRC) | |
1306 @echo char_u *default_vimruntime_dir = (char_u *)"$(VIMRUNTIMEDIR:\=\\)"; >> $(PATHDEF_SRC) | |
1307 @echo char_u *all_cflags = (char_u *)"$(CC:\=\\) $(E_CFLAGS)"; >> $(PATHDEF_SRC) | |
2708 | 1308 @echo char_u *all_lflags = (char_u *)"$(link:\=\\) $(LINKARGS1:\=\\) $(E_LINKARGS2)"; >> $(PATHDEF_SRC) |
659 | 1309 @echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> $(PATHDEF_SRC) |
1310 @echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> $(PATHDEF_SRC) | |
7 | 1311 |
1312 auto: | |
1313 if not exist auto/nul mkdir auto | |
1314 | |
1315 # End Custom Build | |
1316 proto.h: \ | |
2180
f60a0c9cbe6c
Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
Bram Moolenaar <bram@vim.org>
parents:
2101
diff
changeset
|
1317 proto/blowfish.pro \ |
7 | 1318 proto/buffer.pro \ |
1319 proto/charset.pro \ | |
6126 | 1320 proto/crypt.pro \ |
1321 proto/crypt_zip.pro \ | |
7 | 1322 proto/diff.pro \ |
1323 proto/digraph.pro \ | |
1324 proto/edit.pro \ | |
1325 proto/eval.pro \ | |
1326 proto/ex_cmds.pro \ | |
1327 proto/ex_cmds2.pro \ | |
1328 proto/ex_docmd.pro \ | |
1329 proto/ex_eval.pro \ | |
1330 proto/ex_getln.pro \ | |
1331 proto/fileio.pro \ | |
1332 proto/getchar.pro \ | |
440 | 1333 proto/hardcopy.pro \ |
799 | 1334 proto/hashtab.pro \ |
7712
bce3b5ddb393
commit https://github.com/vim/vim/commit/520e1e41f35b063ede63b41738c82d6636e78c34
Christian Brabandt <cb@256bit.org>
parents:
7699
diff
changeset
|
1335 proto/json.pro \ |
7 | 1336 proto/main.pro \ |
1337 proto/mark.pro \ | |
1338 proto/memfile.pro \ | |
1339 proto/memline.pro \ | |
1340 proto/menu.pro \ | |
1341 proto/message.pro \ | |
1342 proto/misc1.pro \ | |
1343 proto/misc2.pro \ | |
1344 proto/move.pro \ | |
1345 proto/mbyte.pro \ | |
1346 proto/normal.pro \ | |
1347 proto/ops.pro \ | |
1348 proto/option.pro \ | |
1349 proto/os_mswin.pro \ | |
4168 | 1350 proto/winclip.pro \ |
7 | 1351 proto/os_win32.pro \ |
799 | 1352 proto/popupmnu.pro \ |
7 | 1353 proto/quickfix.pro \ |
1354 proto/regexp.pro \ | |
1355 proto/screen.pro \ | |
1356 proto/search.pro \ | |
2180
f60a0c9cbe6c
Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
Bram Moolenaar <bram@vim.org>
parents:
2101
diff
changeset
|
1357 proto/sha256.pro \ |
220 | 1358 proto/spell.pro \ |
7 | 1359 proto/syntax.pro \ |
1360 proto/tag.pro \ | |
1361 proto/term.pro \ | |
1362 proto/ui.pro \ | |
1363 proto/undo.pro \ | |
1364 proto/window.pro \ | |
1365 $(NETBEANS_PRO) | |
1366 | |
844 | 1367 .SUFFIXES: .cod .i |
843 | 1368 |
1369 # Generate foo.cod (mixed source and assembly listing) from foo.c via "nmake | |
1370 # foo.cod" | |
1371 .c.cod: | |
1372 $(CC) $(CFLAGS) /FAcs $< | |
1373 | |
1374 # Generate foo.i (preprocessor listing) from foo.c via "nmake foo.i" | |
1375 .c.i: | |
1376 $(CC) $(CFLAGS) /P /C $< | |
714 | 1377 |
1378 | |
7 | 1379 # vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0: |