1#------------------------------------------------------------------------------
2# rules.vc --
3#
4#	Microsoft Visual C++ makefile include for decoding the commandline
5#	macros.  This file does not need editing to build Tcl.
6#
7# See the file "license.terms" for information on usage and redistribution
8# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
9# 
10# Copyright (c) 2001-2003 David Gravereaux.
11# Copyright (c) 2003-2007 Patrick Thoyts
12#
13#------------------------------------------------------------------------------
14# RCS: @(#) $Id: rules.vc,v 1.35.2.1 2008/06/25 10:57:54 patthoyts Exp $
15#------------------------------------------------------------------------------
16
17!ifndef _RULES_VC
18_RULES_VC = 1
19
20cc32		= $(CC)   # built-in default.
21link32		= link
22lib32		= lib
23rc32		= $(RC)   # built-in default.
24
25!ifndef INSTALLDIR
26### Assume the normal default.
27_INSTALLDIR	= C:\Program Files\Tcl
28!else
29### Fix the path separators.
30_INSTALLDIR	= $(INSTALLDIR:/=\)
31!endif
32
33!ifndef MACHINE
34!if "$(CPU)" == "" || "$(CPU)" == "i386"
35MACHINE		= IX86
36!else
37MACHINE         = $(CPU)
38!endif
39!endif
40
41!ifndef CFG_ENCODING
42CFG_ENCODING	= \"cp1252\"
43!endif
44
45#----------------------------------------------------------
46# Set the proper copy method to avoid overwrite questions
47# to the user when copying files and selecting the right
48# "delete all" method.
49#----------------------------------------------------------
50
51!if "$(OS)" == "Windows_NT"
52RMDIR	= rmdir /S /Q
53ERRNULL  = 2>NUL
54!if ![ver | find "4.0" > nul]
55CPY	= echo y | xcopy /i >NUL
56COPY	= copy >NUL
57!else
58CPY	= xcopy /i /y >NUL
59COPY	= copy /y >NUL
60!endif
61!else # "$(OS)" != "Windows_NT"
62CPY	= xcopy /i >_JUNK.OUT # On Win98 NUL does not work here.
63COPY	= copy >_JUNK.OUT # On Win98 NUL does not work here.
64RMDIR	= deltree /Y
65NULL    = \NUL # Used in testing directory existence
66ERRNULL = >NUL # Win9x shell cannot redirect stderr
67!endif
68MKDIR   = mkdir
69
70!message ===============================================================================
71
72#----------------------------------------------------------
73# build the helper app we need to overcome nmake's limiting
74# environment.
75#----------------------------------------------------------
76
77!if !exist(nmakehlp.exe)
78!if [$(cc32) -nologo nmakehlp.c -link -subsystem:console > nul]
79!endif
80!endif
81
82#----------------------------------------------------------
83# Test for compiler features
84#----------------------------------------------------------
85
86### test for optimizations
87!if [nmakehlp -c -Ot]
88!message *** Compiler has 'Optimizations'
89OPTIMIZING	= 1
90!else
91!message *** Compiler does not have 'Optimizations'
92OPTIMIZING	= 0
93!endif
94
95OPTIMIZATIONS   =
96
97!if [nmakehlp -c -Ot]
98OPTIMIZATIONS  = $(OPTIMIZATIONS) -Ot
99!endif
100
101!if [nmakehlp -c -Oi]
102OPTIMIZATIONS  = $(OPTIMIZATIONS) -Oi
103!endif
104
105!if [nmakehlp -c -Op]
106OPTIMIZATIONS  = $(OPTIMIZATIONS) -Op
107!endif
108
109!if [nmakehlp -c -fp:strict]
110OPTIMIZATIONS  = $(OPTIMIZATIONS) -fp:strict
111!endif
112
113!if [nmakehlp -c -Gs]
114OPTIMIZATIONS  = $(OPTIMIZATIONS) -Gs
115!endif
116
117!if [nmakehlp -c -GS]
118OPTIMIZATIONS  = $(OPTIMIZATIONS) -GS
119!endif
120
121!if [nmakehlp -c -GL]
122OPTIMIZATIONS  = $(OPTIMIZATIONS) -GL
123!endif
124
125DEBUGFLAGS     =
126
127!if [nmakehlp -c -RTC1]
128DEBUGFLAGS     = $(DEBUGFLAGS) -RTC1
129!elseif [nmakehlp -c -GZ]
130DEBUGFLAGS     = $(DEBUGFLAGS) -GZ
131!endif
132
133COMPILERFLAGS  =-W3
134
135# In v13 -GL and -YX are incompatible.
136!if [nmakehlp -c -YX]
137!if ![nmakehlp -c -GL]
138OPTIMIZATIONS  = $(OPTIMIZATIONS) -YX
139!endif
140!endif
141
142!if "$(MACHINE)" == "IX86"
143### test for pentium errata
144!if [nmakehlp -c -QI0f]
145!message *** Compiler has 'Pentium 0x0f fix'
146COMPILERFLAGS  = $(COMPILERFLAGSS) -QI0f
147!else
148!message *** Compiler does not have 'Pentium 0x0f fix'
149!endif
150!endif
151
152!if "$(MACHINE)" == "IA64"
153### test for Itanium errata
154!if [nmakehlp -c -QIA64_Bx]
155!message *** Compiler has 'B-stepping errata workarounds'
156COMPILERFLAGS   = $(COMPILERFLAGS) -QIA64_Bx
157!else
158!message *** Compiler does not have 'B-stepping errata workarounds'
159!endif
160!endif
161
162!if "$(MACHINE)" == "IX86"
163### test for -align:4096, when align:512 will do.
164!if [nmakehlp -l -opt:nowin98]
165!message *** Linker has 'Win98 alignment problem'
166ALIGN98_HACK	= 1
167!else
168!message *** Linker does not have 'Win98 alignment problem'
169ALIGN98_HACK	= 0
170!endif
171!else
172ALIGN98_HACK	= 0
173!endif
174
175LINKERFLAGS     =
176
177!if [nmakehlp -l -ltcg]
178LINKERFLAGS     =-ltcg
179!endif
180
181#----------------------------------------------------------
182# MSVC8 (ships with Visual Studio 2005) generates a manifest
183# file that we should link into the binaries. This is how.
184#----------------------------------------------------------
185
186_VC_MANIFEST_EMBED_EXE=
187_VC_MANIFEST_EMBED_DLL=
188VCVER=0
189!if ![echo VCVERSION=_MSC_VER > vercl.x] \
190    && ![cl -nologo -TC -P vercl.x $(ERRNULL)]
191!include vercl.i
192!if $(VCVERSION) >= 1500
193VCVER=9
194!elseif $(VCVERSION) >= 1400
195VCVER=8
196!elseif $(VCVERSION) >= 1300
197VCVER=7
198!elseif $(VCVERSION) >= 1200
199VCVER=6
200!endif
201!endif
202
203# Since MSVC8 we must deal with manifest resources.
204!if $(VCVERSION) >= 1400
205_VC_MANIFEST_EMBED_EXE=if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1
206_VC_MANIFEST_EMBED_DLL=if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2
207!endif
208
209#----------------------------------------------------------
210# Decode the options requested.
211#----------------------------------------------------------
212
213!if "$(OPTS)" == "" || [nmakehlp -f "$(OPTS)" "none"]
214STATIC_BUILD	= 0
215TCL_THREADS	= 0
216DEBUG		= 0
217SYMBOLS		= 0
218PROFILE		= 0
219MSVCRT		= 0
220LOIMPACT	= 0
221TCL_USE_STATIC_PACKAGES	= 0
222USE_THREAD_ALLOC = 0
223UNCHECKED	= 0
224!else
225!if [nmakehlp -f $(OPTS) "static"]
226!message *** Doing static
227STATIC_BUILD	= 1
228!else
229STATIC_BUILD	= 0
230!endif
231!if [nmakehlp -f $(OPTS) "msvcrt"]
232!message *** Doing msvcrt
233MSVCRT		= 1
234!else
235MSVCRT		= 0
236!endif
237!if [nmakehlp -f $(OPTS) "staticpkg"]
238!message *** Doing staticpkg
239TCL_USE_STATIC_PACKAGES	= 1
240!else
241TCL_USE_STATIC_PACKAGES	= 0
242!endif
243!if [nmakehlp -f $(OPTS) "threads"]
244!message *** Doing threads
245TCL_THREADS	= 1
246!else
247TCL_THREADS	= 0
248!endif
249!if [nmakehlp -f $(OPTS) "symbols"]
250!message *** Doing symbols
251DEBUG		= 1
252!else
253DEBUG		= 0
254!endif
255!if [nmakehlp -f $(OPTS) "pdbs"]
256!message *** Doing pdbs
257SYMBOLS		= 1
258!else
259SYMBOLS		= 0
260!endif
261!if [nmakehlp -f $(OPTS) "profile"]
262!message *** Doing profile
263PROFILE		= 1
264!else
265PROFILE		= 0
266!endif
267!if [nmakehlp -f $(OPTS) "loimpact"]
268!message *** Doing loimpact
269LOIMPACT	= 1
270!else
271LOIMPACT	= 0
272!endif
273!if [nmakehlp -f $(OPTS) "thrdalloc"]
274!message *** Doing thrdalloc
275USE_THREAD_ALLOC = 1
276!else
277USE_THREAD_ALLOC = 0
278!endif
279!if [nmakehlp -f $(OPTS) "unchecked"]
280!message *** Doing unchecked
281UNCHECKED = 1
282!else
283UNCHECKED = 0
284!endif
285!endif
286
287
288!if !$(STATIC_BUILD)
289# Make sure we don't build overly fat DLLs.
290MSVCRT		= 1
291# We shouldn't statically put the extensions inside the shell when dynamic.
292TCL_USE_STATIC_PACKAGES = 0
293!endif
294
295
296#----------------------------------------------------------
297# Figure-out how to name our intermediate and output directories.
298# We wouldn't want different builds to use the same .obj files
299# by accident.
300#----------------------------------------------------------
301
302#----------------------------------------
303# Naming convention:
304#   t = full thread support.
305#   s = static library (as opposed to an
306#	import library)
307#   g = linked to the debug enabled C
308#	run-time.
309#   x = special static build when it
310#	links to the dynamic C run-time.
311#----------------------------------------
312SUFX	    = tsgx
313
314!if $(DEBUG)
315BUILDDIRTOP = Debug
316!else
317BUILDDIRTOP = Release
318!endif
319
320!if "$(MACHINE)" != "IX86"
321BUILDDIRTOP =$(BUILDDIRTOP)_$(MACHINE)
322!endif
323!if $(VCVER) > 6
324BUILDDIRTOP =$(BUILDDIRTOP)_VC$(VCVER)
325!endif
326
327!if !$(DEBUG) || $(DEBUG) && $(UNCHECKED)
328SUFX	    = $(SUFX:g=)
329!endif
330
331TMP_DIRFULL = .\$(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX
332
333!if !$(STATIC_BUILD)
334TMP_DIRFULL = $(TMP_DIRFULL:Static=)
335SUFX	    = $(SUFX:s=)
336EXT	    = dll
337!if $(MSVCRT)
338TMP_DIRFULL = $(TMP_DIRFULL:X=)
339SUFX	    = $(SUFX:x=)
340!endif
341!else
342TMP_DIRFULL = $(TMP_DIRFULL:Dynamic=)
343EXT	    = lib
344!if !$(MSVCRT)
345TMP_DIRFULL = $(TMP_DIRFULL:X=)
346SUFX	    = $(SUFX:x=)
347!endif
348!endif
349
350!if !$(TCL_THREADS)
351TMP_DIRFULL = $(TMP_DIRFULL:Threaded=)
352SUFX	    = $(SUFX:t=)
353!endif
354
355!ifndef TMP_DIR
356TMP_DIR	    = $(TMP_DIRFULL)
357!ifndef OUT_DIR
358OUT_DIR	    = .\$(BUILDDIRTOP)
359!endif
360!else
361!ifndef OUT_DIR
362OUT_DIR	    = $(TMP_DIR)
363!endif
364!endif
365
366
367#----------------------------------------------------------
368# Decode the statistics requested.
369#----------------------------------------------------------
370
371!if "$(STATS)" == "" || [nmakehlp -f "$(STATS)" "none"]
372TCL_MEM_DEBUG	    = 0
373TCL_COMPILE_DEBUG   = 0
374!else
375!if [nmakehlp -f $(STATS) "memdbg"]
376!message *** Doing memdbg
377TCL_MEM_DEBUG	    = 1
378!else
379TCL_MEM_DEBUG	    = 0
380!endif
381!if [nmakehlp -f $(STATS) "compdbg"]
382!message *** Doing compdbg
383TCL_COMPILE_DEBUG   = 1
384!else
385TCL_COMPILE_DEBUG   = 0
386!endif
387!endif
388
389
390#----------------------------------------------------------
391# Decode the checks requested.
392#----------------------------------------------------------
393
394!if "$(CHECKS)" == "" || [nmakehlp -f "$(CHECKS)" "none"]
395TCL_NO_DEPRECATED	    = 0
396WARNINGS		    = -W3
397!else
398!if [nmakehlp -f $(CHECKS) "nodep"]
399!message *** Doing nodep check
400TCL_NO_DEPRECATED	    = 1
401!else
402TCL_NO_DEPRECATED	    = 0
403!endif
404!if [nmakehlp -f $(CHECKS) "fullwarn"]
405!message *** Doing full warnings check
406WARNINGS		    = -W4
407!if [nmakehlp -l -warn:3]
408LINKERFLAGS		    = $(LINKERFLAGS) -warn:3
409!endif
410!else
411WARNINGS		    = -W3
412!endif
413!if [nmakehlp -f $(CHECKS) "64bit"] && [nmakehlp -c -Wp64]
414!message *** Doing 64bit portability warnings
415WARNINGS		    = $(WARNINGS) -Wp64
416!endif
417!endif
418
419#----------------------------------------------------------
420# Set our defines now armed with our options.
421#----------------------------------------------------------
422
423OPTDEFINES	= -DTCL_CFGVAL_ENCODING=$(CFG_ENCODING) -DSTDC_HEADERS
424
425!if $(TCL_MEM_DEBUG)
426OPTDEFINES	= $(OPTDEFINES) -DTCL_MEM_DEBUG
427!endif
428!if $(TCL_COMPILE_DEBUG)
429OPTDEFINES	= $(OPTDEFINES) -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
430!endif
431!if $(TCL_THREADS)
432OPTDEFINES	= $(OPTDEFINES) -DTCL_THREADS=1
433!if $(USE_THREAD_ALLOC)
434OPTDEFINES	= $(OPTDEFINES) -DUSE_THREAD_ALLOC=1
435!endif
436!endif
437!if $(STATIC_BUILD)
438OPTDEFINES	= $(OPTDEFINES) -DSTATIC_BUILD
439!endif
440!if $(TCL_NO_DEPRECATED)
441OPTDEFINES	= $(OPTDEFINES) -DTCL_NO_DEPRECATED
442!endif
443
444!if $(DEBUG)
445OPTDEFINES	= $(OPTDEFINES) -DTCL_CFG_DEBUG
446!elseif $(OPTIMIZING)
447OPTDEFINES	= $(OPTDEFINES) -DTCL_CFG_OPTIMIZED
448!endif
449!if $(PROFILE)
450OPTDEFINES	= $(OPTDEFINES) -DTCL_CFG_PROFILED
451!endif
452!if "$(MACHINE)" == "IA64" || "$(MACHINE)" == "AMD64"
453OPTDEFINES	= $(OPTDEFINES) -DTCL_CFG_DO64BIT
454!endif
455
456
457#----------------------------------------------------------
458# Locate the Tcl headers to build against
459#----------------------------------------------------------
460
461!if "$(PROJECT)" == "tcl"
462
463_TCL_H          = ..\generic\tcl.h
464
465!else
466
467# If INSTALLDIR set to tcl root dir then reset to the lib dir.
468!if exist("$(_INSTALLDIR)\include\tcl.h")
469_INSTALLDIR=$(_INSTALLDIR)\lib
470!endif
471
472!if !defined(TCLDIR)
473!if exist("$(_INSTALLDIR)\..\include\tcl.h")
474TCLINSTALL	= 1
475_TCLDIR		= $(_INSTALLDIR)\..
476_TCL_H          = $(_INSTALLDIR)\..\include\tcl.h
477TCLDIR          = $(_INSTALLDIR)\..
478!else
479MSG=^
480Failed to find tcl.h.  Set the TCLDIR macro.
481!error $(MSG)
482!endif
483!else
484_TCLDIR	= $(TCLDIR:/=\)
485!if exist("$(_TCLDIR)\include\tcl.h")
486TCLINSTALL	= 1
487_TCL_H          = $(_TCLDIR)\include\tcl.h
488!elseif exist("$(_TCLDIR)\generic\tcl.h")
489TCLINSTALL	= 0
490_TCL_H          = $(_TCLDIR)\generic\tcl.h
491!else
492MSG =^
493Failed to find tcl.h.  The TCLDIR macro does not appear correct.
494!error $(MSG)
495!endif
496!endif
497!endif
498
499#--------------------------------------------------------------
500# Extract various version numbers from tcl headers
501# The generated file is then included in the makefile.
502#--------------------------------------------------------------
503
504!if [echo REM = This file is generated from rules.vc > versions.vc]
505!endif
506!if [echo TCL_MAJOR_VERSION = \>> versions.vc] \
507   && [nmakehlp -V "$(_TCL_H)" TCL_MAJOR_VERSION >> versions.vc]
508!endif
509!if [echo TCL_MINOR_VERSION = \>> versions.vc] \
510   && [nmakehlp -V "$(_TCL_H)" TCL_MINOR_VERSION >> versions.vc]
511!endif
512!if [echo TCL_PATCH_LEVEL = \>> versions.vc] \
513   && [nmakehlp -V "$(_TCL_H)" TCL_PATCH_LEVEL >> versions.vc]
514!endif
515
516# If building the tcl core then we need additional package versions
517!if "$(PROJECT)" == "tcl"
518!if [echo PKG_HTTP_VER = \>> versions.vc] \
519   && [nmakehlp -V ..\library\http\pkgIndex.tcl http >> versions.vc]
520!endif
521!if [echo PKG_TCLTEST_VER = \>> versions.vc] \
522   && [nmakehlp -V ..\library\tcltest\pkgIndex.tcl tcltest >> versions.vc]
523!endif
524!if [echo PKG_MSGCAT_VER = \>> versions.vc] \
525   && [nmakehlp -V ..\library\msgcat\pkgIndex.tcl msgcat >> versions.vc]
526!endif
527!if [echo PKG_PLATFORM_VER = \>> versions.vc] \
528   && [nmakehlp -V ..\library\platform\pkgIndex.tcl "platform " >> versions.vc]
529!endif
530!if [echo PKG_SHELL_VER = \>> versions.vc] \
531   && [nmakehlp -V ..\library\platform\pkgIndex.tcl "platform::shell" >> versions.vc]
532!endif
533!if [echo PKG_DDE_VER = \>> versions.vc] \
534   && [nmakehlp -V ..\library\dde\pkgIndex.tcl "dde " >> versions.vc]
535!endif
536!if [echo PKG_REG_VER =\>> versions.vc] \
537   && [nmakehlp -V ..\library\reg\pkgIndex.tcl registry >> versions.vc]
538!endif
539!endif
540
541!include versions.vc
542
543#--------------------------------------------------------------
544# Setup tcl version dependent stuff headers
545#--------------------------------------------------------------
546
547!if "$(PROJECT)" != "tcl"
548
549TCL_VERSION	= $(TCL_MAJOR_VERSION)$(TCL_MINOR_VERSION)
550
551!if $(TCL_VERSION) < 81
552TCL_DOES_STUBS	= 0
553!else
554TCL_DOES_STUBS	= 1
555!endif
556
557!if $(TCLINSTALL)
558TCLSH		= "$(_TCLDIR)\bin\tclsh$(TCL_VERSION)$(SUFX).exe"
559!if !exist($(TCLSH)) && $(TCL_THREADS)
560TCLSH           = "$(_TCLDIR)\bin\tclsh$(TCL_VERSION)t$(SUFX).exe"
561!endif
562TCLSTUBLIB	= "$(_TCLDIR)\lib\tclstub$(TCL_VERSION).lib"
563TCLIMPLIB	= "$(_TCLDIR)\lib\tcl$(TCL_VERSION)$(SUFX).lib"
564TCL_LIBRARY	= $(_TCLDIR)\lib
565TCLREGLIB	= "$(_TCLDIR)\lib\tclreg12$(SUFX:t=).lib"
566TCLDDELIB	= "$(_TCLDIR)\lib\tcldde13$(SUFX:t=).lib"
567COFFBASE	= \must\have\tcl\sources\to\build\this\target
568TCLTOOLSDIR	= \must\have\tcl\sources\to\build\this\target
569TCL_INCLUDES    = -I"$(_TCLDIR)\include"
570!else
571TCLSH		= "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)$(SUFX).exe"
572!if !exist($(TCLSH)) && $(TCL_THREADS)
573TCLSH		= "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclsh$(TCL_VERSION)t$(SUFX).exe"
574!endif
575TCLSTUBLIB	= "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclstub$(TCL_VERSION).lib"
576TCLIMPLIB	= "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcl$(TCL_VERSION)$(SUFX).lib"
577TCL_LIBRARY	= $(_TCLDIR)\library
578TCLREGLIB	= "$(_TCLDIR)\win\$(BUILDDIRTOP)\tclreg12$(SUFX:t=).lib"
579TCLDDELIB	= "$(_TCLDIR)\win\$(BUILDDIRTOP)\tcldde13$(SUFX:t=).lib"
580COFFBASE	= "$(_TCLDIR)\win\coffbase.txt"
581TCLTOOLSDIR	= $(_TCLDIR)\tools
582TCL_INCLUDES	= -I"$(_TCLDIR)\generic" -I"$(_TCLDIR)\win"
583!endif
584
585!endif
586
587#-------------------------------------------------------------------------
588# Locate the Tk headers to build against
589#-------------------------------------------------------------------------
590
591!if "$(PROJECT)" == "tk"
592_TK_H          = ..\generic\tk.h
593_INSTALLDIR    = $(_INSTALLDIR)\..
594!endif
595
596!ifdef PROJECT_REQUIRES_TK
597!if !defined(TKDIR)
598!if exist("$(_INSTALLDIR)\..\include\tk.h")
599TKINSTALL      = 1
600_TKDIR         = $(_INSTALLDIR)\..
601_TK_H          = $(_TKDIR)\include\tk.h
602TKDIR          = $(_TKDIR)
603!elseif exist("$(_TCLDIR)\include\tk.h")
604TKINSTALL      = 1
605_TKDIR         = $(_TCLDIR)
606_TK_H          = $(_TKDIR)\include\tk.h
607TKDIR          = $(_TKDIR)
608!endif
609!else
610_TKDIR = $(TKDIR:/=\)
611!if exist("$(_TKDIR)\include\tk.h")
612TKINSTALL      = 1
613_TK_H          = $(_TKDIR)\include\tk.h
614!elseif exist("$(_TKDIR)\generic\tk.h")
615TKINSTALL      = 0
616_TK_H          = $(_TKDIR)\generic\tk.h
617!else
618MSG =^
619Failed to find tk.h. The TKDIR macro does not appear correct.
620!error $(MSG)
621!endif
622!endif
623!endif
624
625#-------------------------------------------------------------------------
626# Extract Tk version numbers
627#-------------------------------------------------------------------------
628
629!if defined(PROJECT_REQUIRES_TK) || "$(PROJECT)" == "tk"
630
631!if [echo TK_MAJOR_VERSION = \>> versions.vc] \
632   && [nmakehlp -V $(_TK_H) TK_MAJOR_VERSION >> versions.vc]
633!endif
634!if [echo TK_MINOR_VERSION = \>> versions.vc] \
635   && [nmakehlp -V $(_TK_H) TK_MINOR_VERSION >> versions.vc]
636!endif
637!if [echo TK_PATCH_LEVEL = \>> versions.vc] \
638   && [nmakehlp -V $(_TK_H) TK_PATCH_LEVEL >> versions.vc]
639!endif
640
641!include versions.vc
642
643TK_DOTVERSION	= $(TK_MAJOR_VERSION).$(TK_MINOR_VERSION)
644TK_VERSION	= $(TK_MAJOR_VERSION)$(TK_MINOR_VERSION)
645
646!if "$(PROJECT)" != "tk"
647!if $(TKINSTALL)
648WISH		= "$(_TKDIR)\bin\wish$(TK_VERSION)$(SUFX).exe"
649TKSTUBLIB	= "$(_TKDIR)\lib\tkstub$(TK_VERSION).lib"
650TKIMPLIB	= "$(_TKDIR)\lib\tk$(TK_VERSION)$(SUFX).lib"
651TK_INCLUDES     = -I"$(_TKDIR)\include"
652!else
653WISH		= "$(_TKDIR)\win\$(BUILDDIRTOP)\wish$(TCL_VERSION)$(SUFX).exe"
654TKSTUBLIB	= "$(_TKDIR)\win\$(BUILDDIRTOP)\tkstub$(TCL_VERSION).lib"
655TKIMPLIB	= "$(_TKDIR)\win\$(BUILDDIRTOP)\tk$(TCL_VERSION)$(SUFX).lib"
656TK_INCLUDES     = -I"$(_TKDIR)\generic" -I"$(_TKDIR)\win" -I"$(_TKDIR)\xlib"
657!endif
658!endif
659
660!endif
661
662#----------------------------------------------------------
663# Display stats being used.
664#----------------------------------------------------------
665
666!message *** Intermediate directory will be '$(TMP_DIR)'
667!message *** Output directory will be '$(OUT_DIR)'
668!message *** Suffix for binaries will be '$(SUFX)'
669!message *** Optional defines are '$(OPTDEFINES)'
670!message *** Compiler version $(VCVER). Target machine is $(MACHINE)
671!message *** Compiler options '$(COMPILERFLAGS) $(OPTIMIZATIONS) $(DEBUGFLAGS) $(WARNINGS)'
672!message *** Link options '$(LINKERFLAGS)'
673
674!endif
675
676