diff options
author | davygrvy <davygrvy> | 2001-11-13 02:46:23 (GMT) |
---|---|---|
committer | davygrvy <davygrvy> | 2001-11-13 02:46:23 (GMT) |
commit | 4d34483032bd741ce8176da8741a9043f108c557 (patch) | |
tree | b2decec62d7ea77624953201fe82badde9f0f4d3 /win/rules.vc | |
parent | 43c95b5b9d04b14721d663d07c8183b08fd27ac3 (diff) | |
download | tk-4d34483032bd741ce8176da8741a9043f108c557.zip tk-4d34483032bd741ce8176da8741a9043f108c557.tar.gz tk-4d34483032bd741ce8176da8741a9043f108c557.tar.bz2 |
* win/mkd.bat:
* win/rmd.bat: Removed -kb CVS attribute and added changes
from Llyod Lim for better stability. [Patch #456761]
* win/rules.vc(new):
* win/buildall.vc.bat(new):
* win/makefile.vc: large rewrite following Tcl's makefile.vc as
a guide and Patch #456761. Appears BugFree(tm).
Diffstat (limited to 'win/rules.vc')
-rw-r--r-- | win/rules.vc | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/win/rules.vc b/win/rules.vc new file mode 100644 index 0000000..95f33fe --- /dev/null +++ b/win/rules.vc @@ -0,0 +1,185 @@ +#------------------------------------------------------------------------------ +# rules.vc -- +# +# Microsoft Visual C++ makefile include for decoding the commandline +# macros. This file does not need editing to build Tcl. +# +# See the file "license.terms" for information on usage and redistribution +# of this file, and for a DISCLAIMER OF ALL WARRANTIES. +# +# Copyright (c) 2001 Tomasoft Engineering. +# +#------------------------------------------------------------------------------ +# RCS: @(#) $Id: rules.vc,v 1.1 2001/11/13 02:46:23 davygrvy Exp $ +#------------------------------------------------------------------------------ + +!ifndef _RULES_VC +_RULES_VC = 1 + +cc32 = $(CC) # built-in default. +link32 = link +lib32 = lib +rc32 = $(RC) # built-in default. + +!ifndef INSTALLDIR +INSTALLDIR = C:\Progra~1\Tcl +!endif + +!ifndef MACHINE +MACHINE = IX86 +!endif + + +#---------------------------------------------------------- +# Decode the options requested. +#---------------------------------------------------------- +!if "$(OPTS)" == "" || ![echo $(OPTS) | find /i "none" > nul] +STATIC_BUILD = 0 +TCL_THREADS = 0 +DEBUG = 0 +PROFILE = 0 +MSVCRT = 0 +TCL_LINKWITHEXTENSIONS = 0 +!else +!if ![echo $(OPTS) | find /i "static" > nul] +!message *** Doing static +STATIC_BUILD = 1 +!else +STATIC_BUILD = 0 +!endif +!if ![echo $(OPTS) | find /i "msvcrt" > nul] +!message *** Doing msvcrt +MSVCRT = 1 +!else +MSVCRT = 0 +!endif +!if ![echo $(OPTS) | find /i "linkexten" > nul] +!message *** Doing linkexten +TCL_LINKWITHEXTENSIONS = 1 +!else +TCL_LINKWITHEXTENSIONS = 0 +!endif +!if ![echo $(OPTS) | find /i "threads" > nul] +!message *** Doing threads +TCL_THREADS = 1 +!else +TCL_THREADS = 0 +!endif +!if ![echo $(OPTS) | find /i "symbols" > nul] +!message *** Doing symbols +DEBUG = 1 +!else +DEBUG = 0 +!endif +!if ![echo $(OPTS) | find /i "profile" > nul] +!message *** Doing profile +PROFILE = 1 +!else +PROFILE = 0 +!endif +!endif + + +!if !$(STATIC_BUILD) +# Make sure we don't build overly fat DLLs. +MSVCRT = 1 +# Shouldn't statically put the extensions inside the shell when dynamic. +TCL_LINKWITHEXTENSIONS = 0 +!endif + + +#---------------------------------------------------------- +# Figure-out how to name our intermediate and output directories. +# We wouldn't want different builds to use the same .obj files +# by accident. +#---------------------------------------------------------- + +SUFX = tsdx + +!if $(DEBUG) +BUILDDIRTOP = Debug +DBGX = d +!else +BUILDDIRTOP = Release +DBGX = +SUFX = $(SUFX:d=) +!endif + +TMP_DIRFULL = .\$(BUILDDIRTOP)\$(PROJECT)_ThreadedDynamicStaticX + +!if !$(STATIC_BUILD) +TMP_DIRFULL = $(TMP_DIRFULL:Static=) +SUFX = $(SUFX:s=) +EXT = dll +!if $(MSVCRT) +TMP_DIRFULL = $(TMP_DIRFULL:X=) +SUFX = $(SUFX:x=) +!endif +!else +TMP_DIRFULL = $(TMP_DIRFULL:Dynamic=) +EXT = lib +!if !$(MSVCRT) +TMP_DIRFULL = $(TMP_DIRFULL:X=) +SUFX = $(SUFX:x=) +!endif +!endif + +!if !$(TCL_THREADS) +TMP_DIRFULL = $(TMP_DIRFULL:Threaded=) +SUFX = $(SUFX:t=) +!endif + +!ifndef TMP_DIR +TMP_DIR = $(TMP_DIRFULL) +!ifndef OUT_DIR +OUT_DIR = .\$(BUILDDIRTOP) +!endif +!else +!ifndef OUT_DIR +OUT_DIR = $(TMP_DIR) +!endif +!endif + +!message *** Intermediate directory will be '$(TMP_DIR)' +!message *** Output directory will be '$(OUT_DIR)' +!message *** Suffix for binaries will be '$(SUFX)' + + +#---------------------------------------------------------- +# Decode the statistics requested. +#---------------------------------------------------------- +!if "$(STATS)" == "" || ![echo $(STATS) | find /i "none" > nul] +TCL_MEM_DEBUG = 0 +TCL_COMPILE_DEBUG = 0 +!else +!if ![echo $(STATS) | find /i "memdbg" > nul] +!message *** Doing memdbg +TCL_MEM_DEBUG = 1 +!else +TCL_MEM_DEBUG = 0 +!endif +!if ![echo $(STATS) | find /i "compdbg" > nul] +!message *** Doing compdbg +TCL_COMPILE_DEBUG = 1 +!else +TCL_COMPILE_DEBUG = 0 +!endif +!endif + +OPTDEFINES = +!if $(TCL_MEM_DEBUG) +OPTDEFINES = -DTCL_MEM_DEBUG +!endif +!if $(TCL_COMPILE_DEBUG) +OPTDEFINES = $(OPTDEFINES) -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS +!endif +!if $(TCL_THREADS) +OPTDEFINES = $(OPTDEFINES) -DTCL_THREADS=1 +!endif +!if $(STATIC_BUILD) +OPTDEFINES = $(OPTDEFINES) -DSTATIC_BUILD +!endif + +!message *** Optional defines are '$(OPTDEFINES)' + +!endif |