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