OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / util / src / TclTk / tcl8.6.12 / win / makefile.vc
diff --git a/util/src/TclTk/tcl8.6.12/win/makefile.vc b/util/src/TclTk/tcl8.6.12/win/makefile.vc
new file mode 100644 (file)
index 0000000..ad20fd1
--- /dev/null
@@ -0,0 +1,1005 @@
+#------------------------------------------------------------- -*- makefile -*-\r
+#\r
+#      Microsoft Visual C++ makefile for building Tcl with nmake\r
+#\r
+# See the file "license.terms" for information on usage and redistribution\r
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.\r
+#\r
+# Copyright (c) 1995-1996 Sun Microsystems, Inc.\r
+# Copyright (c) 1998-2000 Ajuba Solutions.\r
+# Copyright (c) 2001-2005 ActiveState Corporation.\r
+# Copyright (c) 2001-2004 David Gravereaux.\r
+# Copyright (c) 2003-2008 Pat Thoyts.\r
+# Copyright (c) 2017 Ashok P. Nadkarni\r
+#------------------------------------------------------------------------------\r
+\r
+# General usage:\r
+#   nmake [-nologo] -f makefile.vc [TARGET|MACRODEF [TARGET|MACRODEF] [...]]\r
+#\r
+# For MACRODEF, see TIP 477 (https://core.tcl-lang.org/tips/doc/main/tip/477.md)\r
+# or examine Sections 6-8 in rules.vc.\r
+#\r
+# Possible values of TARGET are:\r
+#      release  -- Builds the core, the shell and the dlls. (default)\r
+#      dlls     -- Just builds the windows extensions\r
+#      shell    -- Just builds the shell and the core.\r
+#      core     -- Only builds the core [tclXX.(dll|lib)].\r
+#      all      -- Builds everything.\r
+#      test     -- Builds and runs the test suite.\r
+#      tcltest  -- Just builds the test shell.\r
+#      install  -- Installs the built binaries and libraries to $(INSTALLDIR)\r
+#                  as the root of the install tree.\r
+#      tidy/clean/hose -- varying levels of cleaning.\r
+#      genstubs -- Rebuilds the Stubs table and support files (dev only).\r
+#      depend   -- Generates an accurate set of source dependancies for this\r
+#                  makefile.  Helpful to avoid problems when the sources are\r
+#                  refreshed and you rebuild, but can "overbuild" when common\r
+#                  headers like tclInt.h just get small changes.\r
+#      htmlhelp -- Builds a Windows .chm help file for Tcl and Tk from the\r
+#                  troff manual pages found in $(ROOT)\doc. You need to\r
+#                  have installed the HTML Help Compiler package from Microsoft\r
+#                  to produce the .chm file.\r
+#\r
+# The steps to setup a Visual C++ environment depend on which\r
+# version of Visual Studio and/or the Windows SDK you are building\r
+# against and are not described here. The simplest method is generally\r
+# to start a command shell using one of the short cuts installed by\r
+# Visual Studio/Windows SDK for the appropriate target architecture.\r
+#\r
+# NOTE: For older (Visual C++ 6 or the 2003 SDK), to use the Platform\r
+# SDK (not expressly needed), run setenv.bat after\r
+# vcvars32.bat according to the instructions for it.  This can also\r
+# turn on the 64-bit compiler, if your SDK has it.\r
+#\r
+# Basic macros and options usable on the commandline (see rules.vc for more info):\r
+#      OPTS=msvcrt,nothreads,pdbs,profile,static,staticpkg,symbols,thrdalloc,time64bit,unchecked,utfmax,none\r
+#              Sets special options for the core.  The default is for none.\r
+#              Any combination of the above may be used (comma separated).\r
+#              'none' will over-ride everything to nothing.\r
+#\r
+#              msvcrt    = Affects the static option only to switch it from\r
+#                          using libcmt(d) as the C runtime [by default] to\r
+#                          msvcrt(d). This is useful for static embedding\r
+#                          support.\r
+#              nothreads = Turns off full multithreading support (default on).\r
+#              pbds      =  Produce separate debug symbol files.\r
+#              profile   =  Adds profiling hooks.  Map file is assumed.\r
+#              static    = Builds a static library of the core instead of a\r
+#                          dll.  The shell will be static (and large), as well.\r
+#              staticpkg = Affects the static option only to switch\r
+#                          tclshXX.exe to have the dde and reg extension linked\r
+#                          inside it.\r
+#              symbols   =  Adds symbols for step debugging.\r
+#              thrdalloc = Use the thread allocator (shared global free pool).\r
+#              time64bit = Forces a build using 64-bit time_t for 32-bit build\r
+#                          (CRT library should support this).\r
+#              unchecked = Allows a symbols build to not use the debug\r
+#                          enabled runtime (msvcrt.dll not msvcrtd.dll\r
+#                          or libcmt.lib not libcmtd.lib).\r
+#              utfmax    = Forces a build allowing 4-byte UTF-8 sequences\r
+#                          internally.\r
+#\r
+#      STATS=compdbg,memdbg,none\r
+#              Sets optional memory and bytecode compiler debugging code added\r
+#              to the core.  The default is for none.  Any combination of the\r
+#              above may be used (comma separated).  'none' will over-ride\r
+#              everything to nothing.\r
+#\r
+#              compdbg  = Enables byte compilation logging.\r
+#              memdbg   = Enables the debugging memory allocator.\r
+#\r
+#      CHECKS=64bit,fullwarn,nodep,none\r
+#              Sets special macros for checking compatibility.\r
+#\r
+#              64bit    = Enable 64bit portability warnings (if available)\r
+#              fullwarn = Builds with full compiler and link warnings enabled.\r
+#                          Very verbose.\r
+#              nodep    = Turns off compatibility macros to ensure the core\r
+#                          isn't being built with deprecated functions.\r
+#\r
+#      MACHINE=(ALPHA|AMD64|IA64|IX86)\r
+#              Set the machine type used for the compiler, linker, and\r
+#              resource compiler.  This hook is needed to tell the tools\r
+#              when alternate platforms are requested.  IX86 is the default\r
+#              when not specified. If the CPU environment variable has been\r
+#              set (ie: recent Platform SDK) then MACHINE is set from CPU.\r
+#\r
+#      TMP_DIR=<path>\r
+#      OUT_DIR=<path>\r
+#              Hooks to allow the intermediate and output directories to be\r
+#              changed.  $(OUT_DIR) is assumed to be\r
+#              $(BINROOT)\(Release|Debug) based on if symbols are requested.\r
+#              $(TMP_DIR) will de $(OUT_DIR)\<buildtype> by default.\r
+#\r
+#      TESTPAT=<file>\r
+#              Reads the tests requested to be run from this file.\r
+#\r
+# Examples:\r
+#       c:\tcl_src\win\>nmake -f makefile.vc release\r
+#       c:\tcl_src\win\>nmake -f makefile.vc test\r
+#       c:\tcl_src\win\>nmake -f makefile.vc install INSTALLDIR=c:\progra~1\tcl\r
+#       c:\tcl_src\win\>nmake -f makefile.vc release OPTS=pdbs\r
+#       c:\tcl_src\win\>nmake -f makefile.vc release OPTS=symbols\r
+#\r
+\r
+# NOTE:\r
+# Before modifying this file, check whether the modification is applicable\r
+# to building extensions as well and if so, modify rules.vc instead.\r
+\r
+# The PROJECT macro is used by rules.vc for generating appropriate\r
+# macros and rules.\r
+PROJECT = tcl\r
+\r
+# Default target to build if no target is specified. If unspecified, the\r
+# rules.vc file will set up "all" as the target.\r
+DEFAULT_BUILD_TARGET = release\r
+\r
+# We want to use our own resource file, not the standard template one.\r
+RCFILE = tcl.rc\r
+\r
+# The rules.vc file does most of the hard work in terms of defining\r
+# the build configuration, macros, output directories etc.\r
+!include "rules.vc"\r
+\r
+# Tcl version info based on macros set up by rules.vc\r
+DOTVERSION      = $(TCL_MAJOR_VERSION).$(TCL_MINOR_VERSION)\r
+VERSION         = $(TCL_MAJOR_VERSION)$(TCL_MINOR_VERSION)\r
+\r
+# We need versions of various core packages to generate appropriate\r
+# file names during installation.\r
+!if [echo REM = This file is generated from makefile.vc > versions.vc]\r
+!endif\r
+!if [echo PKG_HTTP_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\http\pkgIndex.tcl http >> versions.vc]\r
+!endif\r
+!if [echo PKG_OPT_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\opt\pkgIndex.tcl opt >> versions.vc]\r
+!endif\r
+!if [echo PKG_TCLTEST_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\tcltest\pkgIndex.tcl tcltest >> versions.vc]\r
+!endif\r
+!if [echo PKG_MSGCAT_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\msgcat\pkgIndex.tcl msgcat >> versions.vc]\r
+!endif\r
+!if [echo PKG_PLATFORM_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\platform\pkgIndex.tcl "platform " >> versions.vc]\r
+!endif\r
+!if [echo PKG_SHELL_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\platform\pkgIndex.tcl "platform::shell" >> versions.vc]\r
+!endif\r
+!if [echo PKG_DDE_VER = \>> versions.vc] \\r
+   && [nmakehlp -V ..\library\dde\pkgIndex.tcl "dde " >> versions.vc]\r
+!endif\r
+!if [echo PKG_REG_VER =\>> versions.vc] \\r
+   && [nmakehlp -V ..\library\reg\pkgIndex.tcl registry >> versions.vc]\r
+!endif\r
+\r
+!include versions.vc\r
+\r
+DDEDOTVERSION = 1.4\r
+DDEVERSION = $(DDEDOTVERSION:.=)\r
+\r
+REGDOTVERSION = 1.3\r
+REGVERSION = $(REGDOTVERSION:.=)\r
+\r
+TCLREGLIBNAME  = $(PROJECT)reg$(REGVERSION)$(SUFX:t=).$(EXT)\r
+TCLREGLIB      = $(OUT_DIR)\$(TCLREGLIBNAME)\r
+\r
+TCLDDELIBNAME  = $(PROJECT)dde$(DDEVERSION)$(SUFX:t=).$(EXT)\r
+TCLDDELIB      = $(OUT_DIR)\$(TCLDDELIBNAME)\r
+\r
+TCLTEST                = $(OUT_DIR)\$(PROJECT)test.exe\r
+CAT32          = $(OUT_DIR)\cat32.exe\r
+\r
+TCLSHOBJS = \\r
+       $(TMP_DIR)\tclAppInit.obj \\r
+!if !$(STATIC_BUILD)\r
+!if $(TCL_USE_STATIC_PACKAGES)\r
+       $(TMP_DIR)\tclWinReg.obj \\r
+       $(TMP_DIR)\tclWinDde.obj \\r
+!endif\r
+!endif\r
+       $(TMP_DIR)\tclsh.res\r
+\r
+TCLTESTOBJS = \\r
+       $(TMP_DIR)\tclTest.obj \\r
+       $(TMP_DIR)\tclTestObj.obj \\r
+       $(TMP_DIR)\tclTestProcBodyObj.obj \\r
+       $(TMP_DIR)\tclThreadTest.obj \\r
+       $(TMP_DIR)\tclWinTest.obj \\r
+!if !$(STATIC_BUILD)\r
+!if $(TCL_USE_STATIC_PACKAGES)\r
+       $(TMP_DIR)\tclWinReg.obj \\r
+       $(TMP_DIR)\tclWinDde.obj \\r
+!endif\r
+!endif\r
+       $(TMP_DIR)\testMain.obj\r
+\r
+COREOBJS = \\r
+       $(TMP_DIR)\regcomp.obj \\r
+       $(TMP_DIR)\regerror.obj \\r
+       $(TMP_DIR)\regexec.obj \\r
+       $(TMP_DIR)\regfree.obj \\r
+       $(TMP_DIR)\tclAlloc.obj \\r
+       $(TMP_DIR)\tclAssembly.obj \\r
+       $(TMP_DIR)\tclAsync.obj \\r
+       $(TMP_DIR)\tclBasic.obj \\r
+       $(TMP_DIR)\tclBinary.obj \\r
+       $(TMP_DIR)\tclCkalloc.obj \\r
+       $(TMP_DIR)\tclClock.obj \\r
+       $(TMP_DIR)\tclCmdAH.obj \\r
+       $(TMP_DIR)\tclCmdIL.obj \\r
+       $(TMP_DIR)\tclCmdMZ.obj \\r
+       $(TMP_DIR)\tclCompCmds.obj \\r
+       $(TMP_DIR)\tclCompCmdsGR.obj \\r
+       $(TMP_DIR)\tclCompCmdsSZ.obj \\r
+       $(TMP_DIR)\tclCompExpr.obj \\r
+       $(TMP_DIR)\tclCompile.obj \\r
+       $(TMP_DIR)\tclConfig.obj \\r
+       $(TMP_DIR)\tclDate.obj \\r
+       $(TMP_DIR)\tclDictObj.obj \\r
+       $(TMP_DIR)\tclDisassemble.obj \\r
+       $(TMP_DIR)\tclEncoding.obj \\r
+       $(TMP_DIR)\tclEnsemble.obj \\r
+       $(TMP_DIR)\tclEnv.obj \\r
+       $(TMP_DIR)\tclEvent.obj \\r
+       $(TMP_DIR)\tclExecute.obj \\r
+       $(TMP_DIR)\tclFCmd.obj \\r
+       $(TMP_DIR)\tclFileName.obj \\r
+       $(TMP_DIR)\tclGet.obj \\r
+       $(TMP_DIR)\tclHash.obj \\r
+       $(TMP_DIR)\tclHistory.obj \\r
+       $(TMP_DIR)\tclIndexObj.obj \\r
+       $(TMP_DIR)\tclInterp.obj \\r
+       $(TMP_DIR)\tclIO.obj \\r
+       $(TMP_DIR)\tclIOCmd.obj \\r
+       $(TMP_DIR)\tclIOGT.obj \\r
+       $(TMP_DIR)\tclIOSock.obj \\r
+       $(TMP_DIR)\tclIOUtil.obj \\r
+       $(TMP_DIR)\tclIORChan.obj \\r
+       $(TMP_DIR)\tclIORTrans.obj \\r
+       $(TMP_DIR)\tclLink.obj \\r
+       $(TMP_DIR)\tclListObj.obj \\r
+       $(TMP_DIR)\tclLiteral.obj \\r
+       $(TMP_DIR)\tclLoad.obj \\r
+       $(TMP_DIR)\tclMainW.obj \\r
+       $(TMP_DIR)\tclMain.obj \\r
+       $(TMP_DIR)\tclNamesp.obj \\r
+       $(TMP_DIR)\tclNotify.obj \\r
+       $(TMP_DIR)\tclOO.obj \\r
+       $(TMP_DIR)\tclOOBasic.obj \\r
+       $(TMP_DIR)\tclOOCall.obj \\r
+       $(TMP_DIR)\tclOODefineCmds.obj \\r
+       $(TMP_DIR)\tclOOInfo.obj \\r
+       $(TMP_DIR)\tclOOMethod.obj \\r
+       $(TMP_DIR)\tclOOStubInit.obj \\r
+       $(TMP_DIR)\tclObj.obj \\r
+       $(TMP_DIR)\tclOptimize.obj \\r
+       $(TMP_DIR)\tclPanic.obj \\r
+       $(TMP_DIR)\tclParse.obj \\r
+       $(TMP_DIR)\tclPathObj.obj \\r
+       $(TMP_DIR)\tclPipe.obj \\r
+       $(TMP_DIR)\tclPkg.obj \\r
+       $(TMP_DIR)\tclPkgConfig.obj \\r
+       $(TMP_DIR)\tclPosixStr.obj \\r
+       $(TMP_DIR)\tclPreserve.obj \\r
+       $(TMP_DIR)\tclProc.obj \\r
+       $(TMP_DIR)\tclRegexp.obj \\r
+       $(TMP_DIR)\tclResolve.obj \\r
+       $(TMP_DIR)\tclResult.obj \\r
+       $(TMP_DIR)\tclScan.obj \\r
+       $(TMP_DIR)\tclStringObj.obj \\r
+       $(TMP_DIR)\tclStrToD.obj \\r
+       $(TMP_DIR)\tclStubInit.obj \\r
+       $(TMP_DIR)\tclThread.obj \\r
+       $(TMP_DIR)\tclThreadAlloc.obj \\r
+       $(TMP_DIR)\tclThreadJoin.obj \\r
+       $(TMP_DIR)\tclThreadStorage.obj \\r
+       $(TMP_DIR)\tclTimer.obj \\r
+       $(TMP_DIR)\tclTomMathInterface.obj \\r
+       $(TMP_DIR)\tclTrace.obj \\r
+       $(TMP_DIR)\tclUtf.obj \\r
+       $(TMP_DIR)\tclUtil.obj \\r
+       $(TMP_DIR)\tclVar.obj \\r
+       $(TMP_DIR)\tclZlib.obj\r
+\r
+ZLIBOBJS = \\r
+       $(TMP_DIR)\adler32.obj \\r
+       $(TMP_DIR)\compress.obj \\r
+       $(TMP_DIR)\crc32.obj \\r
+       $(TMP_DIR)\deflate.obj \\r
+       $(TMP_DIR)\infback.obj \\r
+       $(TMP_DIR)\inffast.obj \\r
+       $(TMP_DIR)\inflate.obj \\r
+       $(TMP_DIR)\inftrees.obj \\r
+       $(TMP_DIR)\trees.obj \\r
+       $(TMP_DIR)\uncompr.obj \\r
+       $(TMP_DIR)\zutil.obj\r
+\r
+TOMMATHOBJS = \\r
+       $(TMP_DIR)\bn_mp_add.obj \\r
+       $(TMP_DIR)\bn_mp_add_d.obj \\r
+       $(TMP_DIR)\bn_mp_and.obj \\r
+       $(TMP_DIR)\bn_mp_clamp.obj \\r
+       $(TMP_DIR)\bn_mp_clear.obj \\r
+       $(TMP_DIR)\bn_mp_clear_multi.obj \\r
+       $(TMP_DIR)\bn_mp_cmp.obj \\r
+       $(TMP_DIR)\bn_mp_cmp_d.obj \\r
+       $(TMP_DIR)\bn_mp_cmp_mag.obj \\r
+       $(TMP_DIR)\bn_mp_cnt_lsb.obj \\r
+       $(TMP_DIR)\bn_mp_copy.obj \\r
+       $(TMP_DIR)\bn_mp_count_bits.obj \\r
+       $(TMP_DIR)\bn_mp_div.obj \\r
+       $(TMP_DIR)\bn_mp_div_d.obj \\r
+       $(TMP_DIR)\bn_mp_div_2.obj \\r
+       $(TMP_DIR)\bn_mp_div_2d.obj \\r
+       $(TMP_DIR)\bn_mp_div_3.obj \\r
+       $(TMP_DIR)\bn_mp_exch.obj \\r
+       $(TMP_DIR)\bn_mp_expt_u32.obj \\r
+       $(TMP_DIR)\bn_mp_grow.obj \\r
+       $(TMP_DIR)\bn_mp_init.obj \\r
+       $(TMP_DIR)\bn_mp_init_copy.obj \\r
+       $(TMP_DIR)\bn_mp_init_multi.obj \\r
+       $(TMP_DIR)\bn_mp_init_set.obj \\r
+       $(TMP_DIR)\bn_mp_init_size.obj \\r
+       $(TMP_DIR)\bn_mp_lshd.obj \\r
+       $(TMP_DIR)\bn_mp_mod.obj \\r
+       $(TMP_DIR)\bn_mp_mod_2d.obj \\r
+       $(TMP_DIR)\bn_mp_mul.obj \\r
+       $(TMP_DIR)\bn_mp_mul_2.obj \\r
+       $(TMP_DIR)\bn_mp_mul_2d.obj \\r
+       $(TMP_DIR)\bn_mp_mul_d.obj \\r
+       $(TMP_DIR)\bn_mp_neg.obj \\r
+       $(TMP_DIR)\bn_mp_or.obj \\r
+       $(TMP_DIR)\bn_mp_radix_size.obj \\r
+       $(TMP_DIR)\bn_mp_radix_smap.obj \\r
+       $(TMP_DIR)\bn_mp_read_radix.obj \\r
+       $(TMP_DIR)\bn_mp_rshd.obj \\r
+       $(TMP_DIR)\bn_mp_set.obj \\r
+       $(TMP_DIR)\bn_mp_shrink.obj \\r
+       $(TMP_DIR)\bn_mp_sqr.obj \\r
+       $(TMP_DIR)\bn_mp_sqrt.obj \\r
+       $(TMP_DIR)\bn_mp_sub.obj \\r
+       $(TMP_DIR)\bn_mp_sub_d.obj \\r
+       $(TMP_DIR)\bn_mp_signed_rsh.obj \\r
+       $(TMP_DIR)\bn_mp_to_ubin.obj \\r
+       $(TMP_DIR)\bn_mp_to_radix.obj \\r
+       $(TMP_DIR)\bn_mp_ubin_size.obj \\r
+       $(TMP_DIR)\bn_mp_xor.obj \\r
+       $(TMP_DIR)\bn_mp_zero.obj \\r
+       $(TMP_DIR)\bn_s_mp_add.obj \\r
+       $(TMP_DIR)\bn_s_mp_balance_mul.obj \\r
+       $(TMP_DIR)\bn_s_mp_karatsuba_mul.obj \\r
+       $(TMP_DIR)\bn_s_mp_karatsuba_sqr.obj \\r
+       $(TMP_DIR)\bn_s_mp_mul_digs.obj \\r
+       $(TMP_DIR)\bn_s_mp_mul_digs_fast.obj \\r
+       $(TMP_DIR)\bn_s_mp_reverse.obj \\r
+       $(TMP_DIR)\bn_s_mp_sqr.obj \\r
+       $(TMP_DIR)\bn_s_mp_sqr_fast.obj \\r
+       $(TMP_DIR)\bn_s_mp_sub.obj \\r
+       $(TMP_DIR)\bn_s_mp_toom_sqr.obj \\r
+       $(TMP_DIR)\bn_s_mp_toom_mul.obj\r
+\r
+PLATFORMOBJS = \\r
+       $(TMP_DIR)\tclWin32Dll.obj \\r
+       $(TMP_DIR)\tclWinChan.obj \\r
+       $(TMP_DIR)\tclWinConsole.obj \\r
+       $(TMP_DIR)\tclWinError.obj \\r
+       $(TMP_DIR)\tclWinFCmd.obj \\r
+       $(TMP_DIR)\tclWinFile.obj \\r
+       $(TMP_DIR)\tclWinInit.obj \\r
+       $(TMP_DIR)\tclWinLoad.obj \\r
+       $(TMP_DIR)\tclWinNotify.obj \\r
+       $(TMP_DIR)\tclWinPipe.obj \\r
+       $(TMP_DIR)\tclWinSerial.obj \\r
+       $(TMP_DIR)\tclWinSock.obj \\r
+       $(TMP_DIR)\tclWinThrd.obj \\r
+       $(TMP_DIR)\tclWinTime.obj \\r
+!if $(STATIC_BUILD)\r
+       $(TMP_DIR)\tclWinReg.obj \\r
+       $(TMP_DIR)\tclWinDde.obj \\r
+!else\r
+       $(TMP_DIR)\tcl.res\r
+!endif\r
+\r
+TCLOBJS = $(COREOBJS) $(ZLIBOBJS) $(TOMMATHOBJS) $(PLATFORMOBJS)\r
+\r
+TCLSTUBOBJS = \\r
+       $(TMP_DIR)\tclStubLib.obj \\r
+       $(TMP_DIR)\tclTomMathStubLib.obj \\r
+       $(TMP_DIR)\tclOOStubLib.obj\r
+\r
+### The following paths CANNOT have spaces in them as they appear on\r
+### the left side of implicit rules.\r
+TOMMATHDIR     = $(ROOT)\libtommath\r
+PKGSDIR                = $(ROOT)\pkgs\r
+\r
+# Additional include and C macro definitions for the implicit rules\r
+# defined in rules.vc\r
+PRJ_INCLUDES   = -I"$(TOMMATHDIR)"\r
+PRJ_DEFINES    = /DTCL_TOMMATH /DMP_PREC=4 /Dinline=__inline /DHAVE_ZLIB=1 /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DMP_FIXED_CUTOFFS\r
+\r
+# Additional Link libraries needed beyond those in rules.vc\r
+PRJ_LIBS   = netapi32.lib user32.lib userenv.lib ws2_32.lib\r
+\r
+#---------------------------------------------------------------------\r
+# TclTest flags\r
+#---------------------------------------------------------------------\r
+\r
+!if "$(TESTPAT)" != ""\r
+TESTFLAGS = $(TESTFLAGS) -file $(TESTPAT)\r
+!endif\r
+\r
+\r
+#---------------------------------------------------------------------\r
+# Project specific targets\r
+#---------------------------------------------------------------------\r
+\r
+release:    setup $(TCLSH) $(TCLSTUBLIB) dlls pkgs\r
+core:      setup $(TCLLIB) $(TCLSTUBLIB)\r
+shell:     setup $(TCLSH)\r
+dlls:      setup $(TCLREGLIB) $(TCLDDELIB)\r
+all:       setup $(TCLSH) $(TCLSTUBLIB) dlls $(CAT32) pkgs\r
+tcltest:    setup $(TCLTEST) dlls $(CAT32)\r
+install:    install-binaries install-libraries install-docs install-pkgs\r
+!if $(SYMBOLS)\r
+install:    install-pdbs\r
+!endif\r
+setup:      default-setup\r
+\r
+test: test-core test-pkgs\r
+test-core: setup $(TCLTEST) dlls $(CAT32)\r
+       set TCL_LIBRARY=$(ROOT:\=/)/library\r
+       $(DEBUGGER) $(TCLTEST) "$(ROOT:\=/)/tests/all.tcl" $(TESTFLAGS) -loadfile <<\r
+               package ifneeded dde 1.4.4 [list load "$(TCLDDELIB:\=/)" Dde]\r
+               package ifneeded registry 1.3.5 [list load "$(TCLREGLIB:\=/)" Registry]\r
+<<\r
+\r
+runtest: setup $(TCLTEST) dlls $(CAT32)\r
+       set TCL_LIBRARY=$(ROOT:\=/)/library\r
+       $(DEBUGGER) $(TCLTEST) $(SCRIPT)\r
+\r
+runshell: setup $(TCLSH) dlls\r
+       set TCL_LIBRARY=$(ROOT:\=/)/library\r
+       $(DEBUGGER) $(TCLSH) $(SCRIPT)\r
+\r
+!if $(STATIC_BUILD)\r
+\r
+$(TCLLIB): $(TCLOBJS)\r
+       $(LIBCMD) @<<\r
+$**\r
+<<\r
+\r
+!else\r
+\r
+$(TCLLIB): $(TCLOBJS)\r
+       $(DLLCMD) @<<\r
+$**\r
+<<\r
+       $(_VC_MANIFEST_EMBED_DLL)\r
+\r
+$(TCLIMPLIB): $(TCLLIB)\r
+\r
+!endif # $(STATIC_BUILD)\r
+\r
+$(TCLSTUBLIB): $(TCLSTUBOBJS)\r
+       $(LIBCMD) -nodefaultlib $(TCLSTUBOBJS)\r
+\r
+$(TCLSH): $(TCLSHOBJS) $(TCLSTUBLIB) $(TCLIMPLIB)\r
+       $(CONEXECMD) -stack:2300000 $**\r
+       $(_VC_MANIFEST_EMBED_EXE)\r
+\r
+$(TCLTEST): $(TCLTESTOBJS) $(TCLSTUBLIB) $(TCLIMPLIB)\r
+       $(CONEXECMD) -stack:2300000 $**\r
+       $(_VC_MANIFEST_EMBED_EXE)\r
+\r
+!if $(STATIC_BUILD)\r
+$(TCLDDELIB): $(TMP_DIR)\tclWinDde.obj\r
+       $(LIBCMD) $**\r
+!else\r
+$(TCLDDELIB): $(TMP_DIR)\tclWinDde.obj $(TCLSTUBLIB)\r
+       $(DLLCMD) $**\r
+       $(_VC_MANIFEST_EMBED_DLL)\r
+!endif\r
+\r
+!if $(STATIC_BUILD)\r
+$(TCLREGLIB): $(TMP_DIR)\tclWinReg.obj\r
+       $(LIBCMD) $**\r
+!else\r
+$(TCLREGLIB): $(TMP_DIR)\tclWinReg.obj $(TCLSTUBLIB)\r
+       $(DLLCMD) $**\r
+       $(_VC_MANIFEST_EMBED_DLL)\r
+!endif\r
+\r
+pkgs:\r
+       @for /d %d in ($(PKGSDIR)\*) do \\r
+         @if exist "%~fd\win\makefile.vc" ( \\r
+           pushd "%~fd\win" & \\r
+           $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) &\\r
+           popd \\r
+         )\r
+\r
+test-pkgs:\r
+       @for /d %d in ($(PKGSDIR)\*) do \\r
+         @if exist "%~fd\win\makefile.vc" ( \\r
+           pushd "%~fd\win" & \\r
+           $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) test &\\r
+           popd \\r
+         )\r
+\r
+install-pkgs:\r
+       @for /d %d in ($(PKGSDIR)\*) do \\r
+         @if exist "%~fd\win\makefile.vc" ( \\r
+           pushd "%~fd\win" & \\r
+           $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) install &\\r
+           popd \\r
+         )\r
+\r
+clean-pkgs:\r
+       @for /d %d in ($(PKGSDIR)\*) do \\r
+         @if exist "%~fd\win\makefile.vc" ( \\r
+           pushd "%~fd\win" & \\r
+           $(MAKE) -$(MAKEFLAGS) -f makefile.vc TCLDIR=$(ROOT) clean &\\r
+           popd \\r
+         )\r
+\r
+$(CAT32): $(WIN_DIR)\cat.c\r
+       $(cc32) $(cflags) $(crt) /D_CRT_NONSTDC_NO_DEPRECATE /DCONSOLE \\r
+           /DUNICODE /D_UNICODE -Fo$(TMP_DIR)\ $?\r
+       $(CONEXECMD) -stack:16384 $(TMP_DIR)\cat.obj\r
+       $(_VC_MANIFEST_EMBED_EXE)\r
+\r
+#---------------------------------------------------------------------\r
+# Regenerate the stubs files.  [Development use only]\r
+#---------------------------------------------------------------------\r
+\r
+genstubs:\r
+!if !exist($(TCLSH))\r
+       @echo Build tclsh first!\r
+!else\r
+       $(TCLSH) $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \\r
+               $(GENERICDIR:\=/)/tcl.decls $(GENERICDIR:\=/)/tclInt.decls \\r
+               $(GENERICDIR:\=/)/tclTomMath.decls\r
+       $(TCLSH) $(TOOLSDIR:\=/)/genStubs.tcl $(GENERICDIR:\=/) \\r
+               $(GENERICDIR:\=/)/tclOO.decls\r
+!endif\r
+\r
+\r
+#----------------------------------------------------------------------\r
+# The following target generates the file generic/tclTomMath.h.\r
+# It needs to be run (and the results checked) after updating\r
+# to a new release of libtommath.\r
+#----------------------------------------------------------------------\r
+\r
+gentommath_h:\r
+!if !exist($(TCLSH))\r
+       @echo Build tclsh first!\r
+!else\r
+       $(TCLSH) "$(TOOLSDIR:\=/)/fix_tommath_h.tcl" \\r
+               "$(TOMMATHDIR:\=/)/tommath.h" \\r
+               > "$(GENERICDIR)\tclTomMath.h"\r
+!endif\r
+\r
+#---------------------------------------------------------------------\r
+# Build the Windows HTML help file.\r
+#---------------------------------------------------------------------\r
+\r
+# NOTE: you can define HHC on the command-line to override this.\r
+# nmake does not set macro values if already set on the command line.\r
+!if defined(PROCESSOR_ARCHITECTURE) && "$(PROCESSOR_ARCHITECTURE)" == "AMD64"\r
+HHC="%ProgramFiles(x86)%\HTML Help Workshop\hhc.exe"\r
+!else\r
+HHC="%ProgramFiles%\HTML Help Workshop\hhc.exe"\r
+!endif\r
+HTMLDIR=$(OUT_DIR)\html\r
+HTMLBASE=TclTk$(VERSION)\r
+HHPFILE=$(HTMLDIR)\$(HTMLBASE).hhp\r
+CHMFILE=$(HTMLDIR)\$(HTMLBASE).chm\r
+\r
+htmlhelp: chmsetup $(CHMFILE)\r
+\r
+$(CHMFILE): $(DOCDIR)\*\r
+       @$(TCLSH) $(TOOLSDIR)\tcltk-man2html.tcl "--htmldir=$(HTMLDIR)"\r
+       @echo Compiling HTML help project\r
+       -"$(HHC)" <<$(HHPFILE) >NUL\r
+[OPTIONS]\r
+Compatibility=1.1 or later\r
+Compiled file=$(HTMLBASE).chm\r
+Default topic=contents.htm\r
+Display compile progress=no\r
+Error log file=$(HTMLBASE).log\r
+Full-text search=Yes\r
+Language=0x409 English (United States)\r
+Title=Tcl/Tk $(DOTVERSION) Help\r
+[FILES]\r
+contents.htm\r
+docs.css\r
+Keywords\*.htm\r
+TclCmd\*.htm\r
+TclLib\*.htm\r
+TkCmd\*.htm\r
+TkLib\*.htm\r
+UserCmd\*.htm\r
+<<\r
+\r
+chmsetup:\r
+       @if not exist $(HTMLDIR)\nul mkdir $(HTMLDIR)\r
+\r
+install-docs:\r
+!if exist("$(CHMFILE)")\r
+       @echo Installing compiled HTML help\r
+       @$(CPY) "$(CHMFILE)" "$(DOC_INSTALL_DIR)\"\r
+!endif\r
+\r
+# "emacs font-lock highlighting fix\r
+\r
+#---------------------------------------------------------------------\r
+# Generate the tcl.nmake file which contains the options used to build\r
+# Tcl itself. This is used when building extensions.\r
+#---------------------------------------------------------------------\r
+tcl-nmake: $(OUT_DIR)\tcl.nmake\r
+$(OUT_DIR)\tcl.nmake:\r
+       @type << >$@\r
+CORE_MACHINE = $(MACHINE)\r
+CORE_DEBUG = $(DEBUG)\r
+CORE_TCL_THREADS = $(TCL_THREADS)\r
+CORE_USE_THREAD_ALLOC = $(USE_THREAD_ALLOC)\r
+<<\r
+\r
+#---------------------------------------------------------------------\r
+# Build tclConfig.sh for the TEA build system.\r
+#---------------------------------------------------------------------\r
+\r
+tclConfig: $(OUT_DIR)\tclConfig.sh\r
+\r
+# TBD - is this tclConfig.sh file ever used? The values are incorrect!\r
+$(OUT_DIR)\tclConfig.sh: $(WIN_DIR)\tclConfig.sh.in\r
+       @echo Creating tclConfig.sh\r
+        @nmakehlp -s << $** >$@\r
+@TCL_DLL_FILE@       $(TCLLIBNAME)\r
+@TCL_VERSION@        $(DOTVERSION)\r
+@TCL_MAJOR_VERSION@  $(TCL_MAJOR_VERSION)\r
+@TCL_MINOR_VERSION@  $(TCL_MINOR_VERSION)\r
+@TCL_PATCH_LEVEL@    $(TCL_PATCH_LEVEL)\r
+@CC@                 $(CC)\r
+@DEFS@               $(pkgcflags)\r
+@CFLAGS_DEBUG@       -nologo -c -W3 -YX -Fp$(TMP_DIR)\ -MDd\r
+@CFLAGS_OPTIMIZE@    -nologo -c -W3 -YX -Fp$(TMP_DIR)\ -MD\r
+@LDFLAGS_DEBUG@      -nologo -machine:$(MACHINE) -debug -debugtype:cv\r
+@LDFLAGS_OPTIMIZE@   -nologo -machine:$(MACHINE) -release -opt:ref -opt:icf,3\r
+@TCL_DBGX@           $(SUFX)\r
+@TCL_LIB_FILE@       $(PROJECT)$(VERSION)$(SUFX).lib\r
+@TCL_NEEDS_EXP_FILE@\r
+@LIBS@               $(baselibs) $(PRJ_LIBS)\r
+@prefix@             $(_INSTALLDIR)\r
+@exec_prefix@        $(BIN_INSTALL_DIR)\r
+@SHLIB_CFLAGS@\r
+@STLIB_CFLAGS@\r
+@CFLAGS_WARNING@     -W3\r
+@EXTRA_CFLAGS@       -YX\r
+@SHLIB_LD@           $(link32) $(dlllflags)\r
+@STLIB_LD@           $(lib32) -nologo\r
+@SHLIB_LD_LIBS@      $(baselibs) $(PRJ_LIBS)\r
+@SHLIB_SUFFIX@       .dll\r
+@DL_LIBS@\r
+@LDFLAGS@\r
+@TCL_CC_SEARCH_FLAGS@\r
+@TCL_LD_SEARCH_FLAGS@\r
+@LIBOBJS@\r
+@RANLIB@\r
+@TCL_LIB_FLAG@\r
+@TCL_BUILD_LIB_SPEC@\r
+@TCL_LIB_SPEC@       $(LIB_INSTALL_DIR)\$(PROJECT)$(VERSION)$(SUFX).lib\r
+@TCL_INCLUDE_SPEC@   -I$(INCLUDE_INSTALL_DIR)\r
+@TCL_LIB_VERSIONS_OK@\r
+@TCL_SRC_DIR@        $(ROOT)\r
+@TCL_PACKAGE_PATH@\r
+@TCL_STUB_LIB_FILE@  $(TCLSTUBLIBNAME)\r
+@TCL_STUB_LIB_FLAG@  $(TCLSTUBLIBNAME)\r
+@TCL_STUB_LIB_SPEC@  -L$(LIB_INSTALL_DIR) $(TCLSTUBLIBNAME)\r
+@TCL_THREADS@        $(TCL_THREADS)\r
+@TCL_BUILD_STUB_LIB_SPEC@ -L$(OUT_DIR) $(TCLSTUBLIBNAME)\r
+@TCL_BUILD_STUB_LIB_PATH@ $(TCLSTUBLIB)\r
+@TCL_STUB_LIB_PATH@  $(LIB_INSTALL_DIR)\$(TCLSTUBLIBNAME)\r
+@CFG_TCL_EXPORT_FILE_SUFFIX@  $(VERSION)$(SUFX).lib\r
+@CFG_TCL_SHARED_LIB_SUFFIX@   $(VERSION)$(SUFX).dll\r
+@CFG_TCL_UNSHARED_LIB_SUFFIX@ $(VERSION)$(SUFX).lib\r
+!if $(STATIC_BUILD)\r
+@TCL_SHARED_BUILD@   0\r
+!else\r
+@TCL_SHARED_BUILD@   1\r
+!endif\r
+<<\r
+\r
+\r
+#---------------------------------------------------------------------\r
+# The following target generates the file generic/tclDate.c\r
+# from the yacc grammar found in generic/tclGetDate.y.  This is\r
+# only run by hand as yacc is not available in all environments.\r
+# The name of the .c file is different than the name of the .y file\r
+# so that make doesn't try to automatically regenerate the .c file.\r
+#---------------------------------------------------------------------\r
+\r
+gendate:\r
+       bison --output-file=$(GENERICDIR)/tclDate.c \\r
+       --name-prefix=TclDate \\r
+       $(GENERICDIR)/tclGetDate.y\r
+\r
+#---------------------------------------------------------------------\r
+# Special case object file targets\r
+#---------------------------------------------------------------------\r
+\r
+$(TMP_DIR)\testMain.obj: $(WIN_DIR)\tclAppInit.c\r
+       $(cc32) $(appcflags) /DTCL_TEST /DUNICODE /D_UNICODE \\r
+           /DTCL_USE_STATIC_PACKAGES=$(TCL_USE_STATIC_PACKAGES) \\r
+           -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclMainW.obj: $(GENERICDIR)\tclMain.c\r
+       $(cc32) $(pkgcflags) /DUNICODE /D_UNICODE \\r
+           -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclTest.obj: $(GENERICDIR)\tclTest.c\r
+       $(cc32) $(appcflags) -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclTestObj.obj: $(GENERICDIR)\tclTestObj.c\r
+       $(cc32) $(appcflags) -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclWinTest.obj: $(WIN_DIR)\tclWinTest.c\r
+       $(CCAPPCMD) $?\r
+\r
+$(TMP_DIR)\tclZlib.obj: $(GENERICDIR)\tclZlib.c\r
+       $(cc32) $(pkgcflags) -I$(COMPATDIR)\zlib -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclPkgConfig.obj: $(GENERICDIR)\tclPkgConfig.c\r
+       $(cc32) $(pkgcflags) \\r
+       /DCFG_INSTALL_LIBDIR="\"$(LIB_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_INSTALL_BINDIR="\"$(BIN_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_INSTALL_SCRDIR="\"$(SCRIPT_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_INSTALL_INCDIR="\"$(INCLUDE_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_INSTALL_DOCDIR="\"$(DOC_INSTALL_DIR:\=\\)\""      \\r
+       /DCFG_RUNTIME_LIBDIR="\"$(LIB_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_RUNTIME_BINDIR="\"$(BIN_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_RUNTIME_SCRDIR="\"$(SCRIPT_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_RUNTIME_INCDIR="\"$(INCLUDE_INSTALL_DIR:\=\\)\"" \\r
+       /DCFG_RUNTIME_DOCDIR="\"$(DOC_INSTALL_DIR:\=\\)\""     \\r
+       -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclAppInit.obj: $(WIN_DIR)\tclAppInit.c\r
+       $(cc32) $(appcflags) /DUNICODE /D_UNICODE \\r
+           /DTCL_USE_STATIC_PACKAGES=$(TCL_USE_STATIC_PACKAGES) \\r
+           -Fo$@ $?\r
+\r
+### The following objects should be built using the stub interfaces\r
+### *ALL* extensions need to built with /DTCL_THREADS=1\r
+\r
+$(TMP_DIR)\tclWinReg.obj: $(WIN_DIR)\tclWinReg.c\r
+       $(cc32) $(appcflags) /DUSE_TCL_STUBS -Fo$@ $?\r
+\r
+\r
+$(TMP_DIR)\tclWinDde.obj: $(WIN_DIR)\tclWinDde.c\r
+       $(cc32) $(appcflags) /DUSE_TCL_STUBS -Fo$@ $?\r
+\r
+\r
+### The following objects are part of the stub library and should not\r
+### be built as DLL objects.  -Zl is used to avoid a dependency on any\r
+### specific C run-time.\r
+\r
+$(TMP_DIR)\tclStubLib.obj: $(GENERICDIR)\tclStubLib.c\r
+       $(cc32) $(stubscflags) -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclTomMathStubLib.obj: $(GENERICDIR)\tclTomMathStubLib.c\r
+       $(cc32) $(stubscflags) -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclOOStubLib.obj: $(GENERICDIR)\tclOOStubLib.c\r
+       $(cc32) $(stubscflags) -Fo$@ $?\r
+\r
+$(TMP_DIR)\tclsh.exe.manifest: $(WIN_DIR)\tclsh.exe.manifest.in\r
+       @nmakehlp -s << $** >$@\r
+@MACHINE@        $(MACHINE:IX86=X86)\r
+@TCL_WIN_VERSION@  $(DOTVERSION).0.0\r
+<<\r
+\r
+#---------------------------------------------------------------------\r
+# Generate the source dependencies.  Having dependency rules will\r
+# improve incremental build accuracy without having to resort to a\r
+# full rebuild just because some non-global header file like\r
+# tclCompile.h was changed.  These rules aren't needed when building\r
+# from scratch.\r
+#---------------------------------------------------------------------\r
+\r
+depend:\r
+!if !exist($(TCLSH))\r
+       @echo Build tclsh first!\r
+!else\r
+       $(TCLSH) $(TOOLSDIR:\=/)/mkdepend.tcl -vc32 -out:"$(OUT_DIR)\depend.mk" \\r
+               -passthru:"/DBUILD_tcl $(TCL_INCLUDES) $(PRJ_INCLUDES)" $(GENERICDIR),$$(GENERICDIR) \\r
+               $(COMPATDIR),$$(COMPATDIR) $(TOMMATHDIR),$$(TOMMATHDIR) $(WIN_DIR),$$(WIN_DIR) @<<\r
+$(TCLOBJS)\r
+<<\r
+!endif\r
+\r
+#---------------------------------------------------------------------\r
+# Dependency rules\r
+#---------------------------------------------------------------------\r
+\r
+!if exist("$(OUT_DIR)\depend.mk")\r
+!include "$(OUT_DIR)\depend.mk"\r
+!message *** Dependency rules in use.\r
+!else\r
+!message *** Dependency rules are not being used.\r
+!endif\r
+\r
+### add a spacer in the output\r
+!message\r
+\r
+\r
+#---------------------------------------------------------------------\r
+# Implicit rules that are not covered by the common ones defined in\r
+# rules.vc. A limitation exists with nmake that requires that\r
+# source directory can not contain spaces in the path.  This an\r
+# absolute.\r
+#---------------------------------------------------------------------\r
+\r
+{$(TOMMATHDIR)}.c{$(TMP_DIR)}.obj::\r
+       $(cc32) $(pkgcflags) -Fo$(TMP_DIR)\ @<<\r
+$<\r
+<<\r
+\r
+{$(COMPATDIR)\zlib}.c{$(TMP_DIR)}.obj::\r
+       $(cc32) $(pkgcflags) -Fo$(TMP_DIR)\ @<<\r
+$<\r
+<<\r
+\r
+$(TMP_DIR)\tclsh.res: $(TMP_DIR)\tclsh.exe.manifest $(WIN_DIR)\tclsh.rc\r
+\r
+\r
+#---------------------------------------------------------------------\r
+# Installation.\r
+#---------------------------------------------------------------------\r
+\r
+install-binaries:\r
+       @echo Installing to '$(_INSTALLDIR)'\r
+       @echo Installing $(TCLLIBNAME)\r
+!if "$(TCLLIB)" != "$(TCLIMPLIB)"\r
+       @$(CPY) "$(TCLLIB)" "$(BIN_INSTALL_DIR)\"\r
+!endif\r
+       @$(CPY) "$(TCLIMPLIB)" "$(LIB_INSTALL_DIR)\"\r
+!if exist($(TCLSH))\r
+       @echo Installing $(TCLSHNAME)\r
+       @$(CPY) "$(TCLSH)" "$(BIN_INSTALL_DIR)\"\r
+!endif\r
+       @echo Installing $(TCLSTUBLIBNAME)\r
+       @$(CPY) "$(TCLSTUBLIB)" "$(LIB_INSTALL_DIR)\"\r
+\r
+install-libraries: tclConfig tcl-nmake install-msgs install-tzdata\r
+       @if not exist "$(SCRIPT_INSTALL_DIR)" \\r
+               $(MKDIR) "$(SCRIPT_INSTALL_DIR)"\r
+       @if not exist "$(SCRIPT_INSTALL_DIR)\opt0.4" \\r
+               $(MKDIR) "$(SCRIPT_INSTALL_DIR)\opt0.4"\r
+       @if not exist "$(MODULE_INSTALL_DIR)" \\r
+               $(MKDIR) "$(MODULE_INSTALL_DIR)"\r
+       @if not exist "$(MODULE_INSTALL_DIR)\8.4" \\r
+               $(MKDIR) "$(MODULE_INSTALL_DIR)\8.4"\r
+       @if not exist "$(MODULE_INSTALL_DIR)\8.4\platform" \\r
+               $(MKDIR) "$(MODULE_INSTALL_DIR)\8.4\platform"\r
+       @if not exist "$(MODULE_INSTALL_DIR)\8.5" \\r
+               $(MKDIR) "$(MODULE_INSTALL_DIR)\8.5"\r
+       @if not exist "$(MODULE_INSTALL_DIR)\8.6" \\r
+               $(MKDIR) "$(MODULE_INSTALL_DIR)\8.6"\r
+       @if not exist "$(LIB_INSTALL_DIR)\nmake" \\r
+               $(MKDIR) "$(LIB_INSTALL_DIR)\nmake"\r
+       @echo Installing header files\r
+       @$(CPY) "$(GENERICDIR)\tcl.h"             "$(INCLUDE_INSTALL_DIR)\"\r
+       @$(CPY) "$(GENERICDIR)\tclDecls.h"        "$(INCLUDE_INSTALL_DIR)\"\r
+       @$(CPY) "$(GENERICDIR)\tclOO.h"           "$(INCLUDE_INSTALL_DIR)\"\r
+       @$(CPY) "$(GENERICDIR)\tclOODecls.h"      "$(INCLUDE_INSTALL_DIR)\"\r
+       @$(CPY) "$(GENERICDIR)\tclPlatDecls.h"    "$(INCLUDE_INSTALL_DIR)\"\r
+       @$(CPY) "$(GENERICDIR)\tclTomMath.h"      "$(INCLUDE_INSTALL_DIR)\"\r
+       @$(CPY) "$(GENERICDIR)\tclTomMathDecls.h" "$(INCLUDE_INSTALL_DIR)\"\r
+       @echo Installing library files to $(SCRIPT_INSTALL_DIR)\r
+       @$(CPY) "$(ROOT)\library\history.tcl"     "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\init.tcl"        "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\clock.tcl"       "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\tm.tcl"          "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\parray.tcl"      "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\safe.tcl"        "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\tclIndex"        "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\package.tcl"     "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\word.tcl"        "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(ROOT)\library\auto.tcl"        "$(SCRIPT_INSTALL_DIR)\"\r
+       @$(CPY) "$(OUT_DIR)\tclConfig.sh"         "$(LIB_INSTALL_DIR)\"\r
+       @$(CPY) "$(WIN_DIR)\tclooConfig.sh"        "$(LIB_INSTALL_DIR)\"\r
+       @$(CPY) "$(WIN_DIR)\rules.vc"              "$(LIB_INSTALL_DIR)\nmake\"\r
+       @$(CPY) "$(WIN_DIR)\targets.vc"              "$(LIB_INSTALL_DIR)\nmake\"\r
+       @$(CPY) "$(WIN_DIR)\nmakehlp.c"            "$(LIB_INSTALL_DIR)\nmake\"\r
+       @$(CPY) "$(OUT_DIR)\tcl.nmake"            "$(LIB_INSTALL_DIR)\nmake\"\r
+       @echo Installing package http 1.0 (obsolete)\r
+       @$(CPY) "$(ROOT)\library\http1.0\*.tcl" \\r
+           "$(SCRIPT_INSTALL_DIR)\http1.0\"\r
+       @echo Installing package opt $(PKG_OPT_VER)\r
+       @$(CPY) "$(ROOT)\library\opt\*.tcl" \\r
+           "$(SCRIPT_INSTALL_DIR)\opt0.4\"\r
+       @echo Installing package http $(PKG_HTTP_VER) as a Tcl Module\r
+       @$(COPY) "$(ROOT)\library\http\http.tcl" \\r
+           "$(MODULE_INSTALL_DIR)\8.6\http-$(PKG_HTTP_VER).tm"\r
+       @echo Installing package msgcat $(PKG_MSGCAT_VER) as a Tcl Module\r
+       @$(COPY) "$(ROOT)\library\msgcat\msgcat.tcl" \\r
+           "$(MODULE_INSTALL_DIR)\8.5\msgcat-$(PKG_MSGCAT_VER).tm"\r
+       @echo Installing package tcltest $(PKG_TCLTEST_VER) as a Tcl Module\r
+       @$(COPY) "$(ROOT)\library\tcltest\tcltest.tcl" \\r
+           "$(MODULE_INSTALL_DIR)\8.5\tcltest-$(PKG_TCLTEST_VER).tm"\r
+       @echo Installing package platform $(PKG_PLATFORM_VER) as a Tcl Module\r
+       @$(COPY) "$(ROOT)\library\platform\platform.tcl" \\r
+           "$(MODULE_INSTALL_DIR)\8.4\platform-$(PKG_PLATFORM_VER).tm"\r
+       @echo Installing package platform::shell $(PKG_SHELL_VER) as a Tcl Module\r
+       @$(COPY) "$(ROOT)\library\platform\shell.tcl" \\r
+           "$(MODULE_INSTALL_DIR)\8.4\platform\shell-$(PKG_SHELL_VER).tm"\r
+       @echo Installing $(TCLDDELIBNAME)\r
+!if $(STATIC_BUILD)\r
+!if !$(TCL_USE_STATIC_PACKAGES)\r
+       @$(CPY) "$(TCLDDELIB)" "$(LIB_INSTALL_DIR)\"\r
+!endif\r
+!else\r
+       @$(CPY) "$(TCLDDELIB)" "$(LIB_INSTALL_DIR)\dde$(DDEDOTVERSION)\"\r
+       @$(CPY) "$(ROOT)\library\dde\pkgIndex.tcl" \\r
+           "$(LIB_INSTALL_DIR)\dde$(DDEDOTVERSION)\"\r
+!endif\r
+       @echo Installing $(TCLREGLIBNAME)\r
+!if $(STATIC_BUILD)\r
+!if !$(TCL_USE_STATIC_PACKAGES)\r
+       @$(CPY) "$(TCLREGLIB)" "$(LIB_INSTALL_DIR)\"\r
+!endif\r
+!else\r
+       @$(CPY) "$(TCLREGLIB)" "$(LIB_INSTALL_DIR)\reg$(REGDOTVERSION)\"\r
+       @$(CPY) "$(ROOT)\library\reg\pkgIndex.tcl" \\r
+           "$(LIB_INSTALL_DIR)\reg$(REGDOTVERSION)\"\r
+!endif\r
+       @echo Installing encodings\r
+       @$(CPY) "$(ROOT)\library\encoding\*.enc" \\r
+               "$(SCRIPT_INSTALL_DIR)\encoding\"\r
+# "emacs font-lock highlighting fix\r
+\r
+install-tzdata:\r
+       @echo Installing time zone data\r
+       @set TCL_LIBRARY=$(ROOT:\=/)/library\r
+       @$(TCLSH_NATIVE) "$(ROOT:\=/)/tools/installData.tcl" \\r
+           "$(ROOT:\=/)/library/tzdata" "$(SCRIPT_INSTALL_DIR)/tzdata"\r
+\r
+install-msgs:\r
+       @echo Installing message catalogs\r
+       @set TCL_LIBRARY=$(ROOT:\=/)/library\r
+       @$(TCLSH_NATIVE) "$(ROOT:\=/)/tools/installData.tcl" \\r
+           "$(ROOT:\=/)/library/msgs" "$(SCRIPT_INSTALL_DIR)/msgs"\r
+\r
+install-pdbs:\r
+       @echo Installing debug symbols\r
+       @$(CPY) "$(OUT_DIR)\*.pdb" "$(BIN_INSTALL_DIR)\"\r
+# "emacs font-lock highlighting fix\r
+\r
+#---------------------------------------------------------------------\r
+# Clean up\r
+#---------------------------------------------------------------------\r
+\r
+tidy:\r
+!if "$(TCLLIB)" != "$(TCLIMPLIB)"\r
+       @echo Removing $(TCLLIB) ...\r
+       @if exist $(TCLLIB) del $(TCLLIB)\r
+!endif\r
+       @echo Removing $(TCLIMPLIB) ...\r
+       @if exist $(TCLIMPLIB) del $(TCLIMPLIB)\r
+       @echo Removing $(TCLSH) ...\r
+       @if exist $(TCLSH) del $(TCLSH)\r
+       @echo Removing $(TCLTEST) ...\r
+       @if exist $(TCLTEST) del $(TCLTEST)\r
+       @echo Removing $(TCLDDELIB) ...\r
+       @if exist $(TCLDDELIB) del $(TCLDDELIB)\r
+       @echo Removing $(TCLREGLIB) ...\r
+       @if exist $(TCLREGLIB) del $(TCLREGLIB)\r
+\r
+clean: default-clean clean-pkgs\r
+hose: default-hose\r
+realclean: hose\r
+\r
+# Local Variables:\r
+# mode: makefile\r
+# End:\r