Hex Artifact Content

Artifact 48e9d3924fa85838fdc317c398545c7a3656fa07:


0000: 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  #---------------
0010: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0020: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0030: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0040: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
0050: 23 20 72 75 6c 65 73 2e 76 63 20 2d 2d 0a 23 0a  # rules.vc --.#.
0060: 23 09 4d 69 63 72 6f 73 6f 66 74 20 56 69 73 75  #.Microsoft Visu
0070: 61 6c 20 43 2b 2b 20 6d 61 6b 65 66 69 6c 65 20  al C++ makefile 
0080: 69 6e 63 6c 75 64 65 20 66 6f 72 20 64 65 63 6f  include for deco
0090: 64 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64  ding the command
00a0: 6c 69 6e 65 0a 23 09 6d 61 63 72 6f 73 2e 20 20  line.#.macros.  
00b0: 54 68 69 73 20 66 69 6c 65 20 64 6f 65 73 20 6e  This file does n
00c0: 6f 74 20 6e 65 65 64 20 65 64 69 74 69 6e 67 20  ot need editing 
00d0: 74 6f 20 62 75 69 6c 64 20 54 63 6c 2e 0a 23 0a  to build Tcl..#.
00e0: 23 09 54 68 69 73 20 76 65 72 73 69 6f 6e 20 69  #.This version i
00f0: 73 20 6d 6f 64 69 66 69 65 64 20 66 72 6f 6d 20  s modified from 
0100: 74 68 65 20 54 63 6c 20 73 6f 75 72 63 65 20 76  the Tcl source v
0110: 65 72 73 69 6f 6e 20 74 6f 20 73 75 70 70 6f 72  ersion to suppor
0120: 74 0a 23 09 62 75 69 6c 64 69 6e 67 20 65 78 74  t.#.building ext
0130: 65 6e 73 69 6f 6e 73 20 75 73 69 6e 67 20 6e 6d  ensions using nm
0140: 61 6b 65 2e 0a 23 0a 23 20 53 65 65 20 74 68 65  ake..#.# See the
0150: 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74   file "license.t
0160: 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d  erms" for inform
0170: 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61  ation on usage a
0180: 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f  nd redistributio
0190: 6e 0a 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65  n.# of this file
01a0: 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43  , and for a DISC
01b0: 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41  LAIMER OF ALL WA
01c0: 52 52 41 4e 54 49 45 53 2e 0a 23 20 0a 23 20 43  RRANTIES..# .# C
01d0: 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30  opyright (c) 200
01e0: 31 2d 32 30 30 32 20 44 61 76 69 64 20 47 72 61  1-2002 David Gra
01f0: 76 65 72 65 61 75 78 2e 0a 23 20 43 6f 70 79 72  vereaux..# Copyr
0200: 69 67 68 74 20 28 63 29 20 32 30 30 33 2d 32 30  ight (c) 2003-20
0210: 30 38 20 50 61 74 72 69 63 6b 20 54 68 6f 79 74  08 Patrick Thoyt
0220: 73 0a 23 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  s.#.#-----------
0230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0260: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0270: 2d 2d 2d 0a 23 20 52 43 53 3a 20 40 28 23 29 20  ---.# RCS: @(#) 
0280: 24 49 64 3a 20 72 75 6c 65 73 2e 76 63 2c 76 20  $Id: rules.vc,v 
0290: 31 2e 33 20 32 30 30 38 2f 30 33 2f 31 39 20 30  1.3 2008/03/19 0
02a0: 32 3a 33 34 3a 32 31 20 70 61 74 74 68 6f 79 74  2:34:21 patthoyt
02b0: 73 20 45 78 70 20 24 0a 23 2d 2d 2d 2d 2d 2d 2d  s Exp $.#-------
02c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0300: 2d 2d 2d 2d 2d 2d 2d 0a 0a 21 69 66 6e 64 65 66  -------..!ifndef
0310: 20 5f 52 55 4c 45 53 5f 56 43 0a 5f 52 55 4c 45   _RULES_VC._RULE
0320: 53 5f 56 43 20 3d 20 31 0a 0a 63 63 33 32 09 09  S_VC = 1..cc32..
0330: 3d 20 24 28 43 43 29 20 20 20 23 20 62 75 69 6c  = $(CC)   # buil
0340: 74 2d 69 6e 20 64 65 66 61 75 6c 74 2e 0a 6c 69  t-in default..li
0350: 6e 6b 33 32 09 09 3d 20 6c 69 6e 6b 0a 6c 69 62  nk32..= link.lib
0360: 33 32 09 09 3d 20 6c 69 62 0a 72 63 33 32 09 09  32..= lib.rc32..
0370: 3d 20 24 28 52 43 29 20 20 20 23 20 62 75 69 6c  = $(RC)   # buil
0380: 74 2d 69 6e 20 64 65 66 61 75 6c 74 2e 0a 0a 21  t-in default...!
0390: 69 66 6e 64 65 66 20 49 4e 53 54 41 4c 4c 44 49  ifndef INSTALLDI
03a0: 52 0a 23 23 23 20 41 73 73 75 6d 65 20 74 68 65  R.### Assume the
03b0: 20 6e 6f 72 6d 61 6c 20 64 65 66 61 75 6c 74 2e   normal default.
03c0: 0a 5f 49 4e 53 54 41 4c 4c 44 49 52 09 3d 20 43  ._INSTALLDIR.= C
03d0: 3a 5c 50 72 6f 67 72 61 6d 20 46 69 6c 65 73 5c  :\Program Files\
03e0: 54 63 6c 0a 21 65 6c 73 65 0a 23 23 23 20 46 69  Tcl.!else.### Fi
03f0: 78 20 74 68 65 20 70 61 74 68 20 73 65 70 61 72  x the path separ
0400: 61 74 6f 72 73 2e 0a 5f 49 4e 53 54 41 4c 4c 44  ators.._INSTALLD
0410: 49 52 09 3d 20 24 28 49 4e 53 54 41 4c 4c 44 49  IR.= $(INSTALLDI
0420: 52 3a 2f 3d 5c 29 0a 21 65 6e 64 69 66 0a 0a 21  R:/=\).!endif..!
0430: 69 66 6e 64 65 66 20 4d 41 43 48 49 4e 45 0a 21  ifndef MACHINE.!
0440: 69 66 20 22 24 28 43 50 55 29 22 20 3d 3d 20 22  if "$(CPU)" == "
0450: 22 20 7c 7c 20 22 24 28 43 50 55 29 22 20 3d 3d  " || "$(CPU)" ==
0460: 20 22 69 33 38 36 22 0a 4d 41 43 48 49 4e 45 20   "i386".MACHINE 
0470: 20 20 20 20 20 20 20 20 3d 20 49 58 38 36 0a 21          = IX86.!
0480: 65 6c 73 65 0a 4d 41 43 48 49 4e 45 20 20 20 20  else.MACHINE    
0490: 20 20 20 20 20 3d 20 24 28 43 50 55 29 0a 21 65       = $(CPU).!e
04a0: 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69 66  ndif.!endif..!if
04b0: 6e 64 65 66 20 43 46 47 5f 45 4e 43 4f 44 49 4e  ndef CFG_ENCODIN
04c0: 47 0a 43 46 47 5f 45 4e 43 4f 44 49 4e 47 09 3d  G.CFG_ENCODING.=
04d0: 20 5c 22 63 70 31 32 35 32 5c 22 0a 21 65 6e 64   \"cp1252\".!end
04e0: 69 66 0a 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  if..#-----------
04f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0500: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0510: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
0520: 23 20 53 65 74 20 74 68 65 20 70 72 6f 70 65 72  # Set the proper
0530: 20 63 6f 70 79 20 6d 65 74 68 6f 64 20 74 6f 20   copy method to 
0540: 61 76 6f 69 64 20 6f 76 65 72 77 72 69 74 65 20  avoid overwrite 
0550: 71 75 65 73 74 69 6f 6e 73 0a 23 20 74 6f 20 74  questions.# to t
0560: 68 65 20 75 73 65 72 20 77 68 65 6e 20 63 6f 70  he user when cop
0570: 79 69 6e 67 20 66 69 6c 65 73 20 61 6e 64 20 73  ying files and s
0580: 65 6c 65 63 74 69 6e 67 20 74 68 65 20 72 69 67  electing the rig
0590: 68 74 0a 23 20 22 64 65 6c 65 74 65 20 61 6c 6c  ht.# "delete all
05a0: 22 20 6d 65 74 68 6f 64 2e 0a 23 2d 2d 2d 2d 2d  " method..#-----
05b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
05c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
05d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
05e0: 2d 2d 2d 2d 2d 0a 0a 21 69 66 20 22 24 28 4f 53  -----..!if "$(OS
05f0: 29 22 20 3d 3d 20 22 57 69 6e 64 6f 77 73 5f 4e  )" == "Windows_N
0600: 54 22 0a 52 4d 44 49 52 09 3d 20 72 6d 64 69 72  T".RMDIR.= rmdir
0610: 20 2f 53 20 2f 51 0a 45 52 52 4e 55 4c 4c 20 20   /S /Q.ERRNULL  
0620: 3d 20 32 3e 4e 55 4c 0a 21 69 66 20 21 5b 76 65  = 2>NUL.!if ![ve
0630: 72 20 7c 20 66 69 6e 64 20 22 34 2e 30 22 20 3e  r | find "4.0" >
0640: 20 6e 75 6c 5d 0a 43 50 59 09 3d 20 65 63 68 6f   nul].CPY.= echo
0650: 20 79 20 7c 20 78 63 6f 70 79 20 2f 69 20 3e 4e   y | xcopy /i >N
0660: 55 4c 0a 43 4f 50 59 09 3d 20 63 6f 70 79 20 3e  UL.COPY.= copy >
0670: 4e 55 4c 0a 21 65 6c 73 65 0a 43 50 59 09 3d 20  NUL.!else.CPY.= 
0680: 78 63 6f 70 79 20 2f 69 20 2f 79 20 3e 4e 55 4c  xcopy /i /y >NUL
0690: 0a 43 4f 50 59 09 3d 20 63 6f 70 79 20 2f 79 20  .COPY.= copy /y 
06a0: 3e 4e 55 4c 0a 21 65 6e 64 69 66 0a 21 65 6c 73  >NUL.!endif.!els
06b0: 65 20 23 20 22 24 28 4f 53 29 22 20 21 3d 20 22  e # "$(OS)" != "
06c0: 57 69 6e 64 6f 77 73 5f 4e 54 22 0a 43 50 59 09  Windows_NT".CPY.
06d0: 3d 20 78 63 6f 70 79 20 2f 69 20 3e 5f 4a 55 4e  = xcopy /i >_JUN
06e0: 4b 2e 4f 55 54 20 23 20 4f 6e 20 57 69 6e 39 38  K.OUT # On Win98
06f0: 20 4e 55 4c 20 64 6f 65 73 20 6e 6f 74 20 77 6f   NUL does not wo
0700: 72 6b 20 68 65 72 65 2e 0a 43 4f 50 59 09 3d 20  rk here..COPY.= 
0710: 63 6f 70 79 20 3e 5f 4a 55 4e 4b 2e 4f 55 54 20  copy >_JUNK.OUT 
0720: 23 20 4f 6e 20 57 69 6e 39 38 20 4e 55 4c 20 64  # On Win98 NUL d
0730: 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 68 65 72  oes not work her
0740: 65 2e 0a 52 4d 44 49 52 09 3d 20 64 65 6c 74 72  e..RMDIR.= deltr
0750: 65 65 20 2f 59 0a 4e 55 4c 4c 20 20 20 20 3d 20  ee /Y.NULL    = 
0760: 5c 4e 55 4c 20 23 20 55 73 65 64 20 69 6e 20 74  \NUL # Used in t
0770: 65 73 74 69 6e 67 20 64 69 72 65 63 74 6f 72 79  esting directory
0780: 20 65 78 69 73 74 65 6e 63 65 0a 45 52 52 4e 55   existence.ERRNU
0790: 4c 4c 20 3d 20 3e 4e 55 4c 20 23 20 57 69 6e 39  LL = >NUL # Win9
07a0: 78 20 73 68 65 6c 6c 20 63 61 6e 6e 6f 74 20 72  x shell cannot r
07b0: 65 64 69 72 65 63 74 20 73 74 64 65 72 72 0a 21  edirect stderr.!
07c0: 65 6e 64 69 66 0a 4d 4b 44 49 52 20 20 20 3d 20  endif.MKDIR   = 
07d0: 6d 6b 64 69 72 0a 0a 21 6d 65 73 73 61 67 65 20  mkdir..!message 
07e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
07f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0800: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0810: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0820: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a  ===============.
0830: 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .#--------------
0840: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0850: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0860: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 62  ------------.# b
0870: 75 69 6c 64 20 74 68 65 20 68 65 6c 70 65 72 20  uild the helper 
0880: 61 70 70 20 77 65 20 6e 65 65 64 20 74 6f 20 6f  app we need to o
0890: 76 65 72 63 6f 6d 65 20 6e 6d 61 6b 65 27 73 20  vercome nmake's 
08a0: 6c 69 6d 69 74 69 6e 67 0a 23 20 65 6e 76 69 72  limiting.# envir
08b0: 6f 6e 6d 65 6e 74 2e 0a 23 2d 2d 2d 2d 2d 2d 2d  onment..#-------
08c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
08d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
08e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
08f0: 2d 2d 2d 0a 0a 21 69 66 20 21 65 78 69 73 74 28  ---..!if !exist(
0900: 6e 6d 61 6b 65 68 6c 70 2e 65 78 65 29 0a 21 69  nmakehlp.exe).!i
0910: 66 20 5b 24 28 63 63 33 32 29 20 2d 6e 6f 6c 6f  f [$(cc32) -nolo
0920: 67 6f 20 6e 6d 61 6b 65 68 6c 70 2e 63 20 2d 6c  go nmakehlp.c -l
0930: 69 6e 6b 20 2d 73 75 62 73 79 73 74 65 6d 3a 63  ink -subsystem:c
0940: 6f 6e 73 6f 6c 65 20 3e 20 6e 75 6c 5d 0a 21 65  onsole > nul].!e
0950: 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 23 2d 2d  ndif.!endif..#--
0960: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0980: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0990: 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 54 65 73 74 20  --------.# Test 
09a0: 66 6f 72 20 63 6f 6d 70 69 6c 65 72 20 66 65 61  for compiler fea
09b0: 74 75 72 65 73 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d  tures.#---------
09c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
09d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
09e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
09f0: 2d 0a 0a 23 23 23 20 74 65 73 74 20 66 6f 72 20  -..### test for 
0a00: 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 0a 21 69  optimizations.!i
0a10: 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63 20 2d  f [nmakehlp -c -
0a20: 4f 74 5d 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a  Ot].!message ***
0a30: 20 43 6f 6d 70 69 6c 65 72 20 68 61 73 20 27 4f   Compiler has 'O
0a40: 70 74 69 6d 69 7a 61 74 69 6f 6e 73 27 0a 4f 50  ptimizations'.OP
0a50: 54 49 4d 49 5a 49 4e 47 09 3d 20 31 0a 21 65 6c  TIMIZING.= 1.!el
0a60: 73 65 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20  se.!message *** 
0a70: 43 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20 6e 6f  Compiler does no
0a80: 74 20 68 61 76 65 20 27 4f 70 74 69 6d 69 7a 61  t have 'Optimiza
0a90: 74 69 6f 6e 73 27 0a 4f 50 54 49 4d 49 5a 49 4e  tions'.OPTIMIZIN
0aa0: 47 09 3d 20 30 0a 21 65 6e 64 69 66 0a 0a 4f 50  G.= 0.!endif..OP
0ab0: 54 49 4d 49 5a 41 54 49 4f 4e 53 20 20 3d 0a 0a  TIMIZATIONS  =..
0ac0: 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63  !if [nmakehlp -c
0ad0: 20 2d 4f 74 5d 0a 4f 50 54 49 4d 49 5a 41 54 49   -Ot].OPTIMIZATI
0ae0: 4f 4e 53 20 20 3d 20 24 28 4f 50 54 49 4d 49 5a  ONS  = $(OPTIMIZ
0af0: 41 54 49 4f 4e 53 29 20 2d 4f 74 0a 21 65 6e 64  ATIONS) -Ot.!end
0b00: 69 66 0a 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c  if..!if [nmakehl
0b10: 70 20 2d 63 20 2d 4f 69 5d 0a 4f 50 54 49 4d 49  p -c -Oi].OPTIMI
0b20: 5a 41 54 49 4f 4e 53 20 20 3d 20 24 28 4f 50 54  ZATIONS  = $(OPT
0b30: 49 4d 49 5a 41 54 49 4f 4e 53 29 20 2d 4f 69 0a  IMIZATIONS) -Oi.
0b40: 21 65 6e 64 69 66 0a 0a 21 69 66 20 5b 6e 6d 61  !endif..!if [nma
0b50: 6b 65 68 6c 70 20 2d 63 20 2d 4f 70 5d 0a 4f 50  kehlp -c -Op].OP
0b60: 54 49 4d 49 5a 41 54 49 4f 4e 53 20 20 3d 20 24  TIMIZATIONS  = $
0b70: 28 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 20  (OPTIMIZATIONS) 
0b80: 2d 4f 70 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20  -Op.!endif..!if 
0b90: 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63 20 2d 66 70  [nmakehlp -c -fp
0ba0: 3a 73 74 72 69 63 74 5d 0a 4f 50 54 49 4d 49 5a  :strict].OPTIMIZ
0bb0: 41 54 49 4f 4e 53 20 20 3d 20 24 28 4f 50 54 49  ATIONS  = $(OPTI
0bc0: 4d 49 5a 41 54 49 4f 4e 53 29 20 2d 66 70 3a 73  MIZATIONS) -fp:s
0bd0: 74 72 69 63 74 0a 21 65 6e 64 69 66 0a 0a 21 69  trict.!endif..!i
0be0: 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63 20 2d  f [nmakehlp -c -
0bf0: 47 73 5d 0a 4f 50 54 49 4d 49 5a 41 54 49 4f 4e  Gs].OPTIMIZATION
0c00: 53 20 20 3d 20 24 28 4f 50 54 49 4d 49 5a 41 54  S  = $(OPTIMIZAT
0c10: 49 4f 4e 53 29 20 2d 47 73 0a 21 65 6e 64 69 66  IONS) -Gs.!endif
0c20: 0a 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20  ..!if [nmakehlp 
0c30: 2d 63 20 2d 47 53 5d 0a 4f 50 54 49 4d 49 5a 41  -c -GS].OPTIMIZA
0c40: 54 49 4f 4e 53 20 20 3d 20 24 28 4f 50 54 49 4d  TIONS  = $(OPTIM
0c50: 49 5a 41 54 49 4f 4e 53 29 20 2d 47 53 0a 21 65  IZATIONS) -GS.!e
0c60: 6e 64 69 66 0a 0a 21 69 66 20 5b 6e 6d 61 6b 65  ndif..!if [nmake
0c70: 68 6c 70 20 2d 63 20 2d 47 4c 5d 0a 4f 50 54 49  hlp -c -GL].OPTI
0c80: 4d 49 5a 41 54 49 4f 4e 53 20 20 3d 20 24 28 4f  MIZATIONS  = $(O
0c90: 50 54 49 4d 49 5a 41 54 49 4f 4e 53 29 20 2d 47  PTIMIZATIONS) -G
0ca0: 4c 0a 21 65 6e 64 69 66 0a 0a 44 45 42 55 47 46  L.!endif..DEBUGF
0cb0: 4c 41 47 53 20 20 20 20 20 3d 0a 0a 21 69 66 20  LAGS     =..!if 
0cc0: 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63 20 2d 52 54  [nmakehlp -c -RT
0cd0: 43 31 5d 0a 44 45 42 55 47 46 4c 41 47 53 20 20  C1].DEBUGFLAGS  
0ce0: 20 20 20 3d 20 24 28 44 45 42 55 47 46 4c 41 47     = $(DEBUGFLAG
0cf0: 53 29 20 2d 52 54 43 31 0a 21 65 6c 73 65 69 66  S) -RTC1.!elseif
0d00: 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63 20 2d 47   [nmakehlp -c -G
0d10: 5a 5d 0a 44 45 42 55 47 46 4c 41 47 53 20 20 20  Z].DEBUGFLAGS   
0d20: 20 20 3d 20 24 28 44 45 42 55 47 46 4c 41 47 53    = $(DEBUGFLAGS
0d30: 29 20 2d 47 5a 0a 21 65 6e 64 69 66 0a 0a 43 4f  ) -GZ.!endif..CO
0d40: 4d 50 49 4c 45 52 46 4c 41 47 53 20 20 3d 2d 57  MPILERFLAGS  =-W
0d50: 33 0a 0a 23 20 49 6e 20 76 31 33 20 2d 47 4c 20  3..# In v13 -GL 
0d60: 61 6e 64 20 2d 59 58 20 61 72 65 20 69 6e 63 6f  and -YX are inco
0d70: 6d 70 61 74 69 62 6c 65 2e 0a 21 69 66 20 5b 6e  mpatible..!if [n
0d80: 6d 61 6b 65 68 6c 70 20 2d 63 20 2d 59 58 5d 0a  makehlp -c -YX].
0d90: 21 69 66 20 21 5b 6e 6d 61 6b 65 68 6c 70 20 2d  !if ![nmakehlp -
0da0: 63 20 2d 47 4c 5d 0a 4f 50 54 49 4d 49 5a 41 54  c -GL].OPTIMIZAT
0db0: 49 4f 4e 53 20 20 3d 20 24 28 4f 50 54 49 4d 49  IONS  = $(OPTIMI
0dc0: 5a 41 54 49 4f 4e 53 29 20 2d 59 58 0a 21 65 6e  ZATIONS) -YX.!en
0dd0: 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20  dif.!endif..!if 
0de0: 22 24 28 4d 41 43 48 49 4e 45 29 22 20 3d 3d 20  "$(MACHINE)" == 
0df0: 22 49 58 38 36 22 0a 23 23 23 20 74 65 73 74 20  "IX86".### test 
0e00: 66 6f 72 20 70 65 6e 74 69 75 6d 20 65 72 72 61  for pentium erra
0e10: 74 61 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70  ta.!if [nmakehlp
0e20: 20 2d 63 20 2d 51 49 30 66 5d 0a 21 6d 65 73 73   -c -QI0f].!mess
0e30: 61 67 65 20 2a 2a 2a 20 43 6f 6d 70 69 6c 65 72  age *** Compiler
0e40: 20 68 61 73 20 27 50 65 6e 74 69 75 6d 20 30 78   has 'Pentium 0x
0e50: 30 66 20 66 69 78 27 0a 43 4f 4d 50 49 4c 45 52  0f fix'.COMPILER
0e60: 46 4c 41 47 53 20 20 3d 20 24 28 43 4f 4d 50 49  FLAGS  = $(COMPI
0e70: 4c 45 52 46 4c 41 47 53 53 29 20 2d 51 49 30 66  LERFLAGSS) -QI0f
0e80: 0a 21 65 6c 73 65 0a 21 6d 65 73 73 61 67 65 20  .!else.!message 
0e90: 2a 2a 2a 20 43 6f 6d 70 69 6c 65 72 20 64 6f 65  *** Compiler doe
0ea0: 73 20 6e 6f 74 20 68 61 76 65 20 27 50 65 6e 74  s not have 'Pent
0eb0: 69 75 6d 20 30 78 30 66 20 66 69 78 27 0a 21 65  ium 0x0f fix'.!e
0ec0: 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21 69 66  ndif.!endif..!if
0ed0: 20 22 24 28 4d 41 43 48 49 4e 45 29 22 20 3d 3d   "$(MACHINE)" ==
0ee0: 20 22 49 41 36 34 22 0a 23 23 23 20 74 65 73 74   "IA64".### test
0ef0: 20 66 6f 72 20 49 74 61 6e 69 75 6d 20 65 72 72   for Itanium err
0f00: 61 74 61 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c  ata.!if [nmakehl
0f10: 70 20 2d 63 20 2d 51 49 41 36 34 5f 42 78 5d 0a  p -c -QIA64_Bx].
0f20: 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20 43 6f 6d  !message *** Com
0f30: 70 69 6c 65 72 20 68 61 73 20 27 42 2d 73 74 65  piler has 'B-ste
0f40: 70 70 69 6e 67 20 65 72 72 61 74 61 20 77 6f 72  pping errata wor
0f50: 6b 61 72 6f 75 6e 64 73 27 0a 43 4f 4d 50 49 4c  karounds'.COMPIL
0f60: 45 52 46 4c 41 47 53 20 20 20 3d 20 24 28 43 4f  ERFLAGS   = $(CO
0f70: 4d 50 49 4c 45 52 46 4c 41 47 53 29 20 2d 51 49  MPILERFLAGS) -QI
0f80: 41 36 34 5f 42 78 0a 21 65 6c 73 65 0a 21 6d 65  A64_Bx.!else.!me
0f90: 73 73 61 67 65 20 2a 2a 2a 20 43 6f 6d 70 69 6c  ssage *** Compil
0fa0: 65 72 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65  er does not have
0fb0: 20 27 42 2d 73 74 65 70 70 69 6e 67 20 65 72 72   'B-stepping err
0fc0: 61 74 61 20 77 6f 72 6b 61 72 6f 75 6e 64 73 27  ata workarounds'
0fd0: 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a  .!endif.!endif..
0fe0: 21 69 66 20 22 24 28 4d 41 43 48 49 4e 45 29 22  !if "$(MACHINE)"
0ff0: 20 3d 3d 20 22 49 58 38 36 22 0a 23 23 23 20 74   == "IX86".### t
1000: 65 73 74 20 66 6f 72 20 2d 61 6c 69 67 6e 3a 34  est for -align:4
1010: 30 39 36 2c 20 77 68 65 6e 20 61 6c 69 67 6e 3a  096, when align:
1020: 35 31 32 20 77 69 6c 6c 20 64 6f 2e 0a 21 69 66  512 will do..!if
1030: 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 6c 20 2d 6f   [nmakehlp -l -o
1040: 70 74 3a 6e 6f 77 69 6e 39 38 5d 0a 21 6d 65 73  pt:nowin98].!mes
1050: 73 61 67 65 20 2a 2a 2a 20 4c 69 6e 6b 65 72 20  sage *** Linker 
1060: 68 61 73 20 27 57 69 6e 39 38 20 61 6c 69 67 6e  has 'Win98 align
1070: 6d 65 6e 74 20 70 72 6f 62 6c 65 6d 27 0a 41 4c  ment problem'.AL
1080: 49 47 4e 39 38 5f 48 41 43 4b 09 3d 20 31 0a 21  IGN98_HACK.= 1.!
1090: 65 6c 73 65 0a 21 6d 65 73 73 61 67 65 20 2a 2a  else.!message **
10a0: 2a 20 4c 69 6e 6b 65 72 20 64 6f 65 73 20 6e 6f  * Linker does no
10b0: 74 20 68 61 76 65 20 27 57 69 6e 39 38 20 61 6c  t have 'Win98 al
10c0: 69 67 6e 6d 65 6e 74 20 70 72 6f 62 6c 65 6d 27  ignment problem'
10d0: 0a 41 4c 49 47 4e 39 38 5f 48 41 43 4b 09 3d 20  .ALIGN98_HACK.= 
10e0: 30 0a 21 65 6e 64 69 66 0a 21 65 6c 73 65 0a 41  0.!endif.!else.A
10f0: 4c 49 47 4e 39 38 5f 48 41 43 4b 09 3d 20 30 0a  LIGN98_HACK.= 0.
1100: 21 65 6e 64 69 66 0a 0a 4c 49 4e 4b 45 52 46 4c  !endif..LINKERFL
1110: 41 47 53 20 20 20 20 20 3d 0a 0a 21 69 66 20 5b  AGS     =..!if [
1120: 6e 6d 61 6b 65 68 6c 70 20 2d 6c 20 2d 6c 74 63  nmakehlp -l -ltc
1130: 67 5d 0a 4c 49 4e 4b 45 52 46 4c 41 47 53 20 20  g].LINKERFLAGS  
1140: 20 20 20 3d 2d 6c 74 63 67 0a 21 65 6e 64 69 66     =-ltcg.!endif
1150: 0a 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..#-------------
1160: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1170: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1180: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20  -------------.# 
1190: 4d 53 56 43 38 20 28 73 68 69 70 73 20 77 69 74  MSVC8 (ships wit
11a0: 68 20 56 69 73 75 61 6c 20 53 74 75 64 69 6f 20  h Visual Studio 
11b0: 32 30 30 35 29 20 67 65 6e 65 72 61 74 65 73 20  2005) generates 
11c0: 61 20 6d 61 6e 69 66 65 73 74 0a 23 20 66 69 6c  a manifest.# fil
11d0: 65 20 74 68 61 74 20 77 65 20 73 68 6f 75 6c 64  e that we should
11e0: 20 6c 69 6e 6b 20 69 6e 74 6f 20 74 68 65 20 62   link into the b
11f0: 69 6e 61 72 69 65 73 2e 20 54 68 69 73 20 69 73  inaries. This is
1200: 20 68 6f 77 2e 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d   how..#---------
1210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1220: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1240: 2d 0a 0a 5f 56 43 5f 4d 41 4e 49 46 45 53 54 5f  -.._VC_MANIFEST_
1250: 45 4d 42 45 44 5f 45 58 45 3d 0a 5f 56 43 5f 4d  EMBED_EXE=._VC_M
1260: 41 4e 49 46 45 53 54 5f 45 4d 42 45 44 5f 44 4c  ANIFEST_EMBED_DL
1270: 4c 3d 0a 56 43 56 45 52 3d 30 0a 21 69 66 20 21  L=.VCVER=0.!if !
1280: 5b 65 63 68 6f 20 56 43 56 45 52 53 49 4f 4e 3d  [echo VCVERSION=
1290: 5f 4d 53 43 5f 56 45 52 20 3e 20 76 65 72 63 6c  _MSC_VER > vercl
12a0: 2e 78 5d 20 5c 0a 20 20 20 20 26 26 20 21 5b 63  .x] \.    && ![c
12b0: 6c 20 2d 6e 6f 6c 6f 67 6f 20 2d 54 43 20 2d 50  l -nologo -TC -P
12c0: 20 76 65 72 63 6c 2e 78 20 24 28 45 52 52 4e 55   vercl.x $(ERRNU
12d0: 4c 4c 29 5d 0a 21 69 6e 63 6c 75 64 65 20 76 65  LL)].!include ve
12e0: 72 63 6c 2e 69 0a 21 69 66 20 24 28 56 43 56 45  rcl.i.!if $(VCVE
12f0: 52 53 49 4f 4e 29 20 3e 3d 20 31 35 30 30 0a 56  RSION) >= 1500.V
1300: 43 56 45 52 3d 39 0a 21 65 6c 73 65 69 66 20 24  CVER=9.!elseif $
1310: 28 56 43 56 45 52 53 49 4f 4e 29 20 3e 3d 20 31  (VCVERSION) >= 1
1320: 34 30 30 0a 56 43 56 45 52 3d 38 0a 21 65 6c 73  400.VCVER=8.!els
1330: 65 69 66 20 24 28 56 43 56 45 52 53 49 4f 4e 29  eif $(VCVERSION)
1340: 20 3e 3d 20 31 33 30 30 0a 56 43 56 45 52 3d 37   >= 1300.VCVER=7
1350: 0a 21 65 6c 73 65 69 66 20 24 28 56 43 56 45 52  .!elseif $(VCVER
1360: 53 49 4f 4e 29 20 3e 3d 20 31 32 30 30 0a 56 43  SION) >= 1200.VC
1370: 56 45 52 3d 36 0a 21 65 6e 64 69 66 0a 21 65 6e  VER=6.!endif.!en
1380: 64 69 66 0a 0a 23 20 53 69 6e 63 65 20 4d 53 56  dif..# Since MSV
1390: 43 38 20 77 65 20 6d 75 73 74 20 64 65 61 6c 20  C8 we must deal 
13a0: 77 69 74 68 20 6d 61 6e 69 66 65 73 74 20 72 65  with manifest re
13b0: 73 6f 75 72 63 65 73 2e 0a 21 69 66 20 24 28 56  sources..!if $(V
13c0: 43 56 45 52 53 49 4f 4e 29 20 3e 3d 20 31 34 30  CVERSION) >= 140
13d0: 30 0a 5f 56 43 5f 4d 41 4e 49 46 45 53 54 5f 45  0._VC_MANIFEST_E
13e0: 4d 42 45 44 5f 45 58 45 3d 69 66 20 65 78 69 73  MBED_EXE=if exis
13f0: 74 20 24 40 2e 6d 61 6e 69 66 65 73 74 20 6d 74  t $@.manifest mt
1400: 20 2d 6e 6f 6c 6f 67 6f 20 2d 6d 61 6e 69 66 65   -nologo -manife
1410: 73 74 20 24 40 2e 6d 61 6e 69 66 65 73 74 20 2d  st $@.manifest -
1420: 6f 75 74 70 75 74 72 65 73 6f 75 72 63 65 3a 24  outputresource:$
1430: 40 3b 31 0a 5f 56 43 5f 4d 41 4e 49 46 45 53 54  @;1._VC_MANIFEST
1440: 5f 45 4d 42 45 44 5f 44 4c 4c 3d 69 66 20 65 78  _EMBED_DLL=if ex
1450: 69 73 74 20 24 40 2e 6d 61 6e 69 66 65 73 74 20  ist $@.manifest 
1460: 6d 74 20 2d 6e 6f 6c 6f 67 6f 20 2d 6d 61 6e 69  mt -nologo -mani
1470: 66 65 73 74 20 24 40 2e 6d 61 6e 69 66 65 73 74  fest $@.manifest
1480: 20 2d 6f 75 74 70 75 74 72 65 73 6f 75 72 63 65   -outputresource
1490: 3a 24 40 3b 32 0a 21 65 6e 64 69 66 0a 0a 23 2d  :$@;2.!endif..#-
14a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
14b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
14c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
14d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 44 65 63 6f  ---------.# Deco
14e0: 64 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 72  de the options r
14f0: 65 71 75 65 73 74 65 64 2e 0a 23 2d 2d 2d 2d 2d  equested..#-----
1500: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1510: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1520: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1530: 2d 2d 2d 2d 2d 0a 0a 21 69 66 20 22 24 28 4f 50  -----..!if "$(OP
1540: 54 53 29 22 20 3d 3d 20 22 22 20 7c 7c 20 5b 6e  TS)" == "" || [n
1550: 6d 61 6b 65 68 6c 70 20 2d 66 20 22 24 28 4f 50  makehlp -f "$(OP
1560: 54 53 29 22 20 22 6e 6f 6e 65 22 5d 0a 53 54 41  TS)" "none"].STA
1570: 54 49 43 5f 42 55 49 4c 44 09 3d 20 30 0a 54 43  TIC_BUILD.= 0.TC
1580: 4c 5f 54 48 52 45 41 44 53 09 3d 20 31 0a 44 45  L_THREADS.= 1.DE
1590: 42 55 47 09 09 3d 20 30 0a 50 52 4f 46 49 4c 45  BUG..= 0.PROFILE
15a0: 09 09 3d 20 30 0a 4d 53 56 43 52 54 09 09 3d 20  ..= 0.MSVCRT..= 
15b0: 30 0a 4c 4f 49 4d 50 41 43 54 09 3d 20 30 0a 54  0.LOIMPACT.= 0.T
15c0: 43 4c 5f 55 53 45 5f 53 54 41 54 49 43 5f 50 41  CL_USE_STATIC_PA
15d0: 43 4b 41 47 45 53 09 3d 20 30 0a 55 53 45 5f 54  CKAGES.= 0.USE_T
15e0: 48 52 45 41 44 5f 41 4c 4c 4f 43 20 3d 20 31 0a  HREAD_ALLOC = 1.
15f0: 55 53 45 5f 54 48 52 45 41 44 5f 53 54 4f 52 41  USE_THREAD_STORA
1600: 47 45 20 3d 20 31 0a 55 4e 43 48 45 43 4b 45 44  GE = 1.UNCHECKED
1610: 20 20 20 20 20 20 20 3d 20 30 0a 21 65 6c 73 65         = 0.!else
1620: 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d  .!if [nmakehlp -
1630: 66 20 24 28 4f 50 54 53 29 20 22 73 74 61 74 69  f $(OPTS) "stati
1640: 63 22 5d 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a  c"].!message ***
1650: 20 44 6f 69 6e 67 20 73 74 61 74 69 63 0a 53 54   Doing static.ST
1660: 41 54 49 43 5f 42 55 49 4c 44 09 3d 20 31 0a 21  ATIC_BUILD.= 1.!
1670: 65 6c 73 65 0a 53 54 41 54 49 43 5f 42 55 49 4c  else.STATIC_BUIL
1680: 44 09 3d 20 30 0a 21 65 6e 64 69 66 0a 21 69 66  D.= 0.!endif.!if
1690: 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20 24 28   [nmakehlp -f $(
16a0: 4f 50 54 53 29 20 22 6d 73 76 63 72 74 22 5d 0a  OPTS) "msvcrt"].
16b0: 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20 44 6f 69  !message *** Doi
16c0: 6e 67 20 6d 73 76 63 72 74 0a 4d 53 56 43 52 54  ng msvcrt.MSVCRT
16d0: 09 09 3d 20 31 0a 21 65 6c 73 65 0a 4d 53 56 43  ..= 1.!else.MSVC
16e0: 52 54 09 09 3d 20 30 0a 21 65 6e 64 69 66 0a 21  RT..= 0.!endif.!
16f0: 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20  if [nmakehlp -f 
1700: 24 28 4f 50 54 53 29 20 22 73 74 61 74 69 63 70  $(OPTS) "staticp
1710: 6b 67 22 5d 0a 21 6d 65 73 73 61 67 65 20 2a 2a  kg"].!message **
1720: 2a 20 44 6f 69 6e 67 20 73 74 61 74 69 63 70 6b  * Doing staticpk
1730: 67 0a 54 43 4c 5f 55 53 45 5f 53 54 41 54 49 43  g.TCL_USE_STATIC
1740: 5f 50 41 43 4b 41 47 45 53 09 3d 20 31 0a 21 65  _PACKAGES.= 1.!e
1750: 6c 73 65 0a 54 43 4c 5f 55 53 45 5f 53 54 41 54  lse.TCL_USE_STAT
1760: 49 43 5f 50 41 43 4b 41 47 45 53 09 3d 20 30 0a  IC_PACKAGES.= 0.
1770: 21 65 6e 64 69 66 0a 21 69 66 20 5b 6e 6d 61 6b  !endif.!if [nmak
1780: 65 68 6c 70 20 2d 66 20 24 28 4f 50 54 53 29 20  ehlp -f $(OPTS) 
1790: 22 6e 6f 74 68 72 65 61 64 73 22 5d 0a 21 6d 65  "nothreads"].!me
17a0: 73 73 61 67 65 20 2a 2a 2a 20 43 6f 6d 70 69 6c  ssage *** Compil
17b0: 65 20 65 78 70 6c 69 63 69 74 6c 79 20 66 6f 72  e explicitly for
17c0: 20 6e 6f 6e 2d 74 68 72 65 61 64 65 64 20 74 63   non-threaded tc
17d0: 6c 0a 54 43 4c 5f 54 48 52 45 41 44 53 09 3d 20  l.TCL_THREADS.= 
17e0: 30 0a 21 65 6c 73 65 0a 54 43 4c 5f 54 48 52 45  0.!else.TCL_THRE
17f0: 41 44 53 20 20 20 20 20 3d 20 31 0a 21 65 6e 64  ADS     = 1.!end
1800: 69 66 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70  if.!if [nmakehlp
1810: 20 2d 66 20 24 28 4f 50 54 53 29 20 22 73 79 6d   -f $(OPTS) "sym
1820: 62 6f 6c 73 22 5d 0a 21 6d 65 73 73 61 67 65 20  bols"].!message 
1830: 2a 2a 2a 20 44 6f 69 6e 67 20 73 79 6d 62 6f 6c  *** Doing symbol
1840: 73 0a 44 45 42 55 47 09 09 3d 20 31 0a 21 65 6c  s.DEBUG..= 1.!el
1850: 73 65 0a 44 45 42 55 47 09 09 3d 20 30 0a 21 65  se.DEBUG..= 0.!e
1860: 6e 64 69 66 0a 21 69 66 20 5b 6e 6d 61 6b 65 68  ndif.!if [nmakeh
1870: 6c 70 20 2d 66 20 24 28 4f 50 54 53 29 20 22 70  lp -f $(OPTS) "p
1880: 72 6f 66 69 6c 65 22 5d 0a 21 6d 65 73 73 61 67  rofile"].!messag
1890: 65 20 2a 2a 2a 20 44 6f 69 6e 67 20 70 72 6f 66  e *** Doing prof
18a0: 69 6c 65 0a 50 52 4f 46 49 4c 45 09 09 3d 20 31  ile.PROFILE..= 1
18b0: 0a 21 65 6c 73 65 0a 50 52 4f 46 49 4c 45 09 09  .!else.PROFILE..
18c0: 3d 20 30 0a 21 65 6e 64 69 66 0a 21 69 66 20 5b  = 0.!endif.!if [
18d0: 6e 6d 61 6b 65 68 6c 70 20 2d 66 20 24 28 4f 50  nmakehlp -f $(OP
18e0: 54 53 29 20 22 6c 6f 69 6d 70 61 63 74 22 5d 0a  TS) "loimpact"].
18f0: 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20 44 6f 69  !message *** Doi
1900: 6e 67 20 6c 6f 69 6d 70 61 63 74 0a 4c 4f 49 4d  ng loimpact.LOIM
1910: 50 41 43 54 09 3d 20 31 0a 21 65 6c 73 65 0a 4c  PACT.= 1.!else.L
1920: 4f 49 4d 50 41 43 54 09 3d 20 30 0a 21 65 6e 64  OIMPACT.= 0.!end
1930: 69 66 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70  if.!if [nmakehlp
1940: 20 2d 66 20 24 28 4f 50 54 53 29 20 22 74 68 72   -f $(OPTS) "thr
1950: 64 61 6c 6c 6f 63 22 5d 0a 21 6d 65 73 73 61 67  dalloc"].!messag
1960: 65 20 2a 2a 2a 20 44 6f 69 6e 67 20 74 68 72 64  e *** Doing thrd
1970: 61 6c 6c 6f 63 0a 55 53 45 5f 54 48 52 45 41 44  alloc.USE_THREAD
1980: 5f 41 4c 4c 4f 43 20 3d 20 31 0a 21 65 6c 73 65  _ALLOC = 1.!else
1990: 0a 55 53 45 5f 54 48 52 45 41 44 5f 41 4c 4c 4f  .USE_THREAD_ALLO
19a0: 43 20 3d 20 30 0a 21 65 6e 64 69 66 0a 21 69 66  C = 0.!endif.!if
19b0: 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20 24 28   [nmakehlp -f $(
19c0: 4f 50 54 53 29 20 22 74 68 72 64 73 74 6f 72 61  OPTS) "thrdstora
19d0: 67 65 22 5d 0a 21 6d 65 73 73 61 67 65 20 2a 2a  ge"].!message **
19e0: 2a 20 44 6f 69 6e 67 20 74 68 72 64 73 74 6f 72  * Doing thrdstor
19f0: 61 67 65 0a 55 53 45 5f 54 48 52 45 41 44 5f 53  age.USE_THREAD_S
1a00: 54 4f 52 41 47 45 20 3d 20 31 0a 21 65 6c 73 65  TORAGE = 1.!else
1a10: 0a 55 53 45 5f 54 48 52 45 41 44 5f 53 54 4f 52  .USE_THREAD_STOR
1a20: 41 47 45 20 3d 20 30 0a 21 65 6e 64 69 66 0a 21  AGE = 0.!endif.!
1a30: 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20  if [nmakehlp -f 
1a40: 24 28 4f 50 54 53 29 20 22 75 6e 63 68 65 63 6b  $(OPTS) "uncheck
1a50: 65 64 22 5d 0a 21 6d 65 73 73 61 67 65 20 2a 2a  ed"].!message **
1a60: 2a 20 44 6f 69 6e 67 20 75 6e 63 68 65 63 6b 65  * Doing unchecke
1a70: 64 0a 55 4e 43 48 45 43 4b 45 44 20 3d 20 31 0a  d.UNCHECKED = 1.
1a80: 21 65 6c 73 65 0a 55 4e 43 48 45 43 4b 45 44 20  !else.UNCHECKED 
1a90: 3d 20 30 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69  = 0.!endif.!endi
1aa0: 66 0a 0a 0a 21 69 66 20 21 24 28 53 54 41 54 49  f...!if !$(STATI
1ab0: 43 5f 42 55 49 4c 44 29 0a 23 20 4d 61 6b 65 20  C_BUILD).# Make 
1ac0: 73 75 72 65 20 77 65 20 64 6f 6e 27 74 20 62 75  sure we don't bu
1ad0: 69 6c 64 20 6f 76 65 72 6c 79 20 66 61 74 20 44  ild overly fat D
1ae0: 4c 4c 73 2e 0a 4d 53 56 43 52 54 09 09 3d 20 31  LLs..MSVCRT..= 1
1af0: 0a 23 20 57 65 20 73 68 6f 75 6c 64 6e 27 74 20  .# We shouldn't 
1b00: 73 74 61 74 69 63 61 6c 6c 79 20 70 75 74 20 74  statically put t
1b10: 68 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 69 6e  he extensions in
1b20: 73 69 64 65 20 74 68 65 20 73 68 65 6c 6c 20 77  side the shell w
1b30: 68 65 6e 20 64 79 6e 61 6d 69 63 2e 0a 54 43 4c  hen dynamic..TCL
1b40: 5f 55 53 45 5f 53 54 41 54 49 43 5f 50 41 43 4b  _USE_STATIC_PACK
1b50: 41 47 45 53 20 3d 20 30 0a 21 65 6e 64 69 66 0a  AGES = 0.!endif.
1b60: 0a 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..#-------------
1b70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20  -------------.# 
1ba0: 46 69 67 75 72 65 2d 6f 75 74 20 68 6f 77 20 74  Figure-out how t
1bb0: 6f 20 6e 61 6d 65 20 6f 75 72 20 69 6e 74 65 72  o name our inter
1bc0: 6d 65 64 69 61 74 65 20 61 6e 64 20 6f 75 74 70  mediate and outp
1bd0: 75 74 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a  ut directories..
1be0: 23 20 57 65 20 77 6f 75 6c 64 6e 27 74 20 77 61  # We wouldn't wa
1bf0: 6e 74 20 64 69 66 66 65 72 65 6e 74 20 62 75 69  nt different bui
1c00: 6c 64 73 20 74 6f 20 75 73 65 20 74 68 65 20 73  lds to use the s
1c10: 61 6d 65 20 2e 6f 62 6a 20 66 69 6c 65 73 0a 23  ame .obj files.#
1c20: 20 62 79 20 61 63 63 69 64 65 6e 74 2e 0a 23 2d   by accident..#-
1c30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1c40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1c50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1c60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 23 2d 2d 2d 2d  ---------..#----
1c70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1c80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1c90: 2d 2d 2d 2d 0a 23 20 4e 61 6d 69 6e 67 20 63 6f  ----.# Naming co
1ca0: 6e 76 65 6e 74 69 6f 6e 3a 0a 23 20 20 20 74 20  nvention:.#   t 
1cb0: 3d 20 66 75 6c 6c 20 74 68 72 65 61 64 20 73 75  = full thread su
1cc0: 70 70 6f 72 74 2e 0a 23 20 20 20 73 20 3d 20 73  pport..#   s = s
1cd0: 74 61 74 69 63 20 6c 69 62 72 61 72 79 20 28 61  tatic library (a
1ce0: 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 61 6e 0a  s opposed to an.
1cf0: 23 09 69 6d 70 6f 72 74 20 6c 69 62 72 61 72 79  #.import library
1d00: 29 0a 23 20 20 20 67 20 3d 20 6c 69 6e 6b 65 64  ).#   g = linked
1d10: 20 74 6f 20 74 68 65 20 64 65 62 75 67 20 65 6e   to the debug en
1d20: 61 62 6c 65 64 20 43 0a 23 09 72 75 6e 2d 74 69  abled C.#.run-ti
1d30: 6d 65 2e 0a 23 20 20 20 78 20 3d 20 73 70 65 63  me..#   x = spec
1d40: 69 61 6c 20 73 74 61 74 69 63 20 62 75 69 6c 64  ial static build
1d50: 20 77 68 65 6e 20 69 74 0a 23 09 6c 69 6e 6b 73   when it.#.links
1d60: 20 74 6f 20 74 68 65 20 64 79 6e 61 6d 69 63 20   to the dynamic 
1d70: 43 20 72 75 6e 2d 74 69 6d 65 2e 0a 23 2d 2d 2d  C run-time..#---
1d80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1d90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1da0: 2d 2d 2d 2d 2d 0a 53 55 46 58 09 20 20 20 20 3d  -----.SUFX.    =
1db0: 20 73 67 78 0a 0a 21 69 66 20 24 28 44 45 42 55   sgx..!if $(DEBU
1dc0: 47 29 0a 42 55 49 4c 44 44 49 52 54 4f 50 20 3d  G).BUILDDIRTOP =
1dd0: 20 44 65 62 75 67 0a 21 65 6c 73 65 0a 42 55 49   Debug.!else.BUI
1de0: 4c 44 44 49 52 54 4f 50 20 3d 20 52 65 6c 65 61  LDDIRTOP = Relea
1df0: 73 65 0a 21 65 6e 64 69 66 0a 0a 21 69 66 20 22  se.!endif..!if "
1e00: 24 28 4d 41 43 48 49 4e 45 29 22 20 21 3d 20 22  $(MACHINE)" != "
1e10: 49 58 38 36 22 0a 42 55 49 4c 44 44 49 52 54 4f  IX86".BUILDDIRTO
1e20: 50 20 3d 24 28 42 55 49 4c 44 44 49 52 54 4f 50  P =$(BUILDDIRTOP
1e30: 29 5f 24 28 4d 41 43 48 49 4e 45 29 0a 21 65 6e  )_$(MACHINE).!en
1e40: 64 69 66 0a 21 69 66 20 24 28 56 43 56 45 52 29  dif.!if $(VCVER)
1e50: 20 3e 20 36 0a 42 55 49 4c 44 44 49 52 54 4f 50   > 6.BUILDDIRTOP
1e60: 20 3d 24 28 42 55 49 4c 44 44 49 52 54 4f 50 29   =$(BUILDDIRTOP)
1e70: 5f 56 43 24 28 56 43 56 45 52 29 0a 21 65 6e 64  _VC$(VCVER).!end
1e80: 69 66 0a 0a 21 69 66 20 21 24 28 44 45 42 55 47  if..!if !$(DEBUG
1e90: 29 20 7c 7c 20 24 28 44 45 42 55 47 29 20 26 26  ) || $(DEBUG) &&
1ea0: 20 24 28 55 4e 43 48 45 43 4b 45 44 29 0a 53 55   $(UNCHECKED).SU
1eb0: 46 58 09 20 20 20 20 3d 20 24 28 53 55 46 58 3a  FX.    = $(SUFX:
1ec0: 67 3d 29 0a 21 65 6e 64 69 66 0a 0a 54 4d 50 5f  g=).!endif..TMP_
1ed0: 44 49 52 46 55 4c 4c 20 3d 20 2e 5c 24 28 42 55  DIRFULL = .\$(BU
1ee0: 49 4c 44 44 49 52 54 4f 50 29 5c 24 28 50 52 4f  ILDDIRTOP)\$(PRO
1ef0: 4a 45 43 54 29 5f 54 68 72 65 61 64 65 64 44 79  JECT)_ThreadedDy
1f00: 6e 61 6d 69 63 53 74 61 74 69 63 58 0a 0a 21 69  namicStaticX..!i
1f10: 66 20 21 24 28 53 54 41 54 49 43 5f 42 55 49 4c  f !$(STATIC_BUIL
1f20: 44 29 0a 54 4d 50 5f 44 49 52 46 55 4c 4c 20 3d  D).TMP_DIRFULL =
1f30: 20 24 28 54 4d 50 5f 44 49 52 46 55 4c 4c 3a 53   $(TMP_DIRFULL:S
1f40: 74 61 74 69 63 3d 29 0a 53 55 46 58 09 20 20 20  tatic=).SUFX.   
1f50: 20 3d 20 24 28 53 55 46 58 3a 73 3d 29 0a 45 58   = $(SUFX:s=).EX
1f60: 54 09 20 20 20 20 3d 20 64 6c 6c 0a 21 69 66 20  T.    = dll.!if 
1f70: 24 28 4d 53 56 43 52 54 29 0a 54 4d 50 5f 44 49  $(MSVCRT).TMP_DI
1f80: 52 46 55 4c 4c 20 3d 20 24 28 54 4d 50 5f 44 49  RFULL = $(TMP_DI
1f90: 52 46 55 4c 4c 3a 58 3d 29 0a 53 55 46 58 09 20  RFULL:X=).SUFX. 
1fa0: 20 20 20 3d 20 24 28 53 55 46 58 3a 78 3d 29 0a     = $(SUFX:x=).
1fb0: 21 65 6e 64 69 66 0a 21 65 6c 73 65 0a 54 4d 50  !endif.!else.TMP
1fc0: 5f 44 49 52 46 55 4c 4c 20 3d 20 24 28 54 4d 50  _DIRFULL = $(TMP
1fd0: 5f 44 49 52 46 55 4c 4c 3a 44 79 6e 61 6d 69 63  _DIRFULL:Dynamic
1fe0: 3d 29 0a 45 58 54 09 20 20 20 20 3d 20 6c 69 62  =).EXT.    = lib
1ff0: 0a 21 69 66 20 21 24 28 4d 53 56 43 52 54 29 0a  .!if !$(MSVCRT).
2000: 54 4d 50 5f 44 49 52 46 55 4c 4c 20 3d 20 24 28  TMP_DIRFULL = $(
2010: 54 4d 50 5f 44 49 52 46 55 4c 4c 3a 58 3d 29 0a  TMP_DIRFULL:X=).
2020: 53 55 46 58 09 20 20 20 20 3d 20 24 28 53 55 46  SUFX.    = $(SUF
2030: 58 3a 78 3d 29 0a 21 65 6e 64 69 66 0a 21 65 6e  X:x=).!endif.!en
2040: 64 69 66 0a 0a 21 69 66 20 21 24 28 54 43 4c 5f  dif..!if !$(TCL_
2050: 54 48 52 45 41 44 53 29 0a 54 4d 50 5f 44 49 52  THREADS).TMP_DIR
2060: 46 55 4c 4c 20 3d 20 24 28 54 4d 50 5f 44 49 52  FULL = $(TMP_DIR
2070: 46 55 4c 4c 3a 54 68 72 65 61 64 65 64 3d 29 0a  FULL:Threaded=).
2080: 53 55 46 58 09 20 20 20 20 3d 20 24 28 53 55 46  SUFX.    = $(SUF
2090: 58 3a 74 3d 29 0a 21 65 6e 64 69 66 0a 0a 21 69  X:t=).!endif..!i
20a0: 66 6e 64 65 66 20 54 4d 50 5f 44 49 52 0a 54 4d  fndef TMP_DIR.TM
20b0: 50 5f 44 49 52 09 20 20 20 20 3d 20 24 28 54 4d  P_DIR.    = $(TM
20c0: 50 5f 44 49 52 46 55 4c 4c 29 0a 21 69 66 6e 64  P_DIRFULL).!ifnd
20d0: 65 66 20 4f 55 54 5f 44 49 52 0a 4f 55 54 5f 44  ef OUT_DIR.OUT_D
20e0: 49 52 09 20 20 20 20 3d 20 2e 5c 24 28 42 55 49  IR.    = .\$(BUI
20f0: 4c 44 44 49 52 54 4f 50 29 0a 21 65 6e 64 69 66  LDDIRTOP).!endif
2100: 0a 21 65 6c 73 65 0a 21 69 66 6e 64 65 66 20 4f  .!else.!ifndef O
2110: 55 54 5f 44 49 52 0a 4f 55 54 5f 44 49 52 09 20  UT_DIR.OUT_DIR. 
2120: 20 20 20 3d 20 24 28 54 4d 50 5f 44 49 52 29 0a     = $(TMP_DIR).
2130: 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 0a  !endif.!endif...
2140: 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  #---------------
2150: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2160: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2170: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 44 65  -----------.# De
2180: 63 6f 64 65 20 74 68 65 20 73 74 61 74 69 73 74  code the statist
2190: 69 63 73 20 72 65 71 75 65 73 74 65 64 2e 0a 23  ics requested..#
21a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 21 69 66 20  ----------..!if 
21e0: 22 24 28 53 54 41 54 53 29 22 20 3d 3d 20 22 22  "$(STATS)" == ""
21f0: 20 7c 7c 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66   || [nmakehlp -f
2200: 20 22 24 28 53 54 41 54 53 29 22 20 22 6e 6f 6e   "$(STATS)" "non
2210: 65 22 5d 0a 54 43 4c 5f 4d 45 4d 5f 44 45 42 55  e"].TCL_MEM_DEBU
2220: 47 09 20 20 20 20 3d 20 30 0a 54 43 4c 5f 43 4f  G.    = 0.TCL_CO
2230: 4d 50 49 4c 45 5f 44 45 42 55 47 20 20 20 3d 20  MPILE_DEBUG   = 
2240: 30 0a 21 65 6c 73 65 0a 21 69 66 20 5b 6e 6d 61  0.!else.!if [nma
2250: 6b 65 68 6c 70 20 2d 66 20 24 28 53 54 41 54 53  kehlp -f $(STATS
2260: 29 20 22 6d 65 6d 64 62 67 22 5d 0a 21 6d 65 73  ) "memdbg"].!mes
2270: 73 61 67 65 20 2a 2a 2a 20 44 6f 69 6e 67 20 6d  sage *** Doing m
2280: 65 6d 64 62 67 0a 54 43 4c 5f 4d 45 4d 5f 44 45  emdbg.TCL_MEM_DE
2290: 42 55 47 09 20 20 20 20 3d 20 31 0a 21 65 6c 73  BUG.    = 1.!els
22a0: 65 0a 54 43 4c 5f 4d 45 4d 5f 44 45 42 55 47 09  e.TCL_MEM_DEBUG.
22b0: 20 20 20 20 3d 20 30 0a 21 65 6e 64 69 66 0a 21      = 0.!endif.!
22c0: 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20  if [nmakehlp -f 
22d0: 24 28 53 54 41 54 53 29 20 22 63 6f 6d 70 64 62  $(STATS) "compdb
22e0: 67 22 5d 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a  g"].!message ***
22f0: 20 44 6f 69 6e 67 20 63 6f 6d 70 64 62 67 0a 54   Doing compdbg.T
2300: 43 4c 5f 43 4f 4d 50 49 4c 45 5f 44 45 42 55 47  CL_COMPILE_DEBUG
2310: 20 20 20 3d 20 31 0a 21 65 6c 73 65 0a 54 43 4c     = 1.!else.TCL
2320: 5f 43 4f 4d 50 49 4c 45 5f 44 45 42 55 47 20 20  _COMPILE_DEBUG  
2330: 20 3d 20 30 0a 21 65 6e 64 69 66 0a 21 65 6e 64   = 0.!endif.!end
2340: 69 66 0a 0a 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  if...#----------
2350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2360: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2370: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2380: 0a 23 20 44 65 63 6f 64 65 20 74 68 65 20 63 68  .# Decode the ch
2390: 65 63 6b 73 20 72 65 71 75 65 73 74 65 64 2e 0a  ecks requested..
23a0: 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  #---------------
23b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
23c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
23d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 21 69 66  -----------..!if
23e0: 20 22 24 28 43 48 45 43 4b 53 29 22 20 3d 3d 20   "$(CHECKS)" == 
23f0: 22 22 20 7c 7c 20 5b 6e 6d 61 6b 65 68 6c 70 20  "" || [nmakehlp 
2400: 2d 66 20 22 24 28 43 48 45 43 4b 53 29 22 20 22  -f "$(CHECKS)" "
2410: 6e 6f 6e 65 22 5d 0a 54 43 4c 5f 4e 4f 5f 44 45  none"].TCL_NO_DE
2420: 50 52 45 43 41 54 45 44 09 20 20 20 20 3d 20 30  PRECATED.    = 0
2430: 0a 57 41 52 4e 49 4e 47 53 09 09 20 20 20 20 3d  .WARNINGS..    =
2440: 20 2d 57 33 0a 21 65 6c 73 65 0a 21 69 66 20 5b   -W3.!else.!if [
2450: 6e 6d 61 6b 65 68 6c 70 20 2d 66 20 24 28 43 48  nmakehlp -f $(CH
2460: 45 43 4b 53 29 20 22 6e 6f 64 65 70 22 5d 0a 21  ECKS) "nodep"].!
2470: 6d 65 73 73 61 67 65 20 2a 2a 2a 20 44 6f 69 6e  message *** Doin
2480: 67 20 6e 6f 64 65 70 20 63 68 65 63 6b 0a 54 43  g nodep check.TC
2490: 4c 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 44 09  L_NO_DEPRECATED.
24a0: 20 20 20 20 3d 20 31 0a 21 65 6c 73 65 0a 54 43      = 1.!else.TC
24b0: 4c 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 44 09  L_NO_DEPRECATED.
24c0: 20 20 20 20 3d 20 30 0a 21 65 6e 64 69 66 0a 21      = 0.!endif.!
24d0: 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20  if [nmakehlp -f 
24e0: 24 28 43 48 45 43 4b 53 29 20 22 66 75 6c 6c 77  $(CHECKS) "fullw
24f0: 61 72 6e 22 5d 0a 21 6d 65 73 73 61 67 65 20 2a  arn"].!message *
2500: 2a 2a 20 44 6f 69 6e 67 20 66 75 6c 6c 20 77 61  ** Doing full wa
2510: 72 6e 69 6e 67 73 20 63 68 65 63 6b 0a 57 41 52  rnings check.WAR
2520: 4e 49 4e 47 53 09 09 20 20 20 20 3d 20 2d 57 34  NINGS..    = -W4
2530: 0a 21 69 66 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d  .!if [nmakehlp -
2540: 6c 20 2d 77 61 72 6e 3a 33 5d 0a 4c 49 4e 4b 45  l -warn:3].LINKE
2550: 52 46 4c 41 47 53 09 09 20 20 20 20 3d 20 24 28  RFLAGS..    = $(
2560: 4c 49 4e 4b 45 52 46 4c 41 47 53 29 20 2d 77 61  LINKERFLAGS) -wa
2570: 72 6e 3a 33 0a 21 65 6e 64 69 66 0a 21 65 6c 73  rn:3.!endif.!els
2580: 65 0a 57 41 52 4e 49 4e 47 53 09 09 20 20 20 20  e.WARNINGS..    
2590: 3d 20 2d 57 33 0a 21 65 6e 64 69 66 0a 21 69 66  = -W3.!endif.!if
25a0: 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 66 20 24 28   [nmakehlp -f $(
25b0: 43 48 45 43 4b 53 29 20 22 36 34 62 69 74 22 5d  CHECKS) "64bit"]
25c0: 20 26 26 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 63   && [nmakehlp -c
25d0: 20 2d 57 70 36 34 5d 0a 21 6d 65 73 73 61 67 65   -Wp64].!message
25e0: 20 2a 2a 2a 20 44 6f 69 6e 67 20 36 34 62 69 74   *** Doing 64bit
25f0: 20 70 6f 72 74 61 62 69 6c 69 74 79 20 77 61 72   portability war
2600: 6e 69 6e 67 73 0a 57 41 52 4e 49 4e 47 53 09 09  nings.WARNINGS..
2610: 20 20 20 20 3d 20 24 28 57 41 52 4e 49 4e 47 53      = $(WARNINGS
2620: 29 20 2d 57 70 36 34 0a 21 65 6e 64 69 66 0a 21  ) -Wp64.!endif.!
2630: 65 6e 64 69 66 0a 0a 23 2d 2d 2d 2d 2d 2d 2d 2d  endif..#--------
2640: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2650: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2660: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2670: 2d 2d 0a 23 20 53 65 74 20 6f 75 72 20 64 65 66  --.# Set our def
2680: 69 6e 65 73 20 6e 6f 77 20 61 72 6d 65 64 20 77  ines now armed w
2690: 69 74 68 20 6f 75 72 20 6f 70 74 69 6f 6e 73 2e  ith our options.
26a0: 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .#--------------
26b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
26c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
26d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4f 50  ------------..OP
26e0: 54 44 45 46 49 4e 45 53 09 3d 20 2d 44 54 43 4c  TDEFINES.= -DTCL
26f0: 5f 43 46 47 56 41 4c 5f 45 4e 43 4f 44 49 4e 47  _CFGVAL_ENCODING
2700: 3d 24 28 43 46 47 5f 45 4e 43 4f 44 49 4e 47 29  =$(CFG_ENCODING)
2710: 20 2d 44 53 54 44 43 5f 48 45 41 44 45 52 53 0a   -DSTDC_HEADERS.
2720: 0a 21 69 66 20 24 28 54 43 4c 5f 4d 45 4d 5f 44  .!if $(TCL_MEM_D
2730: 45 42 55 47 29 0a 4f 50 54 44 45 46 49 4e 45 53  EBUG).OPTDEFINES
2740: 09 3d 20 24 28 4f 50 54 44 45 46 49 4e 45 53 29  .= $(OPTDEFINES)
2750: 20 2d 44 54 43 4c 5f 4d 45 4d 5f 44 45 42 55 47   -DTCL_MEM_DEBUG
2760: 0a 21 65 6e 64 69 66 0a 21 69 66 20 24 28 54 43  .!endif.!if $(TC
2770: 4c 5f 43 4f 4d 50 49 4c 45 5f 44 45 42 55 47 29  L_COMPILE_DEBUG)
2780: 0a 4f 50 54 44 45 46 49 4e 45 53 09 3d 20 24 28  .OPTDEFINES.= $(
2790: 4f 50 54 44 45 46 49 4e 45 53 29 20 2d 44 54 43  OPTDEFINES) -DTC
27a0: 4c 5f 43 4f 4d 50 49 4c 45 5f 44 45 42 55 47 20  L_COMPILE_DEBUG 
27b0: 2d 44 54 43 4c 5f 43 4f 4d 50 49 4c 45 5f 53 54  -DTCL_COMPILE_ST
27c0: 41 54 53 0a 21 65 6e 64 69 66 0a 21 69 66 20 24  ATS.!endif.!if $
27d0: 28 54 43 4c 5f 54 48 52 45 41 44 53 29 0a 4f 50  (TCL_THREADS).OP
27e0: 54 44 45 46 49 4e 45 53 09 3d 20 24 28 4f 50 54  TDEFINES.= $(OPT
27f0: 44 45 46 49 4e 45 53 29 20 2d 44 54 43 4c 5f 54  DEFINES) -DTCL_T
2800: 48 52 45 41 44 53 3d 31 0a 21 69 66 20 24 28 55  HREADS=1.!if $(U
2810: 53 45 5f 54 48 52 45 41 44 5f 41 4c 4c 4f 43 29  SE_THREAD_ALLOC)
2820: 0a 4f 50 54 44 45 46 49 4e 45 53 09 3d 20 24 28  .OPTDEFINES.= $(
2830: 4f 50 54 44 45 46 49 4e 45 53 29 20 2d 44 55 53  OPTDEFINES) -DUS
2840: 45 5f 54 48 52 45 41 44 5f 41 4c 4c 4f 43 3d 31  E_THREAD_ALLOC=1
2850: 0a 21 65 6e 64 69 66 0a 21 69 66 20 24 28 55 53  .!endif.!if $(US
2860: 45 5f 54 48 52 45 41 44 5f 53 54 4f 52 41 47 45  E_THREAD_STORAGE
2870: 29 0a 4f 50 54 44 45 46 49 4e 45 53 09 3d 20 24  ).OPTDEFINES.= $
2880: 28 4f 50 54 44 45 46 49 4e 45 53 29 20 2d 44 55  (OPTDEFINES) -DU
2890: 53 45 5f 54 48 52 45 41 44 5f 53 54 4f 52 41 47  SE_THREAD_STORAG
28a0: 45 3d 31 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69  E=1.!endif.!endi
28b0: 66 0a 21 69 66 20 24 28 53 54 41 54 49 43 5f 42  f.!if $(STATIC_B
28c0: 55 49 4c 44 29 0a 4f 50 54 44 45 46 49 4e 45 53  UILD).OPTDEFINES
28d0: 09 3d 20 24 28 4f 50 54 44 45 46 49 4e 45 53 29  .= $(OPTDEFINES)
28e0: 20 2d 44 53 54 41 54 49 43 5f 42 55 49 4c 44 0a   -DSTATIC_BUILD.
28f0: 21 65 6e 64 69 66 0a 21 69 66 20 24 28 54 43 4c  !endif.!if $(TCL
2900: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 44 29 0a  _NO_DEPRECATED).
2910: 4f 50 54 44 45 46 49 4e 45 53 09 3d 20 24 28 4f  OPTDEFINES.= $(O
2920: 50 54 44 45 46 49 4e 45 53 29 20 2d 44 54 43 4c  PTDEFINES) -DTCL
2930: 5f 4e 4f 5f 44 45 50 52 45 43 41 54 45 44 0a 21  _NO_DEPRECATED.!
2940: 65 6e 64 69 66 0a 0a 21 69 66 20 24 28 44 45 42  endif..!if $(DEB
2950: 55 47 29 0a 4f 50 54 44 45 46 49 4e 45 53 09 3d  UG).OPTDEFINES.=
2960: 20 24 28 4f 50 54 44 45 46 49 4e 45 53 29 20 2d   $(OPTDEFINES) -
2970: 44 54 43 4c 5f 43 46 47 5f 44 45 42 55 47 0a 21  DTCL_CFG_DEBUG.!
2980: 65 6c 73 65 69 66 20 24 28 4f 50 54 49 4d 49 5a  elseif $(OPTIMIZ
2990: 49 4e 47 29 0a 4f 50 54 44 45 46 49 4e 45 53 09  ING).OPTDEFINES.
29a0: 3d 20 24 28 4f 50 54 44 45 46 49 4e 45 53 29 20  = $(OPTDEFINES) 
29b0: 2d 44 54 43 4c 5f 43 46 47 5f 4f 50 54 49 4d 49  -DTCL_CFG_OPTIMI
29c0: 5a 45 44 0a 21 65 6e 64 69 66 0a 21 69 66 20 24  ZED.!endif.!if $
29d0: 28 50 52 4f 46 49 4c 45 29 0a 4f 50 54 44 45 46  (PROFILE).OPTDEF
29e0: 49 4e 45 53 09 3d 20 24 28 4f 50 54 44 45 46 49  INES.= $(OPTDEFI
29f0: 4e 45 53 29 20 2d 44 54 43 4c 5f 43 46 47 5f 50  NES) -DTCL_CFG_P
2a00: 52 4f 46 49 4c 45 44 0a 21 65 6e 64 69 66 0a 21  ROFILED.!endif.!
2a10: 69 66 20 22 24 28 4d 41 43 48 49 4e 45 29 22 20  if "$(MACHINE)" 
2a20: 3d 3d 20 22 49 41 36 34 22 20 7c 7c 20 22 24 28  == "IA64" || "$(
2a30: 4d 41 43 48 49 4e 45 29 22 20 3d 3d 20 22 41 4d  MACHINE)" == "AM
2a40: 44 36 34 22 0a 4f 50 54 44 45 46 49 4e 45 53 09  D64".OPTDEFINES.
2a50: 3d 20 24 28 4f 50 54 44 45 46 49 4e 45 53 29 20  = $(OPTDEFINES) 
2a60: 2d 44 54 43 4c 5f 43 46 47 5f 44 4f 36 34 42 49  -DTCL_CFG_DO64BI
2a70: 54 0a 21 65 6e 64 69 66 0a 0a 0a 23 2d 2d 2d 2d  T.!endif...#----
2a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2a90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2aa0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2ab0: 2d 2d 2d 2d 2d 2d 0a 23 20 47 65 74 20 63 6f 6d  ------.# Get com
2ac0: 6d 6f 6e 20 69 6e 66 6f 20 75 73 65 64 20 77 68  mon info used wh
2ad0: 65 6e 20 62 75 69 6c 64 69 6e 67 20 65 78 74 65  en building exte
2ae0: 6e 73 69 6f 6e 73 2e 0a 23 2d 2d 2d 2d 2d 2d 2d  nsions..#-------
2af0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2b10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2b20: 2d 2d 2d 0a 0a 21 69 66 20 22 24 28 50 52 4f 4a  ---..!if "$(PROJ
2b30: 45 43 54 29 22 20 21 3d 20 22 74 63 6c 22 0a 0a  ECT)" != "tcl"..
2b40: 23 20 49 66 20 49 4e 53 54 41 4c 4c 44 49 52 20  # If INSTALLDIR 
2b50: 73 65 74 20 74 6f 20 74 63 6c 20 72 6f 6f 74 20  set to tcl root 
2b60: 64 69 72 20 74 68 65 6e 20 72 65 73 65 74 20 74  dir then reset t
2b70: 6f 20 74 68 65 20 6c 69 62 20 64 69 72 2e 0a 21  o the lib dir..!
2b80: 69 66 20 65 78 69 73 74 28 22 24 28 5f 49 4e 53  if exist("$(_INS
2b90: 54 41 4c 4c 44 49 52 29 5c 69 6e 63 6c 75 64 65  TALLDIR)\include
2ba0: 5c 74 63 6c 2e 68 22 29 0a 5f 49 4e 53 54 41 4c  \tcl.h")._INSTAL
2bb0: 4c 44 49 52 3d 24 28 5f 49 4e 53 54 41 4c 4c 44  LDIR=$(_INSTALLD
2bc0: 49 52 29 5c 6c 69 62 0a 21 65 6e 64 69 66 0a 0a  IR)\lib.!endif..
2bd0: 21 69 66 20 21 64 65 66 69 6e 65 64 28 54 43 4c  !if !defined(TCL
2be0: 44 49 52 29 0a 21 69 66 20 65 78 69 73 74 28 22  DIR).!if exist("
2bf0: 24 28 5f 49 4e 53 54 41 4c 4c 44 49 52 29 5c 2e  $(_INSTALLDIR)\.
2c00: 2e 5c 69 6e 63 6c 75 64 65 5c 74 63 6c 2e 68 22  .\include\tcl.h"
2c10: 29 0a 54 43 4c 49 4e 53 54 41 4c 4c 09 3d 20 31  ).TCLINSTALL.= 1
2c20: 0a 5f 54 43 4c 44 49 52 09 09 3d 20 24 28 5f 49  ._TCLDIR..= $(_I
2c30: 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 0a 5f 54  NSTALLDIR)\..._T
2c40: 43 4c 5f 48 20 20 20 20 20 20 20 20 20 20 3d 20  CL_H          = 
2c50: 24 28 5f 49 4e 53 54 41 4c 4c 44 49 52 29 5c 2e  $(_INSTALLDIR)\.
2c60: 2e 5c 69 6e 63 6c 75 64 65 5c 74 63 6c 2e 68 0a  .\include\tcl.h.
2c70: 54 43 4c 44 49 52 20 20 20 20 20 20 20 20 20 20  TCLDIR          
2c80: 3d 20 24 28 5f 49 4e 53 54 41 4c 4c 44 49 52 29  = $(_INSTALLDIR)
2c90: 5c 2e 2e 0a 21 65 6c 73 65 0a 4d 53 47 3d 5e 0a  \...!else.MSG=^.
2ca0: 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20 74  Failed to find t
2cb0: 63 6c 2e 68 2e 20 20 53 65 74 20 74 68 65 20 54  cl.h.  Set the T
2cc0: 43 4c 44 49 52 20 6d 61 63 72 6f 2e 0a 21 65 72  CLDIR macro..!er
2cd0: 72 6f 72 20 24 28 4d 53 47 29 0a 21 65 6e 64 69  ror $(MSG).!endi
2ce0: 66 0a 21 65 6c 73 65 0a 5f 54 43 4c 44 49 52 09  f.!else._TCLDIR.
2cf0: 3d 20 24 28 54 43 4c 44 49 52 3a 2f 3d 5c 29 0a  = $(TCLDIR:/=\).
2d00: 21 69 66 20 65 78 69 73 74 28 22 24 28 5f 54 43  !if exist("$(_TC
2d10: 4c 44 49 52 29 5c 69 6e 63 6c 75 64 65 5c 74 63  LDIR)\include\tc
2d20: 6c 2e 68 22 29 0a 54 43 4c 49 4e 53 54 41 4c 4c  l.h").TCLINSTALL
2d30: 09 3d 20 31 0a 5f 54 43 4c 5f 48 20 20 20 20 20  .= 1._TCL_H     
2d40: 20 20 20 20 20 3d 20 24 28 5f 54 43 4c 44 49 52       = $(_TCLDIR
2d50: 29 5c 69 6e 63 6c 75 64 65 5c 74 63 6c 2e 68 0a  )\include\tcl.h.
2d60: 21 65 6c 73 65 69 66 20 65 78 69 73 74 28 22 24  !elseif exist("$
2d70: 28 5f 54 43 4c 44 49 52 29 5c 67 65 6e 65 72 69  (_TCLDIR)\generi
2d80: 63 5c 74 63 6c 2e 68 22 29 0a 54 43 4c 49 4e 53  c\tcl.h").TCLINS
2d90: 54 41 4c 4c 09 3d 20 30 0a 5f 54 43 4c 5f 48 20  TALL.= 0._TCL_H 
2da0: 20 20 20 20 20 20 20 20 20 3d 20 24 28 5f 54 43           = $(_TC
2db0: 4c 44 49 52 29 5c 67 65 6e 65 72 69 63 5c 74 63  LDIR)\generic\tc
2dc0: 6c 2e 68 0a 21 65 6c 73 65 0a 4d 53 47 20 3d 5e  l.h.!else.MSG =^
2dd0: 0a 46 61 69 6c 65 64 20 74 6f 20 66 69 6e 64 20  .Failed to find 
2de0: 74 63 6c 2e 68 2e 20 20 54 68 65 20 54 43 4c 44  tcl.h.  The TCLD
2df0: 49 52 20 6d 61 63 72 6f 20 64 6f 65 73 20 6e 6f  IR macro does no
2e00: 74 20 61 70 70 65 61 72 20 63 6f 72 72 65 63 74  t appear correct
2e10: 2e 0a 21 65 72 72 6f 72 20 24 28 4d 53 47 29 0a  ..!error $(MSG).
2e20: 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 21  !endif.!endif..!
2e30: 69 66 20 5b 65 63 68 6f 20 52 45 4d 20 3d 20 54  if [echo REM = T
2e40: 68 69 73 20 66 69 6c 65 20 69 73 20 67 65 6e 65  his file is gene
2e50: 72 61 74 65 64 20 66 72 6f 6d 20 72 75 6c 65 73  rated from rules
2e60: 2e 76 63 20 3e 20 76 65 72 73 69 6f 6e 2e 76 63  .vc > version.vc
2e70: 5d 0a 21 65 6e 64 69 66 0a 21 69 66 20 65 78 69  ].!endif.!if exi
2e80: 73 74 28 22 24 28 5f 54 43 4c 5f 48 29 22 29 0a  st("$(_TCL_H)").
2e90: 21 69 66 20 5b 65 63 68 6f 20 54 43 4c 5f 44 4f  !if [echo TCL_DO
2ea0: 54 56 45 52 53 49 4f 4e 20 3d 20 5c 3e 3e 20 76  TVERSION = \>> v
2eb0: 65 72 73 69 6f 6e 2e 76 63 5d 20 5c 0a 20 20 20  ersion.vc] \.   
2ec0: 26 26 20 5b 6e 6d 61 6b 65 68 6c 70 20 2d 56 20  && [nmakehlp -V 
2ed0: 22 24 28 5f 54 43 4c 5f 48 29 22 20 54 43 4c 5f  "$(_TCL_H)" TCL_
2ee0: 56 45 52 53 49 4f 4e 20 3e 3e 20 76 65 72 73 69  VERSION >> versi
2ef0: 6f 6e 2e 76 63 5d 0a 21 65 6e 64 69 66 0a 21 65  on.vc].!endif.!e
2f00: 6e 64 69 66 0a 21 69 6e 63 6c 75 64 65 20 76 65  ndif.!include ve
2f10: 72 73 69 6f 6e 2e 76 63 0a 54 43 4c 5f 56 45 52  rsion.vc.TCL_VER
2f20: 53 49 4f 4e 09 3d 20 24 28 54 43 4c 5f 44 4f 54  SION.= $(TCL_DOT
2f30: 56 45 52 53 49 4f 4e 3a 2e 3d 29 0a 0a 21 69 66  VERSION:.=)..!if
2f40: 20 24 28 54 43 4c 49 4e 53 54 41 4c 4c 29 0a 54   $(TCLINSTALL).T
2f50: 43 4c 53 48 09 09 3d 20 22 24 28 5f 54 43 4c 44  CLSH..= "$(_TCLD
2f60: 49 52 29 5c 62 69 6e 5c 74 63 6c 73 68 24 28 54  IR)\bin\tclsh$(T
2f70: 43 4c 5f 56 45 52 53 49 4f 4e 29 24 28 53 55 46  CL_VERSION)$(SUF
2f80: 58 29 2e 65 78 65 22 0a 21 69 66 20 21 65 78 69  X).exe".!if !exi
2f90: 73 74 28 24 28 54 43 4c 53 48 29 29 20 26 26 20  st($(TCLSH)) && 
2fa0: 24 28 54 43 4c 5f 54 48 52 45 41 44 53 29 0a 54  $(TCL_THREADS).T
2fb0: 43 4c 53 48 20 20 20 20 20 20 20 20 20 20 20 3d  CLSH           =
2fc0: 20 22 24 28 5f 54 43 4c 44 49 52 29 5c 62 69 6e   "$(_TCLDIR)\bin
2fd0: 5c 74 63 6c 73 68 24 28 54 43 4c 5f 56 45 52 53  \tclsh$(TCL_VERS
2fe0: 49 4f 4e 29 74 24 28 53 55 46 58 29 2e 65 78 65  ION)t$(SUFX).exe
2ff0: 22 0a 21 65 6e 64 69 66 0a 54 43 4c 53 54 55 42  ".!endif.TCLSTUB
3000: 4c 49 42 09 3d 20 22 24 28 5f 54 43 4c 44 49 52  LIB.= "$(_TCLDIR
3010: 29 5c 6c 69 62 5c 74 63 6c 73 74 75 62 24 28 54  )\lib\tclstub$(T
3020: 43 4c 5f 56 45 52 53 49 4f 4e 29 2e 6c 69 62 22  CL_VERSION).lib"
3030: 0a 54 43 4c 49 4d 50 4c 49 42 09 3d 20 22 24 28  .TCLIMPLIB.= "$(
3040: 5f 54 43 4c 44 49 52 29 5c 6c 69 62 5c 74 63 6c  _TCLDIR)\lib\tcl
3050: 24 28 54 43 4c 5f 56 45 52 53 49 4f 4e 29 24 28  $(TCL_VERSION)$(
3060: 53 55 46 58 29 2e 6c 69 62 22 0a 54 43 4c 5f 4c  SUFX).lib".TCL_L
3070: 49 42 52 41 52 59 09 3d 20 24 28 5f 54 43 4c 44  IBRARY.= $(_TCLD
3080: 49 52 29 5c 6c 69 62 0a 54 43 4c 5f 49 4e 43 4c  IR)\lib.TCL_INCL
3090: 55 44 45 53 20 20 20 20 3d 20 2d 49 22 24 28 5f  UDES    = -I"$(_
30a0: 54 43 4c 44 49 52 29 5c 69 6e 63 6c 75 64 65 22  TCLDIR)\include"
30b0: 0a 21 65 6c 73 65 0a 54 43 4c 53 48 09 09 3d 20  .!else.TCLSH..= 
30c0: 22 24 28 5f 54 43 4c 44 49 52 29 5c 77 69 6e 5c  "$(_TCLDIR)\win\
30d0: 24 28 42 55 49 4c 44 44 49 52 54 4f 50 29 5c 74  $(BUILDDIRTOP)\t
30e0: 63 6c 73 68 24 28 54 43 4c 5f 56 45 52 53 49 4f  clsh$(TCL_VERSIO
30f0: 4e 29 24 28 53 55 46 58 29 2e 65 78 65 22 0a 21  N)$(SUFX).exe".!
3100: 69 66 20 21 65 78 69 73 74 28 24 28 54 43 4c 53  if !exist($(TCLS
3110: 48 29 29 20 26 26 20 24 28 54 43 4c 5f 54 48 52  H)) && $(TCL_THR
3120: 45 41 44 53 29 0a 54 43 4c 53 48 09 09 3d 20 22  EADS).TCLSH..= "
3130: 24 28 5f 54 43 4c 44 49 52 29 5c 77 69 6e 5c 24  $(_TCLDIR)\win\$
3140: 28 42 55 49 4c 44 44 49 52 54 4f 50 29 5c 74 63  (BUILDDIRTOP)\tc
3150: 6c 73 68 24 28 54 43 4c 5f 56 45 52 53 49 4f 4e  lsh$(TCL_VERSION
3160: 29 74 24 28 53 55 46 58 29 2e 65 78 65 22 0a 21  )t$(SUFX).exe".!
3170: 65 6e 64 69 66 0a 54 43 4c 53 54 55 42 4c 49 42  endif.TCLSTUBLIB
3180: 09 3d 20 22 24 28 5f 54 43 4c 44 49 52 29 5c 77  .= "$(_TCLDIR)\w
3190: 69 6e 5c 24 28 42 55 49 4c 44 44 49 52 54 4f 50  in\$(BUILDDIRTOP
31a0: 29 5c 74 63 6c 73 74 75 62 24 28 54 43 4c 5f 56  )\tclstub$(TCL_V
31b0: 45 52 53 49 4f 4e 29 2e 6c 69 62 22 0a 54 43 4c  ERSION).lib".TCL
31c0: 49 4d 50 4c 49 42 09 3d 20 22 24 28 5f 54 43 4c  IMPLIB.= "$(_TCL
31d0: 44 49 52 29 5c 77 69 6e 5c 24 28 42 55 49 4c 44  DIR)\win\$(BUILD
31e0: 44 49 52 54 4f 50 29 5c 74 63 6c 24 28 54 43 4c  DIRTOP)\tcl$(TCL
31f0: 5f 56 45 52 53 49 4f 4e 29 24 28 53 55 46 58 29  _VERSION)$(SUFX)
3200: 2e 6c 69 62 22 0a 54 43 4c 5f 4c 49 42 52 41 52  .lib".TCL_LIBRAR
3210: 59 09 3d 20 24 28 5f 54 43 4c 44 49 52 29 5c 6c  Y.= $(_TCLDIR)\l
3220: 69 62 72 61 72 79 0a 54 43 4c 5f 49 4e 43 4c 55  ibrary.TCL_INCLU
3230: 44 45 53 09 3d 20 2d 49 22 24 28 5f 54 43 4c 44  DES.= -I"$(_TCLD
3240: 49 52 29 5c 67 65 6e 65 72 69 63 22 20 2d 49 22  IR)\generic" -I"
3250: 24 28 5f 54 43 4c 44 49 52 29 5c 77 69 6e 22 0a  $(_TCLDIR)\win".
3260: 21 65 6e 64 69 66 0a 0a 21 65 6e 64 69 66 0a 0a  !endif..!endif..
3270: 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  #---------------
3280: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3290: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
32a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 4f 70  -----------.# Op
32b0: 74 69 6f 6e 61 6c 6c 79 20 63 68 65 63 6b 20 66  tionally check f
32c0: 6f 72 20 54 6b 20 69 6e 66 6f 20 66 6f 72 20 62  or Tk info for b
32d0: 75 69 6c 64 69 6e 67 20 65 78 74 65 6e 73 69 6f  uilding extensio
32e0: 6e 73 2e 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ns..#-----------
32f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3300: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3310: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
3320: 0a 21 69 66 64 65 66 20 50 52 4f 4a 45 43 54 5f  .!ifdef PROJECT_
3330: 52 45 51 55 49 52 45 53 5f 54 4b 0a 21 69 66 20  REQUIRES_TK.!if 
3340: 22 24 28 50 52 4f 4a 45 43 54 29 22 20 21 3d 20  "$(PROJECT)" != 
3350: 22 74 63 6c 22 20 26 26 20 22 24 28 50 52 4f 4a  "tcl" && "$(PROJ
3360: 45 43 54 29 22 20 21 3d 20 22 74 6b 22 0a 0a 21  ECT)" != "tk"..!
3370: 69 66 20 21 64 65 66 69 6e 65 64 28 54 4b 44 49  if !defined(TKDI
3380: 52 29 0a 21 69 66 20 65 78 69 73 74 28 22 24 28  R).!if exist("$(
3390: 5f 49 4e 53 54 41 4c 4c 44 49 52 29 5c 2e 2e 5c  _INSTALLDIR)\..\
33a0: 69 6e 63 6c 75 64 65 5c 74 6b 2e 68 22 29 0a 54  include\tk.h").T
33b0: 4b 49 4e 53 54 41 4c 4c 20 20 20 20 20 20 3d 20  KINSTALL      = 
33c0: 31 0a 5f 54 4b 44 49 52 20 20 20 20 20 20 20 20  1._TKDIR        
33d0: 20 3d 20 24 28 5f 49 4e 53 54 41 4c 4c 44 49 52   = $(_INSTALLDIR
33e0: 29 5c 2e 2e 0a 5f 54 4b 5f 48 20 20 20 20 20 20  )\..._TK_H      
33f0: 20 20 20 20 3d 20 24 28 5f 54 4b 44 49 52 29 5c      = $(_TKDIR)\
3400: 69 6e 63 6c 75 64 65 5c 74 6b 2e 68 0a 54 4b 44  include\tk.h.TKD
3410: 49 52 20 20 20 20 20 20 20 20 20 20 3d 20 24 28  IR          = $(
3420: 5f 54 4b 44 49 52 29 0a 21 65 6c 73 65 69 66 20  _TKDIR).!elseif 
3430: 65 78 69 73 74 28 22 24 28 5f 54 43 4c 44 49 52  exist("$(_TCLDIR
3440: 29 5c 69 6e 63 6c 75 64 65 5c 74 6b 2e 68 22 29  )\include\tk.h")
3450: 0a 54 4b 49 4e 53 54 41 4c 4c 20 20 20 20 20 20  .TKINSTALL      
3460: 3d 20 31 0a 5f 54 4b 44 49 52 20 20 20 20 20 20  = 1._TKDIR      
3470: 20 20 20 3d 20 24 28 5f 54 43 4c 44 49 52 29 0a     = $(_TCLDIR).
3480: 5f 54 4b 5f 48 20 20 20 20 20 20 20 20 20 20 3d  _TK_H          =
3490: 20 24 28 5f 54 4b 44 49 52 29 5c 69 6e 63 6c 75   $(_TKDIR)\inclu
34a0: 64 65 5c 74 6b 2e 68 0a 54 4b 44 49 52 20 20 20  de\tk.h.TKDIR   
34b0: 20 20 20 20 20 20 20 3d 20 24 28 5f 54 4b 44 49         = $(_TKDI
34c0: 52 29 0a 21 65 6e 64 69 66 0a 21 65 6c 73 65 0a  R).!endif.!else.
34d0: 5f 54 4b 44 49 52 20 3d 20 24 28 54 4b 44 49 52  _TKDIR = $(TKDIR
34e0: 3a 2f 3d 5c 29 0a 21 69 66 20 65 78 69 73 74 28  :/=\).!if exist(
34f0: 22 24 28 5f 54 4b 44 49 52 29 5c 69 6e 63 6c 75  "$(_TKDIR)\inclu
3500: 64 65 5c 74 6b 2e 68 22 29 0a 54 4b 49 4e 53 54  de\tk.h").TKINST
3510: 41 4c 4c 20 20 20 20 20 20 3d 20 31 0a 5f 54 4b  ALL      = 1._TK
3520: 5f 48 20 20 20 20 20 20 20 20 20 20 3d 20 24 28  _H          = $(
3530: 5f 54 4b 44 49 52 29 5c 69 6e 63 6c 75 64 65 5c  _TKDIR)\include\
3540: 74 6b 2e 68 0a 21 65 6c 73 65 69 66 20 65 78 69  tk.h.!elseif exi
3550: 73 74 28 22 24 28 5f 54 4b 44 49 52 29 5c 67 65  st("$(_TKDIR)\ge
3560: 6e 65 72 69 63 5c 74 6b 2e 68 22 29 0a 54 4b 49  neric\tk.h").TKI
3570: 4e 53 54 41 4c 4c 20 20 20 20 20 20 3d 20 30 0a  NSTALL      = 0.
3580: 5f 54 4b 5f 48 20 20 20 20 20 20 20 20 20 20 3d  _TK_H          =
3590: 20 24 28 5f 54 4b 44 49 52 29 5c 67 65 6e 65 72   $(_TKDIR)\gener
35a0: 69 63 5c 74 6b 2e 68 0a 21 65 6c 73 65 0a 4d 53  ic\tk.h.!else.MS
35b0: 47 20 3d 5e 0a 46 61 69 6c 65 64 20 74 6f 20 66  G =^.Failed to f
35c0: 69 6e 64 20 74 6b 2e 68 2e 20 54 68 65 20 54 4b  ind tk.h. The TK
35d0: 44 49 52 20 6d 61 63 72 6f 20 64 6f 65 73 20 6e  DIR macro does n
35e0: 6f 74 20 61 70 70 65 61 72 20 63 6f 72 72 65 63  ot appear correc
35f0: 74 2e 0a 21 65 72 72 6f 72 20 24 28 4d 53 47 29  t..!error $(MSG)
3600: 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a  .!endif.!endif..
3610: 21 69 66 20 64 65 66 69 6e 65 64 28 54 4b 44 49  !if defined(TKDI
3620: 52 29 0a 54 4b 5f 44 4f 54 56 45 52 53 49 4f 4e  R).TK_DOTVERSION
3630: 20 3d 20 38 2e 34 0a 21 69 66 20 65 78 69 73 74   = 8.4.!if exist
3640: 28 22 24 28 5f 54 4b 5f 48 29 22 29 0a 21 69 66  ("$(_TK_H)").!if
3650: 20 5b 65 63 68 6f 20 54 4b 5f 44 4f 54 56 45 52   [echo TK_DOTVER
3660: 53 49 4f 4e 20 3d 20 5c 3e 3e 20 76 65 72 73 69  SION = \>> versi
3670: 6f 6e 2e 76 63 5d 20 5c 0a 20 20 20 26 26 20 5b  on.vc] \.   && [
3680: 6e 6d 61 6b 65 68 6c 70 20 2d 56 20 22 24 28 5f  nmakehlp -V "$(_
3690: 54 4b 5f 48 29 22 20 54 4b 5f 56 45 52 53 49 4f  TK_H)" TK_VERSIO
36a0: 4e 20 3e 3e 20 76 65 72 73 69 6f 6e 2e 76 63 5d  N >> version.vc]
36b0: 0a 21 65 6e 64 69 66 0a 21 65 6e 64 69 66 0a 21  .!endif.!endif.!
36c0: 69 6e 63 6c 75 64 65 20 76 65 72 73 69 6f 6e 2e  include version.
36d0: 76 63 0a 54 4b 5f 56 45 52 53 49 4f 4e 20 3d 20  vc.TK_VERSION = 
36e0: 24 28 54 4b 5f 44 4f 54 56 45 52 53 49 4f 4e 3a  $(TK_DOTVERSION:
36f0: 2e 3d 29 0a 0a 21 69 66 20 24 28 54 4b 49 4e 53  .=)..!if $(TKINS
3700: 54 41 4c 4c 29 0a 57 49 53 48 09 09 3d 20 22 24  TALL).WISH..= "$
3710: 28 5f 54 4b 44 49 52 29 5c 62 69 6e 5c 77 69 73  (_TKDIR)\bin\wis
3720: 68 24 28 54 4b 5f 56 45 52 53 49 4f 4e 29 24 28  h$(TK_VERSION)$(
3730: 53 55 46 58 29 2e 65 78 65 22 0a 21 69 66 20 21  SUFX).exe".!if !
3740: 65 78 69 73 74 28 24 28 57 49 53 48 29 29 20 26  exist($(WISH)) &
3750: 26 20 24 28 54 43 4c 5f 54 48 52 45 41 44 53 29  & $(TCL_THREADS)
3760: 0a 57 49 53 48 09 09 3d 20 22 24 28 5f 54 4b 44  .WISH..= "$(_TKD
3770: 49 52 29 5c 62 69 6e 5c 77 69 73 68 24 28 54 4b  IR)\bin\wish$(TK
3780: 5f 56 45 52 53 49 4f 4e 29 74 24 28 53 55 46 58  _VERSION)t$(SUFX
3790: 29 2e 65 78 65 22 0a 21 65 6e 64 69 66 0a 54 4b  ).exe".!endif.TK
37a0: 53 54 55 42 4c 49 42 09 3d 20 22 24 28 5f 54 4b  STUBLIB.= "$(_TK
37b0: 44 49 52 29 5c 6c 69 62 5c 74 6b 73 74 75 62 24  DIR)\lib\tkstub$
37c0: 28 54 4b 5f 56 45 52 53 49 4f 4e 29 2e 6c 69 62  (TK_VERSION).lib
37d0: 22 0a 54 4b 49 4d 50 4c 49 42 09 3d 20 22 24 28  ".TKIMPLIB.= "$(
37e0: 5f 54 4b 44 49 52 29 5c 6c 69 62 5c 74 6b 24 28  _TKDIR)\lib\tk$(
37f0: 54 4b 5f 56 45 52 53 49 4f 4e 29 24 28 53 55 46  TK_VERSION)$(SUF
3800: 58 29 2e 6c 69 62 22 0a 54 4b 5f 49 4e 43 4c 55  X).lib".TK_INCLU
3810: 44 45 53 20 20 20 20 20 3d 20 2d 49 22 24 28 5f  DES     = -I"$(_
3820: 54 4b 44 49 52 29 5c 69 6e 63 6c 75 64 65 22 0a  TKDIR)\include".
3830: 54 4b 5f 4c 49 42 52 41 52 59 09 3d 20 24 28 5f  TK_LIBRARY.= $(_
3840: 54 4b 44 49 52 29 5c 6c 69 62 0a 21 65 6c 73 65  TKDIR)\lib.!else
3850: 0a 57 49 53 48 09 09 3d 20 22 24 28 5f 54 4b 44  .WISH..= "$(_TKD
3860: 49 52 29 5c 77 69 6e 5c 24 28 42 55 49 4c 44 44  IR)\win\$(BUILDD
3870: 49 52 54 4f 50 29 5c 77 69 73 68 24 28 54 43 4c  IRTOP)\wish$(TCL
3880: 5f 56 45 52 53 49 4f 4e 29 24 28 53 55 46 58 29  _VERSION)$(SUFX)
3890: 2e 65 78 65 22 0a 21 69 66 20 21 65 78 69 73 74  .exe".!if !exist
38a0: 28 24 28 57 49 53 48 29 29 20 26 26 20 24 28 54  ($(WISH)) && $(T
38b0: 43 4c 5f 54 48 52 45 41 44 53 29 0a 57 49 53 48  CL_THREADS).WISH
38c0: 09 09 3d 20 22 24 28 5f 54 4b 44 49 52 29 5c 77  ..= "$(_TKDIR)\w
38d0: 69 6e 5c 24 28 42 55 49 4c 44 44 49 52 54 4f 50  in\$(BUILDDIRTOP
38e0: 29 5c 77 69 73 68 24 28 54 43 4c 5f 56 45 52 53  )\wish$(TCL_VERS
38f0: 49 4f 4e 29 74 24 28 53 55 46 58 29 2e 65 78 65  ION)t$(SUFX).exe
3900: 22 0a 21 65 6e 64 69 66 0a 54 4b 53 54 55 42 4c  ".!endif.TKSTUBL
3910: 49 42 09 3d 20 22 24 28 5f 54 4b 44 49 52 29 5c  IB.= "$(_TKDIR)\
3920: 77 69 6e 5c 24 28 42 55 49 4c 44 44 49 52 54 4f  win\$(BUILDDIRTO
3930: 50 29 5c 74 6b 73 74 75 62 24 28 54 43 4c 5f 56  P)\tkstub$(TCL_V
3940: 45 52 53 49 4f 4e 29 2e 6c 69 62 22 0a 54 4b 49  ERSION).lib".TKI
3950: 4d 50 4c 49 42 09 3d 20 22 24 28 5f 54 4b 44 49  MPLIB.= "$(_TKDI
3960: 52 29 5c 77 69 6e 5c 24 28 42 55 49 4c 44 44 49  R)\win\$(BUILDDI
3970: 52 54 4f 50 29 5c 74 6b 24 28 54 43 4c 5f 56 45  RTOP)\tk$(TCL_VE
3980: 52 53 49 4f 4e 29 24 28 53 55 46 58 29 2e 6c 69  RSION)$(SUFX).li
3990: 62 22 0a 54 4b 5f 49 4e 43 4c 55 44 45 53 20 20  b".TK_INCLUDES  
39a0: 20 20 20 3d 20 2d 49 22 24 28 5f 54 4b 44 49 52     = -I"$(_TKDIR
39b0: 29 5c 67 65 6e 65 72 69 63 22 20 2d 49 22 24 28  )\generic" -I"$(
39c0: 5f 54 4b 44 49 52 29 5c 77 69 6e 22 20 2d 49 22  _TKDIR)\win" -I"
39d0: 24 28 5f 54 4b 44 49 52 29 5c 78 6c 69 62 22 0a  $(_TKDIR)\xlib".
39e0: 54 4b 5f 4c 49 42 52 41 52 59 09 3d 20 24 28 5f  TK_LIBRARY.= $(_
39f0: 54 4b 44 49 52 29 5c 6c 69 62 72 61 72 79 0a 21  TKDIR)\library.!
3a00: 65 6e 64 69 66 0a 0a 21 65 6e 64 69 66 0a 21 65  endif..!endif.!e
3a10: 6e 64 69 66 0a 21 65 6e 64 69 66 0a 0a 23 2d 2d  ndif.!endif..#--
3a20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a50: 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 44 69 73 70 6c  --------.# Displ
3a60: 61 79 20 73 74 61 74 73 20 62 65 69 6e 67 20 75  ay stats being u
3a70: 73 65 64 2e 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  sed..#----------
3a80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3a90: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3aa0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
3ab0: 0a 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20 49  ..!message *** I
3ac0: 6e 74 65 72 6d 65 64 69 61 74 65 20 64 69 72 65  ntermediate dire
3ad0: 63 74 6f 72 79 20 77 69 6c 6c 20 62 65 20 27 24  ctory will be '$
3ae0: 28 54 4d 50 5f 44 49 52 29 27 0a 21 6d 65 73 73  (TMP_DIR)'.!mess
3af0: 61 67 65 20 2a 2a 2a 20 4f 75 74 70 75 74 20 64  age *** Output d
3b00: 69 72 65 63 74 6f 72 79 20 77 69 6c 6c 20 62 65  irectory will be
3b10: 20 27 24 28 4f 55 54 5f 44 49 52 29 27 0a 21 6d   '$(OUT_DIR)'.!m
3b20: 65 73 73 61 67 65 20 2a 2a 2a 20 53 75 66 66 69  essage *** Suffi
3b30: 78 20 66 6f 72 20 62 69 6e 61 72 69 65 73 20 77  x for binaries w
3b40: 69 6c 6c 20 62 65 20 27 24 28 53 55 46 58 29 27  ill be '$(SUFX)'
3b50: 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20 4f 70  .!message *** Op
3b60: 74 69 6f 6e 61 6c 20 64 65 66 69 6e 65 73 20 61  tional defines a
3b70: 72 65 20 27 24 28 4f 50 54 44 45 46 49 4e 45 53  re '$(OPTDEFINES
3b80: 29 27 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a 20  )'.!message *** 
3b90: 43 6f 6d 70 69 6c 65 72 20 76 65 72 73 69 6f 6e  Compiler version
3ba0: 20 24 28 56 43 56 45 52 29 2e 20 54 61 72 67 65   $(VCVER). Targe
3bb0: 74 20 6d 61 63 68 69 6e 65 20 69 73 20 24 28 4d  t machine is $(M
3bc0: 41 43 48 49 4e 45 29 0a 21 6d 65 73 73 61 67 65  ACHINE).!message
3bd0: 20 2a 2a 2a 20 43 6f 6d 70 69 6c 65 72 20 6f 70   *** Compiler op
3be0: 74 69 6f 6e 73 20 27 24 28 43 4f 4d 50 49 4c 45  tions '$(COMPILE
3bf0: 52 46 4c 41 47 53 29 20 24 28 4f 50 54 49 4d 49  RFLAGS) $(OPTIMI
3c00: 5a 41 54 49 4f 4e 53 29 20 24 28 44 45 42 55 47  ZATIONS) $(DEBUG
3c10: 46 4c 41 47 53 29 20 24 28 57 41 52 4e 49 4e 47  FLAGS) $(WARNING
3c20: 53 29 27 0a 21 6d 65 73 73 61 67 65 20 2a 2a 2a  S)'.!message ***
3c30: 20 4c 69 6e 6b 20 6f 70 74 69 6f 6e 73 20 27 24   Link options '$
3c40: 28 4c 49 4e 4b 45 52 46 4c 41 47 53 29 27 0a 0a  (LINKERFLAGS)'..
3c50: 21 65 6e 64 69 66 0a                             !endif.