JambaseXref.html #1

  • //
  • guest/
  • dick_dunbar/
  • jam/
  • src/
  • JambaseXref.html
  • View
  • Commits
  • Open Download .zip Download (162 KB)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>

<HEAD>
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
<META NAME="VPSiteProject" CONTENT="file:///D|/rld/Docs/Project.vpp">

	<META NAME="GENERATOR" Content="Visual Page 2.0 for Windows">
	<TITLE>Jambase Cross Reference</TITLE>
</HEAD>

<BODY>

<H1><A NAME="Jambase"></A>Jambase Cross Reference and Trace</H1>
<P><B><A HREF="#XRef">Jambase Cross Reference</A><BR>
<A HREF="#Actions"> - Actions</A><BR>
<A HREF="#Trace">jam -d+5 variable trace</A></B></P>
<PRE>   1|#
   2|# /+\
   3|# +\    Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.
   4|# \+/
   5|#
   6|# This file is part of Jam - see jam.c for Copyright information.
   7|# 05/17/04 (dunbar)- Support for Siebel Analytics
   8|#
   9|#
  10|# JAMBASE - jam 2.5 ruleset providing make(1)-like functionality
  11|#
  12|# Special targets defined in this file:<A NAME="12"></A>
  13|#
  14|# all           - parent of first, shell, files, lib, exe
  15|# first         - first dependent of 'all', for potential initialization
  16|# shell         - parent of all Shell targets
  17|# files         - parent of all File targets
  18|# lib           - parent of all Library targets
  19|# exe           - parent of all Main targets
  20|# dirs          - parent of all MkDir targets
  21|# clean         - removes all Shell, File, Library, and Main targets
  22|# uninstall     - removes all Install targets
  23|
  24|# Rules defined by this file:
  25|#
  26|# Archive lib : source ;                archive library from compiled sources
  27|# ArchiveFromObjects lib : objects ;    archive library from objects
  28|# As obj.o : source.s ;                 .s -&gt; .o
<STRIKE>  29|# Bulk dir : files ;                    populate directory with many files</STRIKE>
  30|# <A HREF="#833">Cc</A> obj.o : source.c ;                 .c -&gt; .o
  31|# <A HREF="#322">C++</A> obj.o : source.cc ;               .cc -&gt; .o
  32|# <A HREF="#947">Clean</A> clean : sources ;               remove sources with 'jam clean'
  33|# <A HREF="#331">File</A> dest : source ;                  copy file
  34|# GenFile source.c : program args ;     make custom file
  35|# <STRIKE>HardLink </STRIKE>target : source ;            make link from source to target
  36|# <A HREF="#354">HdrRule</A> source : headers ;            handle #includes
  37|# <STRIKE>InstallInto</STRIKE> dir : sources ;           install any files
  38|# <STRIKE>InstallBin</STRIKE> dir : sources ;            install binaries
  39|# <STRIKE>InstallLib</STRIKE> dir : sources ;            install files
  40|# <STRIKE>InstallFile</STRIKE> dir : sources ;           install files
  41|# <STRIKE>InstallMan</STRIKE> dir : sources ;            install man pages
  42|# <STRIKE>InstallShell</STRIKE> dir : sources ;          install shell scripts
  43|# Lex source.c : source.l ;             .l -&gt; .c
  44|# Library lib : source ;                shared library from compiled sources
  45|# <A HREF="#447">LibraryFromObjects</A> lib : objects ;    shared library from objects
  46|# Libs images : libraries ;             bag libraries onto Mains
  47|# Main image : source ;                 link executable from compiled sources
  48|# MainFromObjects image : objects ;     link executable from objects
  49|# <A HREF="#517">MkDir</A> dir ;                           make a directory, if not there
  50|# <A HREF="#552">Object</A> object : source ;              compile object from source
  51|# ObjectCcFlags source : flags ;        add compiler flags for object
  52|# ObjectC++Flags source : flags ;       add compiler flags for object
  53|# ObjectDefines
  54|# ObjectHdrs source : dirs ;            add include directories for object
  55|# <A HREF="#608">Objects</A> sources ;                     compile sources
  56|# Resource  xxx : yyy ;                 resource compiler
  57|# RmTemps target : sources ;            remove temp sources after target made
  58|# <STRIKE>Setuid</STRIKE> images ;                       mark executables Setuid
  59|# <STRIKE>Shell</STRIKE> exe : source ;                  make a shell executable
  60|# <STRIKE>SoftLink</STRIKE> target : source ;            make symlink from source to target
  61|# <A HREF="#648">SubDir</A> TOP d1 d2 ... ;                start a subdirectory Jamfile
  62|# SubDirCcFlags flags ;                 add compiler flags until next SubDir
  63|# SubDirC++Flags flags ;                add compiler flags until next SubDir
  64|# <A HREF="#813">SubDirHdrs</A> d1 d2 ... ;                add include dir until next SubDir
  65|# SubInclude TOP d1 d2 ... ;            include a subdirectory Jamfile
  66|# SubRules
  67|# Undefines images : symbols ;          save undef's for linking
  68|# UserObject object : source ;          handle unknown suffixes for Object
  69|# <A HREF="#833">Yacc</A> source.c : source.y ;            .y -&gt; .c
  70|
  71|# Utility rules that have no side effects (not supported):
  72|#
  73|# <A HREF="#904">FAppendSuffix</A> f1 f2 ... : $(SUF) ;    return $(&lt;) with suffixes
  74|# Fdefines
  75|# <A HREF="#922">FDirName</A> d1 d2 ... ;                  return path from root to dir
  76|# <A HREF="#850">FGrist</A> d1 d2 ... ;                    return d1!d2!...
  77|# <A HREF="#851">FGristFiles</A> value ;                   return $(value:G=$(SOURCE_GRIST))
  78|# <A HREF="#852">FGristSourceFiles</A> value ;             return $(value:G=$(SOURCE_GRIST))
  79|# <A HREF="#884">FStripCommon</A> v1 : v2 ;                strip common initial parts of v1 v2
  80|# <A HREF="#799">FSubDirPath</A>
  81|# <A HREF="#868">FReverse</A> a1 a2 ... ;                  return ... a2 a1
  82|# <A HREF="#893">FRelPath</A> d1 : d2 ;                    return rel path from d1 to d2
  83|# <A HREF="#872">FSubDir</A> d1 d2 ... ;                   return path to root
  84|# <A HREF="#930">FDefines</A>
  85|# <A HREF="#931">FIncludes</A>
  86|# FQuote
  87|
  88|# Brief review of the jam language:
  89|#
  90|# Statements:
  91|#       rule RULE - statements to process a rule
  92|#       actions RULE - system commands to carry out target update
  93|#
  94|# Modifiers on actions:
  95|#       together - multiple instances of same rule on target get executed
  96|#                  once with their sources ($(&gt;)) concatenated
  97|#       updated - refers to updated sources ($(&gt;)) only
  98|#       ignore - ignore return status of command
  99|#       quietly - don't trace its execution unless verbose
 100|#       piecemeal - iterate command each time with a small subset of $(&gt;)
 101|#       existing - refers to currently existing sources ($(&gt;)) only
 102|#       bind vars - subject to binding before expanding in actions
 103|#
 104|# Special rules:
 105|#       <FONT COLOR="#00CC00">Always</FONT> - always build a target
 106|#       <FONT COLOR="#00CC00">Depends</FONT> - builds the dependency graph
 107|#       <FONT COLOR="#00CC00">Echo</FONT> - blurt out targets on stdout
 108|#       <FONT COLOR="#00CC00">Exit</FONT> - blurt out targets and exit
 109|#       <FONT COLOR="#00CC00">Includes</FONT> - marks sources as headers for target (a codependency)
 110|#       <FONT COLOR="#00CC00">NoCare</FONT> - don't panic if the target can't be built
 111|#       <FONT COLOR="#00CC00">NoUpdate</FONT> - create the target if needed but never update it
 112|#       <FONT COLOR="#00CC00">NotFile</FONT> - ignore the timestamp of the target (it's not a file)
 113|#       <FONT COLOR="lime">Temporary</FONT> - target need not be present if sources haven't changed
 114|#
 115|# Special variables set by jam:
 116|#       $(&lt;) - targets of a rule (to the left of the :)
 117|#       $(&gt;) - sources of a rule (to the right of the :)
 118|#       $(xxx) - true on xxx (UNIX, VMS, NT, OS2, MAC)
 119|#       $(OS) - name of OS - varies wildly
 120|#       $(JAMVERSION) - version number (2.5)
 121|#
 122|# Special variables used by jam:
 123|#       SEARCH  - where to find something (used during binding and actions)
 124|#       LOCATE  - where to plop something not found with SEARCH
 125|#       HDRRULE - rule to call to handle include files
 126|#       HDRSCAN - egrep regex to extract include files
 127|#
 128|# Special targets:
 129|#       all - default if none given on command line
 130|#
 131|# for perforce use -- jambase version
 132|  JAMBASEDATE = 2004.06.17 ;<A NAME="132"></A>
 133|# Initialize variables
 134|#
 135|#
 136|# OS specific variable settings
 137|#
 138|if $(NT) {
 139|        MV              ?= move /y ;
 140|        CP              ?= copy ;
 141|        RM              ?= del /f/q ;
 142|        RMDIR           ?= rmdir /s/q ;
 143|        SLASH           ?= \\ ;
 144|        SUFDLL          ?= .dll ;
 145|        SUFLIB          ?= .lib ;
 146|        SUFOBJ          ?= .obj ;
 147|        SUFEXE          ?= .exe ;
 148|        SUFPDB          ?= .pdb ;
 149|        SUFILK          ?= .ilk ;
 150|     if $(MSVCDIR) { # Visual C++ 6.0 uses MSVCDIR
 151|        AR              ?= lib ;
 152|        AS              ?= masm386 ;
 153|        CC              ?= cl /nologo ;
 154|        CCFLAGS         ?= &quot;&quot; ;
 155|        C++             ?= $(CC) ;
 156|        C++FLAGS        ?= $(CCFLAGS) ;
 157|        LIBDIR          ?= $(MSVCDIR)\\lib ;
 158|        LIBFLAGS        ?= &quot;&quot; ;
 159|        LINK            ?= link /nologo ;
 160|        LINKFLAGS       ?= &quot;&quot; ;
 161|        LINKLIBS        ?=
 162|                           $(LIBDIR)\\kernel32.lib
 163|                           $(LIBDIR)\\oldnames.lib ;
 164|        OPTIM           ?= &quot;&quot; ;
 165|        RC              ?= rc ;
 166|        STDHDRS         ?= $(MSVCDIR)\\include ;
 167|        UNDEFFLAG       ?= &quot;/u _&quot; ;
 168|    } else if $(DMCDIR) {
 169|        CC              ?= $(DMCDIR)\\bin\\dmc.exe ;
 170|        CCFLAGS         ?= &quot;&quot; ;
 171|        C++             ?= $(CC) ;
 172|        C++FLAGS        ?= $(CCFLAGS) ;
 173|        LIBDIR          ?= $(DMCDIR)\\lib ;
 174|        LIBFLAGS        ?= &quot;&quot; ;
 175|        LINK            ?= $(DMCDIR)\\bin\\link /nologo ;
 176|        LINKFLAGS       ?= &quot;&quot; ;
 177|        LINKLIBS        ?= $(DMCDIR)\\lib\\kernel32.lib
 178|                        $(DMCDIR)\\lib\\oldnames.lib ;
 179|        OPTIM           ?= &quot;&quot; ;
 180|        RC              ?= &quot;&quot; ;
 181|        STDHDRS         ?= $(DMCDIR)\\Include ;
 182|        UNDEFFLAG       ?= &quot;-u &quot; ;
 183|    } else {
 184|        EXIT On NT, set MSVCDIR to the root of the Microsoft directories. ;
 185|    }
 186|} else if $(UNIX) {
 187|    switch $(OS) {
 188|    case AIX :
 189|        CC              ?= xlc_r ;
 190|        C++             ?= xlC_r ;
 191|        LIBFLAGS        ?= &quot;-qmkshrobj -qtwolink -brtl -bnortllib -G -bf&quot; ;
 192|    case HPUX :
 193|        RANLIB          ?= &quot;&quot; ;
 194|    case SOLARIS :
 195|        CC              ?= /opt/SUNWspro/bin/cc ;
 196|        C++             ?= /opt/SUNWspro/bin/CC ;
 197|        RANLIB          ?= &quot;&quot; ;
 198|        AR              ?= &quot;/usr/ccs/bin/ar ru&quot; ;
 199|    }
 200|    # UNIX defaults
 201|    CCFLAGS         ?= ;
 202|    C++FLAGS        ?= $(CCFLAGS) ;
 203|    CHMOD           ?= chmod ;
 204|    CHGRP           ?= chgrp ;
 205|    CHOWN           ?= chown ;
 206|    LEX             ?= lex ;
 207|    LINKFLAGS       ?= $(CCFLAGS) ;
 208|    LINKLIBS        ?= ;
 209|    OPTIM           ?= -O ;
 210|    RANLIB          ?= ranlib ;
 211|    YACC            ?= yacc ;
 212|    YACCGEN         ?= .c ;
 213|    YACCFILES       ?= y.tab ;
 214|    YACCFLAGS       ?= -d ;
 215|    }
 216|#
 217|# General defaults; a lot like UNIX
 218|#
 219|    AR              ?= ar ru ;
 220|    AS              ?= as ;
 221|    ASFLAGS         ?= ;
 222|    AWK             ?= awk ;
 223|    BINDIR          ?= /usr/local/bin ;
 224|    C++             ?= cc ;
 225|    C++FLAGS        ?= ;
 226|    CC              ?= cc ;
 227|    CCFLAGS         ?= ;
 228|    CP              ?= cp -f ;
 229|    DOT             ?= . ;
 230|    DOTDOT          ?= .. ;
 231|    EXEMODE         ?= 755 ;
 232|    FILEMODE        ?= 644 ;
 233|    HDRS            ?= ;
 234|    INSTALLGRIST    ?= installed ;
 235|    JAMFILE         ?= Jamfile ;
 236|    JAMRULES        ?= Jamrules ;
 237|    LEX             ?= ;
 238|    LIBDIR          ?= /usr/local/lib ;</PRE>

<PRE>
<TABLE BORDER="1" WIDTH="100%">
	<TR>
		<TD WIDTH="100%">Need to revisit this <FONT FACE="Courier New, Courier">LINK</FONT> value.  C++ isn't accurate for all platforms;
			 it does work for Windows and AIX.</TD>
	</TR>
</TABLE>

 239|    LINK            ?= $(C++) ;                         # ?? $(CC)
 240|    LINKFLAGS       ?= ;
 241|    LINKLIBS        ?= ;
 242|    LN              ?= ln ;
 243|    MANDIR          ?= /usr/local/man ;
 244|    MKDIR           ?= mkdir ;
 245|    MV              ?= mv -f ;
 246|    OPTIM           ?= ;
 247|    RCP             ?= rcp ;
 248|    RM              ?= rm -f ;
 249|    RMDIR           ?= $(RM) ;
 250|    RSH             ?= rsh ;
 251|    SED             ?= sed ;
 252|    SHELLHEADER     ?= &quot;#!/bin/sh&quot; ;
 253|    SHELLMODE       ?= 755 ;
 254|    SLASH           ?= / ;
 255|    STDHDRS         ?= /usr/include ;
 256|    SUBDIRRULES     ?= ;
 257|    SUBDIRRESET     ?= ASFLAGS HDRS C++FLAGS CCFLAGS ;
 258|    SUFEXE          ?= &quot;&quot; ;
 259|    SUFDLL          ?= .so ;                            # MS centric. Unix uses .so suffix
 260|    SUFLIB          ?= .so ;                            # MS has .lib and .dll
 261|    SUFOBJ          ?= .o ;
 262|    UNDEFFLAG       ?= &quot;-u _&quot; ;
 263|    YACC            ?= ;
 264|    YACCGEN         ?= ;
 265|    YACCFILES       ?= ;
 266|    YACCFLAGS       ?= ;
 267|    HDRPATTERN = &quot;^[ 	]*#[ 	]*include[ 	]*[&lt;\&quot;]([^\&quot;&gt;]*)[\&quot;&gt;].*$&quot; ;
 268|    OSFULL = $(OS)$(OSVER)$(OSPLAT) ;
 269|# Base dependencies - first for &quot;bootstrap&quot; kinds of rules
 270|<FONT COLOR="#00CC00">Depends</FONT> all : shell files lib exe obj ;
 271|<FONT COLOR="#00CC00">Depends</FONT> all shell files lib exe obj : first ;
 272|<FONT COLOR="#00CC00">NotFile</FONT> all first shell files lib exe obj dirs clean uninstall ;
 273|<FONT COLOR="#00CC00">Always</FONT> clean uninstall ;
 274|#
 275|# Rules
 276|#
 277|rule Archive {                                              <A NAME="277"></A>
 278|        <A HREF="#281">ArchiveFromObjects</A> $(&lt;) : $(&gt;:S=$(SUFOBJ)) ; # :Suffix
 279|        <A HREF="#608">Objects</A> $(&gt;) ;
 280|        }
 281|rule ArchiveFromObjects {                                   <A NAME="281"></A>
 282|        local _i _l _s ;
 283|        _s = [ <A HREF="#851">FGristFiles</A> $(&gt;) ] ;              # Add grist to file names
 284|        _l = $(&lt;:S=$(SUFLIB)) ;                  # Archive :Suffix
 285|        if $(KEEPOBJS) { <FONT COLOR="#00CC00">Depends</FONT> obj : $(_s) ; # library depends on its member objects
 286|        } else         { <FONT COLOR="#00CC00">Depends</FONT> lib : $(_l) ; }
 287|        if ! $(_l:D) { <A HREF="#505">MakeLocate</A> $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ; } # :Base/:Suffix/:Directory
 288|        if $(NOARSCAN) {
 289|            <FONT COLOR="#00CC00">Depends</FONT> $(_l) : $(_s) ;
 290|        } else {
 291|            <FONT COLOR="#00CC00">Depends</FONT> $(_l) : $(_l)($(_s:BS)) ;   # :Base/:Suffix
 292|            for _i in $(_s) {
 293|                <FONT COLOR="#00CC00">Depends</FONT> $(_l)($(_i:BS)) : $(_i) ;   # :Base/:Suffix
 294|                }
 295|            }
 296|        <A HREF="#947">Clean</A> clean : $(_l) ;
 297|        <A HREF="#940">FArchive</A> $(_l) : $(_s) ;
 298|        if $(RANLIB) { Ranlib $(_l) ; }
 299|        if ! ( $(NOARSCAN) || $(NOARUPDATE) ) { RmTemps $(_l) : $(_s) ; }
 300|        }
 301|rule As {                                                   <A NAME="301"></A>
 302|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 303|        ASFLAGS on $(&lt;) += $(ASFLAGS) $(SUBDIRASFLAGS) ;
 304|        ASHDRS on $(&lt;) = [ <A HREF="#931">FIncludes</A> $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ] ;
 305|        }
 <STRIKE>306|rule Bulk {                                                 </STRIKE><A NAME="306"></A><STRIKE>
 307|        local i ;
 308|        for i in $(&gt;) {
 309|            </STRIKE><A HREF="#331"><STRIKE>File</STRIKE></A><STRIKE> $(i:D=$(&lt;)) : $(i) ;                                # :Directory
 310|            }
 311|        }</STRIKE>
 312|rule Cc {                                                   <A NAME="312"></A>
 313|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 314|        # Just to clarify here: this sets the per-target CCFLAGS to
 315|        # be the current value of (global) CCFLAGS and SUBDIRCCFLAGS.
 316|        # CCHDRS and CCDEFS must be reformatted each time for some
 317|        # compiles (NT) that malign multiple -D or -I flags.
 318|        CCFLAGS on $(&lt;) += $(CCFLAGS) $(SUBDIRCCFLAGS) $(OPTIM) ;
 319|        CCHDRS  on $(&lt;) = [ on $(&lt;) <A HREF="#931">FIncludes</A> $(HDRS) ] ;
 320|        CCDEFS  on $(&lt;) = [ on $(&lt;) <A HREF="#930">FDefines</A>  $(DEFINES) ] ;
 321|        }
 322|rule C++ {                                                  <A NAME="322"></A>
 323|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 324|        C++FLAGS on $(&lt;) += $(C++FLAGS) $(SUBDIRC++FLAGS) $(OPTIM) ;
 325|        CCHDRS   on $(&lt;) = [ on $(&lt;) <A HREF="#931">FIncludes</A> $(HDRS) ] ;
 326|        CCDEFS   on $(&lt;) = [ on $(&lt;) <A HREF="#930">FDefines</A>  $(DEFINES) ] ;
 327|        }
 328|rule C++Flags { C++FLAGS += $(&lt;) ; }                     <A NAME="328"></A>
 329|rule Chmod { if $(CHMOD) { <A HREF="#945">Chmod1</A> $(&lt;) ; } }             <A NAME="329"></A>
 330|rule Defines { DEFINES += $(&lt;) ; }                       <A NAME="330"></A>
 331|rule File {                                                 <A NAME="331"></A>
 332|        <FONT COLOR="#00CC00">Depends</FONT> files : $(&lt;) ;
 333|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 334|        SEARCH on $(&gt;) = $(SEARCH_SOURCE) ;
 335|        MODE   on $(&lt;) = $(FILEMODE) ;
 336|        <A HREF="#329">Chmod</A> $(&lt;) ;
 337|        }
 338|rule GenFile {                                              <A NAME="338"></A>
 339|        local _t = [ <A HREF="#852">FGristSourceFiles</A> $(&lt;) ] ;
 340|        local _s = [ <A HREF="#904">FAppendSuffix</A> $(&gt;[1]) : $(SUFEXE) ] ;
 341|        <FONT COLOR="#00CC00">Depends</FONT>  $(_t) : $(_s) $(&gt;[2-]) ;
 342|        <A HREF="#338">GenFile1</A> $(_t) : $(_s) $(&gt;[2-]) ;
 343|        <A HREF="#947">Clean</A> clean : $(_t) ;
 344|        }
 345|rule GenFile1 {                                             <A NAME="345"></A>
 346|        <A HREF="#505">MakeLocate</A> $(&lt;) : $(LOCATE_SOURCE) ;
 347|        SEARCH on  $(&gt;) = $(SEARCH_SOURCE) ;
 348|        }
<STRIKE> 349|rule HardLink {                                             </STRIKE><A NAME="349"></A><STRIKE>
 350|        <FONT COLOR="#00CC00">Depends</FONT> files : $(&lt;) ;
 351|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 352|        SEARCH on $(&gt;) = $(SEARCH_SOURCE) ;
 353|        }</STRIKE>
 354|rule HdrRule {            # HdrRule source : headers ;      <A NAME="354"></A>
 355|        # N.B.  This rule is called during binding, potentially after
 356|        # the fate of many targets has been determined, and must be
 357|        # used with caution: don't add dependencies to unrelated
 358|        # targets, and don't set variables on $(&lt;).
 359|        # Tell Jam that anything depending on $(&lt;) also depends on $(&gt;),
 360|        # set SEARCH so Jam can find the headers, but then say we don't
 361|        # care if we can't actually find the headers (they may have been
 362|        # within ifdefs),
 363|        local s = $(&gt;:G=$(HDRGRIST:E)) ;               # :Grist/:Value
 364|        <FONT COLOR="#00CC00">Includes</FONT> $(&lt;) : $(s) ;
 365|        SEARCH on $(s) = $(HDRSEARCH) ;
 366|        <FONT COLOR="#00CC00">NoCare</FONT> $(s) ;
 367|        # Propagate on $(&lt;) to $(&gt;)
 368|        HDRSEARCH on $(s) = $(HDRSEARCH) ;
 369|        HDRSCAN   on $(s) = $(HDRSCAN) ;
 370|        HDRRULE   on $(s) = $(HDRRULE) ;
 371|        HDRGRIST  on $(s) = $(HDRGRIST) ;
 372|        }
<STRIKE> 373|rule InstallInto {            # InstallInto dir : sources ; </STRIKE><A NAME="373"></A><STRIKE>
 374|        local i t ;
 375|        t = $(&gt;:G=$(INSTALLGRIST)) ;                   # :Grist
 376|        # Arrange for jam install
 377|        # Arrange for jam uninstall
 378|        # sources are in SEARCH_SOURCE
 379|        # targets are in dir
 380|        <FONT COLOR="#00CC00">Depends</FONT> install : $(t) ;
 381|        <A HREF="#947">Clean</A> uninstall : $(t) ;
 382|        SEARCH on $(&gt;) = $(SEARCH_SOURCE) ;
 383|        </STRIKE><A HREF="#505"><STRIKE>MakeLocate</STRIKE></A><STRIKE> $(t) : $(&lt;) ;
 384|        # For each source, make gristed target name
 385|        # and Install, Chmod, Chown, and Chgrp
 386|        for i in $(&gt;) {
 387|            local tt = $(i:G=$(INSTALLGRIST)) ;        # :Grist
 388|            <FONT COLOR="#00CC00">Depends</FONT> $(tt) : $(i) ;
 389|            Install $(tt) : $(i) ;
 390|            </STRIKE><A HREF="#329"><STRIKE>Chmod</STRIKE></A><STRIKE> $(tt) ;
 391|            if $(OWNER) &amp;&amp; $(CHOWN) {
 392|                Chown $(tt) ;
 393|                OWNER on $(tt) = $(OWNER) ;
 394|                }
 395|            if $(GROUP) &amp;&amp; $(CHGRP) {
 396|                Chgrp $(tt) ;
 397|                GROUP on $(tt) = $(GROUP) ;
 398|                }
 399|            }
 400|        }
 401|rule InstallBin {                                           </STRIKE><A NAME="401"></A><STRIKE>
 402|        local _t = [ <A HREF="#904">FAppendSuffix</A> $(&gt;) : $(SUFEXE) ] ;
 403|        </STRIKE><A HREF="#373"><STRIKE>InstallInto</STRIKE></A><STRIKE> $(&lt;) : $(_t) ;
 404|        MODE on $(_t:G=$(INSTALLGRIST)) = $(EXEMODE) ; # :Grist
 405|        }
 406|rule InstallFile {                                          </STRIKE><A NAME="406"></A><STRIKE>
 407|        </STRIKE><A HREF="#373"><STRIKE>InstallInto</STRIKE></A><STRIKE> $(&lt;) : $(&gt;) ;
 408|        MODE on $(&gt;:G=$(INSTALLGRIST)) = $(FILEMODE) ; # :Grist
 409|        }
 410|rule InstallLib {                                           </STRIKE><A NAME="410"></A><STRIKE>
 411|        </STRIKE><A HREF="#373"><STRIKE>InstallInto</STRIKE></A><STRIKE> $(&lt;) : $(&gt;) ;
 412|        MODE on $(&gt;:G=$(INSTALLGRIST)) = $(FILEMODE) ; # :Grist
 413|        }
 414|rule InstallMan {       # strips the . from the suffix      </STRIKE><A NAME="414"></A><STRIKE>
 415|        local i s d ;
 416|        for i in $(&gt;) {
 417|            switch $(i:S) {                      # :Suffix
 418|              case .1 : s = 1 ; case .2 : s = 2 ; case .3 : s = 3 ;
 419|              case .4 : s = 4 ; case .5 : s = 5 ; case .6 : s = 6 ;
 420|              case .7 : s = 7 ; case .8 : s = 8 ; case .l : s = l ;
 421|              case .n : s = n ; case .man : s = 1 ;
 422|              }
 423|            d = man$(s) ;
 424|            </STRIKE><A HREF="#373"><STRIKE>InstallInto</STRIKE></A><STRIKE> $(d:R=$(&lt;)) : $(i) ;                   # :Root
 425|            }
 426|        MODE on $(&gt;:G=$(INSTALLGRIST)) = $(FILEMODE) ; # :Grist
 427|        }
 428|rule InstallShell {                                         </STRIKE><A NAME="428"></A><STRIKE>
 429|        </STRIKE><A HREF="#373"><STRIKE>InstallInto</STRIKE></A><STRIKE> $(&lt;) : $(&gt;) ;
 430|        MODE on $(&gt;:G=$(INSTALLGRIST)) = $(SHELLMODE) ; # :Grist
 431|        }</STRIKE>
 432|rule Lex {                                                  <A NAME="432"></A>
 433|        <A HREF="#953">LexMv</A>   $(&lt;) : $(&gt;) ;
 434|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 435|        <A HREF="#505">MakeLocate</A> $(&lt;) : $(LOCATE_SOURCE) ;
 436|        <A HREF="#947">Clean</A> clean : $(&lt;) ;
 437|        }
 438|rule Library {                                              <A NAME="438"></A>
 439|        <A HREF="#447">LibraryFromObjects</A> $(&lt;) : $(&gt;:S=$(SUFOBJ)) ; # :Suffix
 440|        <A HREF="#608">Objects</A> $(&gt;) ;
 441|        LINKFLAGS += $(LIBFLAGS) ;
 442|        }
 443|# AIX example
 444|#     xlC_r -G -qmkshrobj -g  shared.o -o libshared1.so -ldl
 445|# Note: -G is combo flag for: erok, rtl, nortllib, nosymbolic, noautoexp, and M:SRE
 446|
 447|rule LibraryFromObjects {                                   <A NAME="447"></A>
 448|        local _i _s _lib _dll ;                # _s: sources
 449|        _s   = [ <A HREF="#851">FGristFiles</A> $(&gt;) ] ;          # Add grist to file names
 450|        _lib = $(&lt;:S=$(SUFLIB)) ;              # Library :Suffix  (.dll on windows, .so on unix)
 451|        _dll = $(&lt;:S=$(SUFDLL)) ;              # Library :Suffix  (.lib on windows, .so / .a on unix)
 452|        if $(KEEPOBJS) { <FONT COLOR="#00CC00">Depends</FONT> obj : $(_s) ; # library depends on its member objects
 453|        } else         { <FONT COLOR="#00CC00">Depends</FONT> lib : $(_lib) ; }
 454|        # Set LOCATE for the library and its contents.  The bound
 455|        # value shows up as $(NEEDLIBS) on the Link actions.
 456|        # For compatibility, we only do this if the library doesn't already have a path.
 457|        if ! $(_lib:D) {
 458|             _i = [ <A HREF="#922">FDirName</A> $(LOCATE_TARGET)] ;
 459|             <A HREF="#505">MakeLocate</A> $(_lib) $(_lib)($(_s:BS)) : $(_i) ;
 460|             } # :Base/:Suffix/:Directory
 461|        <FONT COLOR="#00CC00">Depends</FONT> $(_lib) : $(_s) ;
 462|        <FONT COLOR="#00CC00">Depends</FONT> $(_lib) : $(_lib)($(_s:BS)) ;
 463|        for _i in $(_s) {
 464|            <FONT COLOR="#00CC00">Depends</FONT> $(_lib)($(_i:BS)) : $(_i) ;
 465|            }
 466|#       <A HREF="#947">Clean</A> clean : $(_lib) ;
 467|        <A HREF="#478">Link</A>    $(_lib) : $(_s) ;
 468|#       RmTemps $(_lib) : $(_s) ;
 469|        }
 470|rule LibFlags { LIBFLAGS += $(&lt;) ; }                     <A NAME="470"></A>
 471|rule Libs {                                                 <A NAME="471"></A>
 472|        # make library dependencies of target
 473|        # set NEEDLIBS variable used by 'actions Main' / 'actions Library'
 474|        local _t = [ <A HREF="#904">FAppendSuffix</A> $(&lt;) : $(SUFEXE) ] ;    # ???
 475|        <FONT COLOR="#00CC00">Depends</FONT> $(_t) : $(&gt;:S=$(SUFLIB)) ;        # :Suffix
 476|        NEEDLIBS on $(_t) += $(&gt;:S=$(SUFLIB)) ;   # :Suffix
 477|        }
 478|rule Link {                                                 <A NAME="478"></A>
 479|        MODE on $(&lt;) = $(EXEMODE) ;
 480|        <A HREF="#329">Chmod</A>   $(&lt;) ;
 481|        }
 482|rule LinkFlags { LINKFLAGS += $(&lt;) ; }                   <A NAME="482"></A>
 483|rule Main {                                                 <A NAME="483"></A>
 484|        MainFromObjects $(&lt;) : $(&gt;:S=$(SUFOBJ)) ; # :Suffix
 485|        <A HREF="#608">Objects</A> $(&gt;) ;
 486|        }
 487|rule MainFromObjects {                                      <A NAME="487"></A>
 488|        local _s _t ;
 489|        # Add grist to file names
 490|        # Add suffix to exe
 491|        _s = [ <A HREF="#851">FGristFiles</A> $(&gt;) ] ;
 492|        _t = [ <A HREF="#904">FAppendSuffix</A> $(&lt;) : $(SUFEXE) ] ;
 493|        # so 'jam foo' works when it's really foo.exe
 494|        if $(_t) != $(&lt;) {
 495|            <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(_t) ;
 496|            <FONT COLOR="#00CC00">NotFile</FONT> $(&lt;) ;
 497|            }
 498|        # make compiled sources a dependency of target
 499|        <FONT COLOR="#00CC00">Depends</FONT> exe : $(_t) ;
 500|        <FONT COLOR="#00CC00">Depends</FONT> $(_t) : $(_s) ;
 501|        <A HREF="#505">MakeLocate</A> $(_t) : $(LOCATE_TARGET) ;
 502|        <A HREF="#947">Clean</A> clean : $(_t) ;
 503|        <A HREF="#478">Link</A> $(_t) : $(_s) ;
 504|        }
 505|rule MakeLocate {       # MakeLocate targets : directory ;  <A NAME="505"></A>
 506|        # Sets special variable LOCATE on targets, and arranges
 507|        # with MkDir to create target directory.
 508|        # Note we grist the directory name with 'dir',
 509|        # so that directory path components and other
 510|        # targets don't conflict.
 511|        if $(&gt;) {
 512|            LOCATE on $(&lt;) = $(&gt;) ;
 513|            <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;[1]:G=dir) ;             # :Grist
 514|            <A HREF="#517">MkDir</A> $(&gt;[1]:G=dir) ;                      # :Grist
 515|            }
 516|        }
 517|rule MkDir {                     # MkDir directory ;        <A NAME="517"></A>
 518|        # Make a directory and all its parent directories.
 519|        # Ignore timestamps on directories: we only care if they
 520|        # exist.
 521|        <FONT COLOR="#00CC00">NoUpdate</FONT> $(&lt;) ;
 522|        # Don't create . or any directory already created.
 523|        if $(&lt;:G=) != $(DOT) &amp;&amp; ! $($(&lt;)-mkdir) {      # :Grist
 524|            # Cheesy gate to prevent multiple invocations on same dir
 525|            # Arrange for jam dirs
 526|            # MkDir1 has the actions
 527|            $(&lt;)-mkdir = true ;
 528|            <FONT COLOR="#00CC00">Depends</FONT> dirs : $(&lt;) ;
 529|            <A HREF="#955">MkDir1</A> $(&lt;) ;
 530|            # Recursively make parent directories.
 531|            # $(&lt;:P) = $(&lt;)'s parent, &amp; we recurse until root
 532|            local s = $(&lt;:P) ;              # :Parenth
 533|            # Don't try to create A: or A:\ on windows
 534|            if $(NT) {
 535|                switch $(s) {
 536|                  case *:   : s = ;
 537|                  case *:\\ : s = ;
 538|                  }
 539|                }
 540|            if $(s) = $(&lt;) {
 541|                # The parent is the same as the dir.
 542|                # We're at the root, which some OS's can't stat, so we mark
 543|                # it as <FONT COLOR="#00CC00">NotFile</FONT>.
 544|                <FONT COLOR="#00CC00">NotFile</FONT> $(s) ;
 545|            } else if $(s:G=) {                        # :Grist
 546|                # There's a parent; recurse.
 547|                <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(s) ;
 548|                <A HREF="#517">MkDir</A> $(s) ;
 549|                }
 550|            }
 551|        }
 552|rule Object {                                               <A NAME="552"></A>
 553|        # locate object and search for source, if wanted
 554|        <A HREF="#947">Clean</A> clean : $(&lt;) ;
 555|        <A HREF="#505">MakeLocate</A> $(&lt;) : $(LOCATE_TARGET) ;
 556|        SEARCH on $(&gt;) = $(SEARCH_SOURCE) ;
 557|        # Save HDRS for -I$(HDRS) on compile.
 558|        # We shouldn't need -I$(SEARCH_SOURCE) as cc can find headers
 559|        # in the .c file's directory, but generated .c files (from
 560|        # yacc, lex, etc) are located in $(LOCATE_TARGET), possibly
 561|        # different from $(SEARCH_SOURCE).
 562|        HDRS on $(&lt;) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;
 563|        # handle #includes for source: Jam scans for headers with
 564|        # the regexp pattern $(HDRSCAN) and then invokes $(HDRRULE)
 565|        # with the scanned file as the target and the found headers
 566|        # as the sources.  HDRSEARCH is the value of SEARCH used for
 567|        # the found header files.  Finally, if jam must deal with
 568|        # header files of the same name in different directories,
 569|        # they can be distinguished with HDRGRIST.
 570|        # $(SEARCH_SOURCE:E) is where cc first looks for #include
 571|        # &quot;foo.h&quot; files.  If the source file is in a distant directory,
 572|        # look there.  Else, look in &quot;&quot; (the current directory).
 573|        HDRRULE   on $(&gt;) = <A HREF="#354">HdrRule</A> ;
 574|        HDRSCAN   on $(&gt;) = $(HDRPATTERN) ;
 575|        HDRSEARCH on $(&gt;) = $(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;  # :E value
 576|        HDRGRIST  on $(&gt;) = $(HDRGRIST) ;
 577|        # propagate target specific-defines
 578|        DEFINES on $(&lt;) += $(DEFINES) ;
 579|        # if source is not .c, generate .c with specific rule
 580|        switch $(&gt;:S) {                         # :Suffix
 581|            case .asm : As  $(&lt;) : $(&gt;) ;
 582|            case .c :   <A HREF="#312">Cc</A>  $(&lt;) : $(&gt;) ;
<STRIKE> 583|            case .C :   </STRIKE><A HREF="#322"><STRIKE>C++</STRIKE></A><STRIKE> $(&lt;) : $(&gt;) ;</STRIKE>
 584|            case .cc :  <A HREF="#322">C++</A> $(&lt;) : $(&gt;) ;
 585|            case .cpp : <A HREF="#322">C++</A> $(&lt;) : $(&gt;) ;
 586|            case .l :   <A HREF="#833">Cc</A>  $(&lt;) : $(&lt;:S=.c) ;  # :Suffix
 587|                        Lex $(&lt;:S=.c) : $(&gt;) ;  # :Suffix
 588|            case .s :   As  $(&lt;) : $(&gt;) ;
 589|            case .y :   <A HREF="#833">Cc</A>  $(&lt;) : $(&lt;:S=$(YACCGEN)) ;  # :Suffix
 590|                        <A HREF="#833">Yacc</A> $(&lt;:S=$(YACCGEN)) : $(&gt;) ; # :Suffix
 591|            case * :    UserObject $(&lt;) : $(&gt;) ;
 592|            }
 593|        }
 594|rule ObjectCcFlags  { CCFLAGS  on [ <A HREF="#851">FGristFiles</A> $(&lt;:S=$(SUFOBJ)) ] += $(&gt;) ; }   <A
NAME="594"></A>
 595|rule ObjectC++Flags { C++FLAGS on [ <A HREF="#851">FGristFiles</A> $(&lt;:S=$(SUFOBJ)) ] += $(&gt;) ; }   <A
NAME="595"></A>
 596|rule ObjectDefines  {   # reformat CCDEFS according to current defines                 <A NAME="596"></A>
 597|        local s = [ <A HREF="#851">FGristFiles</A> $(&lt;:S=$(SUFOBJ)) ] ;  # :Suffix
 598|        DEFINES on $(s) += $(&gt;) ;
 599|        CCDEFS on $(s) = [ on $(s) <A HREF="#930">FDefines</A> $(DEFINES) ] ;
 600|        }
 601|rule ObjectHdrs {                                                                      <A NAME="601"></A>
 602|        # Add to HDRS for HdrScan's benefit.
 603|        # must reformat CCHDRS according to headers
 604|        local s = [ <A HREF="#851">FGristFiles</A> $(&lt;:S=$(SUFOBJ)) ] ;  # :Suffix
 605|        HDRS on $(s) += $(&gt;) ;
 606|        CCHDRS on $(s) = [ on $(s) <A HREF="#931">FIncludes</A> $(HDRS) ] ;
 607|        }
 608|rule Objects {                                                                         <A NAME="608"></A>
 609|        local _i ;
 610|        for _i in [ <A HREF="#851">FGristFiles</A> $(&lt;) ] {
 611|                <A HREF="#552">Object</A> $(_i:S=$(SUFOBJ)) : $(_i) ;    # :Suffix
 612|                <FONT COLOR="#00CC00">Depends</FONT> obj : $(_i:S=$(SUFOBJ)) ;     # :Suffix
 613|                }
 614|        }
 615|rule Resource  {                                                                       <A NAME="615"></A>
 616|        local _s = [ <A HREF="#851">FGristFiles</A> $(&gt;) ] ;
 617|        local _r = $(_s:S=.res) ;
 618|        local _e = [ <A HREF="#904">FAppendSuffix</A> $(&lt;) : $(SUFEXE) ] ;
 619|        <FONT COLOR="#00CC00">Depends</FONT> $(_e) : $(_r) ;
 620|        <FONT COLOR="#00CC00">Depends</FONT> $(_r) : $(_s) ;
 621|        LOCATE    on $(_r)  = $(LOCATE_TARGET) ;
 622|        SEARCH    on $(_s)  = $(SEARCH_SOURCE) ;
 623|        NEEDLIBS  on $(_e) += $(_r) ;
 624|        HDRS      on $(_r)  = $(HDRS) $(SEARCH_SOURCE) $(SUBDIRHDRS) ;
 625|        HDRRULE   on $(_s)  = <A HREF="#354">HdrRule</A> ;
 626|        HDRSCAN   on $(_s)  = $(HDRPATTERN) ;
 627|        HDRSEARCH on $(_s)  = $(SEARCH_SOURCE) $(SUBDIRHDRS) ;
 628|        HDRGRIST  on $(_s)  = $(HDRGRIST) ;
 629|        <A HREF="#957">Rc</A> $(_r) : $(_s) ;
 630|        <A HREF="#947">Clean</A> clean : $(&lt;) ;
 631|        }
 632|rule RmTemps { Temporary $(&gt;) ; }                                                   <A NAME="632"></A>
<STRIKE> 633|rule Setuid  { MODE on [ <A HREF="#904">FAppendSuffix</A> $(&lt;) : $(SUFEXE) ] = 4711 ; }  </STRIKE>              <A
NAME="633"></A>
<STRIKE> 634|rule Shell   {                                                                         </STRIKE><A
NAME="634"></A><STRIKE>
 635|        <FONT COLOR="#00CC00">Depends</FONT> shell : $(&lt;) ;
 636|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) : $(&gt;) ;
 637|        SEARCH on $(&gt;) = $(SEARCH_SOURCE) ;
 638|        MODE   on $(&lt;) = $(SHELLMODE) ;
 639|        <A HREF="#947">Clean</A> clean : $(&lt;) ;
 640|        </STRIKE><A HREF="#329"><STRIKE>Chmod</STRIKE></A><STRIKE> $(&lt;) ;
 641|        }</STRIKE>
<STRIKE> 642|rule SoftLink {                                                                        </STRIKE><A
NAME="642"></A><STRIKE>
 643|        <FONT COLOR="#00CC00">Depends</FONT> files : $(&lt;) ;
 644|        <FONT COLOR="#00CC00">Depends</FONT> $(&lt;)  : $(&gt;) ;
 645|        SEARCH on $(&gt;) = $(SEARCH_SOURCE) ;
 646|        <A HREF="#947">Clean</A> clean : $(&lt;) ;
 647|        }</STRIKE>
 648|rule SubDir {              # SubDir TOP d1 d2 ... ;                                    <A NAME="648"></A>
 649|        # Support for a project tree spanning multiple directories.
 650|        #
 651|        # SubDir declares a Jamfile's location in a project tree, setting
 652|        # Jambase variables (SEARCH_SOURCE, LOCATE_TARGET) so that source
 653|        # files can be found.
 654|        #
 655|        # TOP is a user-select variable name for root of the tree, and
 656|        # d1 d2 ...  are the directory elements that lead from the root
 657|        # of the tree to the directory of the Jamfile.
 658|        #
 659|        # TOP can be set externally, but normally the first SubDir call
 660|        # computes TOP as the path up from the current directory; the
 661|        # path contains one ../ for each of d1 d2 ...
 662|        #
 663|        # SubDir reads once the project-specific rules file Jamrules
 664|        # in the TOP directory, if present.  This can be overridden
 665|        # with the variable TOPRULES.
 666|        #
 667|        # SubDir supports multiple, overlaid project trees:  SubDir
 668|        # invocations with different TOPs can appear in the same Jamfile.
 669|        # The location established by the first SubDir call is used set
 670|        # the TOPs for the subsequent SubDir calls.
 671|        #
 672|        # SubDir's public variables:
 673|        #
 674|        #       $(TOP) = path from CWD to root.
 675|        #       $(SUBDIR) = path from CWD to the directory SubDir names.
 676|        #       $(SUBDIR_TOKENS) = path from $(TOP) to $(SUBDIR) as dir names
 677|        #       $(SEARCH_SOURCE) = $(SUBDIR)
 678|        #       $(LOCATE_SOURCE) = $(ALL_LOCATE_TARGET) $(SUBDIR)
 679|        #       $(LOCATE_TARGET) = $(ALL_LOCATE_TARGET) $(SUBDIR)
 680|        #       $(SOURCE_GRIST) = $(SUBDIR_TOKENS) with !'s
 681|        #
 682|        local _top    = $(&lt;[1]) ;
 683|        local _tokens = $(&lt;[2-]) ;
 684|        #
 685|        # First time through sets up relative root and includes Jamrules.
 686|        #
 687|        if ! $(_top) { <FONT COLOR="#00CC00">Exit</FONT> <A HREF="#648">SubDir</A> syntax error ; }
 688|        if ! $($(_top)-SET) {
 689|            $(_top)-SET = true ;       # First time we've seen this TOP.
 690|            # We'll initialize a number of internal variables:
 691|            #
 692|            #   $(TOP-UP) = directories from ROOT to a common point
 693|            #   $(TOP-DOWN) = directories from common point to TOP
 694|            #   $(TOP-ROOT) = root directory for UP/DOWN -- normally CWD
 695|            #   $(SUBDIR_UP) = current value of $(TOP-UP)
 696|            #   $(SUBDIR_DOWN) = current value of $(TOP-DOWN)
 697|            #   $(SUBDIR_ROOT) = current value of $(TOP-ROOT)
 698|            #
 699|            if $($(_top)) {
 700|                # TOP externally set.
 701|                # We'll ignore the relative (UP/DOWN) path that
 702|                # got us here, and instead remember the hard ROOT.
 703|                $(_top)-UP = ;
 704|                $(_top)-DOWN = ;
 705|                $(_top)-ROOT = $($(_top)) ;
 706|            } else {                   # TOP not preset.
 707|                # Establishing a new TOP.  In the simplest case,
 708|                # (SUBDIR_UP/SUBDIR_DOWN/SUBDIR_ROOT unset), it's
 709|                # merely a certain number of directories down from
 710|                # the current directory, and FSubDirPath will set
 711|                # TOP to a path consisting of ../ for each of the
 712|                # elements of _tokens, because that represents how
 713|                # far below TOP the current directory sits.
 714|                #
 715|                # In the more complicated case, the starting directory
 716|                # isn't the directory of jam's invocation but an
 717|                # location established by previous SubDir call.  The
 718|                # starting directory is SUBDIR_UP directories up from
 719|                # SUBDIR_ROOT, and then SUBDIR_DOWN directories down
 720|                # from that.   If SUBDIR_ROOT is not set, that means
 721|                # SUBDIR_DOWN and SUBDIR_UP represent the path from
 722|                # the directory of jam's invocation.
 723|                #
 724|                # In the most complicated case, the _tokens also
 725|                # represents directories down, because TOP is being
 726|                # estalished in a directory other than TOP's root.
 727|                # Hopefully, _tokens and SUBDIR_DOWN represent the
 728|                # same final directory, relative to the new TOP and
 729|                # the previous SubDIr's TOP.  To find the new TOP,
 730|                # we have to chop off any common directories from
 731|                # then ends of _tokens and SUBDIR_DOWN.  To do so,
 732|                # we reverse each of them, call FStripCommon to
 733|                # remove the initial common elements, and then
 734|                # reverse them again.  After this process, if
 735|                # both _tokens and SUBDIR_DOWN have elements, it
 736|                # means the directory names estalished by the two
 737|                # SubDir calls don't match, and a warning is issued.
 738|                # All hell will likely break loose at this point,
 739|                # since the whole SubDir scheme relies on the SubDir
 740|                # calls accurately naming the current directory.
 741|                # Strip common trailing elements of _tokens and SUBDIR_DOWN.
 742|                _tokens = [ <A HREF="#868">FReverse</A> $(_tokens) ] ;
 743|                SUBDIR_DOWN = [ <A HREF="#868">FReverse</A> $(SUBDIR_DOWN) ] ;
 744|                <A HREF="#884">FStripCommon</A> _tokens : SUBDIR_DOWN ;
 745|                SUBDIR_DOWN = [ <A HREF="#868">FReverse</A> $(SUBDIR_DOWN) ] ;
 746|                _tokens = [ <A HREF="#868">FReverse</A> $(_tokens) ] ;
 747|                if $(SUBDIR_DOWN) &amp;&amp; $(_tokens) { <FONT COLOR="#00CC00">Echo</FONT> Warning: <A HREF="#648">SubDir</A> $(&lt;) misplaced! ; }
 748|                # We'll remember the relative (UP/DOWN) path that
 749|                # got us here, plus any hard ROOT starting point
 750|                # for the UP/DOWN.  If TOP is never set externally,
 751|                # ROOT will always be &quot;&quot; (directory of jam's invocation).
 752|                $(_top)-UP = $(SUBDIR_UP) $(_tokens) ;
 753|                $(_top)-DOWN = $(SUBDIR_DOWN) ;
 754|                $(_top)-ROOT = $(SUBDIR_ROOT:E=&quot;&quot;) ;                               # :E value
 755|                $(_top) = [ <A HREF="#799">FSubDirPath</A> $(_top) ] ;
 756|                }
 757|            # Set subdir vars for the inclusion of the Jamrules,
 758|            # just in case they have SubDir rules of their own.
 759|            # Note that SUBDIR_DOWN is empty: it's all the way
 760|            # up where the Jamrules live.  These gets overrided
 761|            # just after the inclusion.
 762|            SUBDIR_UP   = $($(_top)-UP) ;
 763|            SUBDIR_DOWN = ;
 764|            SUBDIR_ROOT = $($(_top)-ROOT) ;
 765|            # Include $(TOPRULES) or $(TOP)/Jamrules.
 766|            # Include $(TOPRULES) if set.
 767|            # Otherwise include $(TOP)/Jamrules if present.
 768|            if $($(_top)RULES) {
 769|                include $($(_top)RULES) ;
 770|            } else {
 771|                <FONT COLOR="#00CC00">NoCare</FONT>  $(JAMRULES:R=$($(_top)):G=$(_top)) ;   # :Root/:Grist
 772|                include $(JAMRULES:R=$($(_top)):G=$(_top)) ;   # :Root/:Grist
 773|                }
 774|           }
 775|        # Get path from $(TOP) to named directory.
 776|        # Save dir tokens for other potential uses.
 777|        SUBDIR_UP     = $($(_top)-UP) ;
 778|        SUBDIR_DOWN   = $($(_top)-DOWN) $(_tokens) ;
 779|        SUBDIR_ROOT   = $($(_top)-ROOT) ;
 780|        SUBDIR_TOKENS = $(SUBDIR_DOWN) ;
 781|        SUBDIR = [ <A HREF="#799">FSubDirPath</A> $(&lt;) ] ;
 782|        # Now set up SEARCH_SOURCE, LOCATE_TARGET, SOURCE_GRIST
 783|        # These can be reset if needed.  For example, if the source
 784|        # directory should not hold object files, LOCATE_TARGET can
 785|        # subsequently be redefined.
 786|        SEARCH_SOURCE = $(SUBDIR) ;
 787|        LOCATE_SOURCE = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
 788|        LOCATE_TARGET = $(ALL_LOCATE_TARGET) $(SUBDIR) ;
 789|        SOURCE_GRIST  = [ <A HREF="#850">FGrist</A> $(SUBDIR_TOKENS) ] ;
 790|        # Reset per-directory ccflags, hdrs, etc,
 791|        # listed in SUBDIRRESET.
 792|        # Note use of variable expanded assignment var
 793|        SUBDIR$(SUBDIRRESET) = ;
 794|        # Invoke user-specific SubDir extensions,
 795|        # rule names listed in SUBDIRRULES.
 796|        # Note use of variable expanded rule invocation
 797|        $(SUBDIRRULES) $(&lt;) ;
 798|        }
 799|rule FSubDirPath {             # FSubDirPath TOP d1 ... ;                              <A NAME="799"></A>
 800|        # Returns path to named directory.
 801|        # If jam is invoked in a subdirectory of the TOP, then we
 802|        # need to prepend a ../ for every level we must climb up
 803|        # (TOP-UP), and then append the directory names we must
 804|        # climb down (TOP-DOWN), plus the named directories d1 ...
 805|        # If TOP was set externally, or computed from another TOP
 806|        # that was, we'll have to reroot the whole thing at TOP-ROOT.
 807|        local _r = [ <A HREF="#893">FRelPath</A> $($(&lt;[1])-UP) : $($(&lt;[1])-DOWN) $(&lt;[2-]) ] ;
 808|        return $(_r:R=$($(&lt;[1])-ROOT)) ;                       # :Root
 809|        }
 810|rule SubDirCcFlags  { SUBDIRCCFLAGS  += $(&lt;) ; }                                    <A NAME="810"></A>
 811|rule SubDirC++Flags { SUBDIRC++FLAGS += $(&lt;) ; }                                    <A NAME="811"></A>
 812|rule SubDirDefines  { SUBDIRC++FLAGS += [ <A HREF="#930">FDefines</A> $(&lt;) ] ; }                       <A
NAME="812"></A>
 813|rule SubDirHdrs     { SUBDIRHDRS += [ <A HREF="#922">FDirName</A> $(&lt;) ] ; }                           <A
NAME="813"></A>
 814|rule SubInclude {                # SubInclude TOP d1 ... ;                             <A NAME="814"></A>
 815|        # Include a subdirectory's Jamfile.
 816|        # We use SubDir to get there, in case the included Jamfile
 817|        # either doesn't have its own SubDir (naughty) or is a subtree
 818|        # with its own TOP.
 819|        if ! $($(&lt;[1])) { <FONT COLOR="#00CC00">Exit</FONT> SubInclude $(&lt;[1]) without prior <A HREF="#648">SubDir</A> $(&lt;[1]) ; }
 820|        <A HREF="#648">SubDir</A>  $(&lt;) ;
 821|        include $(JAMFILE:D=$(SUBDIR)) ;                             # :Directory
 822|        }
 823|rule SubRules {                  # SubRules TOP d1 ... : Other-TOP ;                   <A NAME="823"></A>
 824|        #
 825|        # Read another tree's Jamrules, by giving it's path according
 826|        # to this tree and it's own name.
 827|        if ! $($(&lt;[1])) { <FONT COLOR="#00CC00">Exit</FONT> SubRules $(&lt;[1]) without prior <A HREF="#648">SubDir</A> $(&lt;[1]) ; }
 828|        <A HREF="#648">SubDir</A> $(&lt;) ;
 829|        <A HREF="#648">SubDir</A> $(&gt;) ;
 830|        }
 831|rule Undefines { UNDEFS on [ <A HREF="#904">FAppendSuffix</A> $(&lt;) : $(SUFEXE) ] += $(UNDEFFLAG)$(&gt;) ; }  <A
NAME="931"></A>
 832|rule UserObject { <FONT COLOR="#00CC00">Exit</FONT> &quot;Unknown suffix on&quot; $(&gt;) &quot;- see UserObject rule in Jamfile(5).&quot; ; }
 833|rule Yacc {                                                                            <A NAME="833"></A>
 834|        local _h ;
 835|        _h = $(&lt;:BS=.h) ;    # :Base/:Suffix
 836|        <A HREF="#505">MakeLocate</A> $(&lt;) $(_h) : $(LOCATE_SOURCE) ; # Some places don't have yacc.
 837|        if $(YACC) {
 838|            <FONT COLOR="#00CC00">Depends</FONT> $(&lt;) $(_h) : $(&gt;) ;
 839|            <A HREF="#968">Yacc1</A> $(&lt;) $(_h) : $(&gt;) ;
 840|            <A HREF="#969">YaccMv</A> $(&lt;) $(_h) : $(&gt;) ;
 841|            <A HREF="#947">Clean</A> clean : $(&lt;) $(_h) ;
 842|            }
 843|        # make sure someone includes $(_h) else it will be
 844|        # a deadly independent target
 845|        <FONT COLOR="#00CC00">Includes</FONT> $(&lt;) : $(_h) ;
 846|        }
 847|#
 848|# Utility rules; no side effects on these
 849|#
 850|rule FGrist      { return $(&lt;:J=!) ; }        # :Join                               <A NAME="850"></A>
 851|rule FGristFiles { return $(&lt;:G=$(SOURCE_GRIST:E)) ; }   # :Grist # :E value        <A NAME="851"></A>
 852|rule FGristSourceFiles {                                                               <A NAME="852"></A>
 853|        # Produce source file name with grist in it,
 854|        # if SOURCE_GRIST is set.
 855|        # Leave header files alone, because they have a global visibility.
 856|        if ! $(SOURCE_GRIST) { return $(&lt;) ;
 857|        } else {
 858|            local _i _o ;
 859|            for _i in $(&lt;) {
 860|                switch $(_i) {
 861|                  case *.h : _o += $(_i) ;
 862|                  case *   : _o += $(_i:G=$(SOURCE_GRIST)) ; # :Grist
 863|                  }
 864|                }
 865|            return $(_o) ;
 866|            }
 867|        }
 868|rule FReverse {               # FReverse a1 a2 a3 ... ;                                <A NAME="868"></A>
 869|        # return ... a3 a2 a1 ;
 870|        if $(1) { return [ <A HREF="#868">FReverse</A> $(1[2-]) ] $(1[1]) ; }
 871|        }
 872|rule FSubDir {                                                                         <A NAME="872"></A>
 873|        # If $(&gt;) is the path to the current directory, compute the
 874|        # path (using ../../ etc) back to that root directory.
 875|        # Sets result in $(&lt;)
 876|        if ! $(&lt;[1]) { return $(DOT) ;
 877|        } else {
 878|            local _i _d ;
 879|            _d = $(DOTDOT) ;
 880|            for _i in $(&lt;[2-]) { _d = $(_d:R=$(DOTDOT)) ; }    # :Root
 881|            return $(_d) ;
 882|            }
 883|        }
 884|rule FStripCommon {          # FStripCommon v1 : v2 ;                                  <A NAME="884"></A>
 885|        # Strip common initial elements of variables v1 and v2.
 886|        # Modifies the variable values themselves.
 887|        if $($(&lt;)[1]) &amp;&amp; $($(&lt;)[1]) = $($(&gt;)[1]) {
 888|            $(&lt;) = $($(&lt;)[2-]) ;
 889|            $(&gt;) = $($(&gt;)[2-]) ;
 890|            <A HREF="#884">FStripCommon</A> $(&lt;) : $(&gt;) ;
 891|            }
 892|        }
 893|rule FRelPath {                                                                        <A NAME="893"></A>
 894|        local _l _r ;       # first strip off common parts
 895|        _l = $(&lt;) ;
 896|        _r = $(&gt;) ;
 897|        <A HREF="#884">FStripCommon</A> _l : _r ;
 898|        _l = [ <A HREF="#872">FSubDir</A>  $(_l) ] ;   # now make path to root and path down
 899|        _r = [ <A HREF="#922">FDirName</A> $(_r) ] ;
 900|        # Concatenate and save
 901|        if $(_r) = $(DOT) { return $(_l) ;
 902|        } else            { return $(_r:R=$(_l)) ; }           # :Root
 903|        }
 904|rule FAppendSuffix {    # &quot;FAppendSuffix yacc lex foo.bat : $(SUFEXE) ;&quot;     <A NAME="904"></A>
 905|       # returns (yacc,lex,foo.bat) on Unix and
 906|       # (yacc.exe,lex.exe,foo.bat) on NT.
 907|        if $(&gt;) {
 908|            local _i _o ;
 909|            for _i in $(&lt;) {
 910|                if $(_i:S) { _o += $(_i) ;                     # :Suffix
 911|                } else     { _o += $(_i:S=$(&gt;)) ;              # :Suffix
 912|                }
 913|            }
 914|            return $(_o) ;
 915|        } else { return $(&lt;) ; }
 916|        }
 917|#
 918|# Operating system specific utility rules
 919|# First, the (generic) UNIX versions
 920|#
 921|rule FQuote    { return \\\&quot;$(&lt;)\\\&quot; ; }                                  <A NAME="921"></A>
 922|rule FDirName  {                                                                       <A NAME="922"></A>
 923|        # Turn individual elements in $(&lt;) into a usable path.
 924|        local _i ;
 925|        local _s = $(DOT) ;
 926|        for _i in $(&lt;) { _s = $(_i:R=$(_s)) ; }                # :Root
 927|        return $(_s) ;
 928|        }
 929|if $(NT) {
 930|        rule FDefines  { return /D$(&lt;) ; }                 <A NAME="930"></A>
 931|        rule FIncludes { return /I$(&lt;) ; }                 <A NAME="931"></A>
 932|} else {
 933|        rule FDefines  { return -D$(&lt;) ; }
 934|        rule FIncludes { return -I$(&lt;) ; }
 935|        }
 936|
 937|# Actions                             <A NAME="Actions"></A>
 938|# First the defaults
 939|
 940|actions updated together piecemeal <A HREF="#940">FArchive</A> { $(AR) $(&lt;) $(&gt;) }           <A NAME="940"></A>
 941|actions As       { $(AS) $(ASFLAGS) $(ASHDRS) -o $(&lt;) $(&gt;) }
 942|actions <A HREF="#322">C++</A>      { $(C++) -c -o $(&lt;) $(C++FLAGS) $(CCDEFS) $(CCHDRS) $(&gt;) }
 943|actions <A HREF="#833">Cc</A>       { $(CC)  -c -o $(&lt;) $(CCFLAGS)  $(CCDEFS) $(CCHDRS) $(&gt;) }
 944|actions Chgrp    { $(CHGRP) $(GROUP) $(&lt;) }
 945|actions Chmod1   { $(CHMOD) $(MODE) $(&lt;) }                            <A NAME="945"></A>
 946|actions Chown    { $(CHOWN) $(OWNER) $(&lt;) }
 947|actions piecemeal together existing Clean { $(RM) $(&gt;) }                <A NAME="947"></A>
 948|actions File     { $(CP) $(&gt;) $(&lt;) }
 949|actions <A HREF="#338">GenFile1</A> { $(&gt;[1]) $(&lt;) $(&gt;[2-]) }
<STRIKE> 950|actions HardLink { $(RM) $(&lt;) &amp;&amp; $(LN) $(&gt;) $(&lt;) }</STRIKE>
 951|actions Install  { $(CP) $(&gt;) $(&lt;) }
 952|actions Lex      { $(LEX) $(&gt;) }
 953|actions LexMv    { $(MV) lex.yy.c $(&lt;) }                                <A NAME="953"></A>
 954|actions <A HREF="#478">Link</A> bind NEEDLIBS { $(LINK) $(LINKFLAGS) -o $(&lt;) $(UNDEFS) $(&gt;) $(NEEDLIBS) $(LINKLIBS) }
 955|actions MkDir1   { $(MKDIR) $(&lt;) }                    <A NAME="955"></A>
 956|actions together Ranlib { $(RANLIB) $(&lt;) }
 957|actions Rc       { $(RC) $(RCFLAGS) /I$(HDRS) /I$(RCHDRS) /Fo $(&lt;) $(&gt;) }     <A NAME="957"></A>
 958|actions quietly updated piecemeal together RmTemps { $(RM) $(&gt;) }
<STRIKE> 959|actions Shell    {
 960|        $(AWK) '
 961|                NR == 1 { print &quot;$(SHELLHEADER)&quot; }
 962|                NR == 1 &amp;&amp; /^[#:]/ { next }
 963|                /^##/ { next }
 964|                { print }
 965|        ' &lt; $(&gt;) &gt; $(&lt;)
 966|        }</STRIKE>
<STRIKE> 967|actions SoftLink { $(RM) $(&lt;) &amp;&amp; $(LN) -s $(&gt;) $(&lt;) }</STRIKE>
 968|actions Yacc1    { $(YACC) $(YACCFLAGS) $(&gt;) }             <A NAME="968"></A>
 969|actions YaccMv   {                                         <A NAME="969"></A>
 970|        $(MV) $(YACCFILES).c $(&lt;[1])
 971|        $(MV) $(YACCFILES).h $(&lt;[2])
 972|        }
 973|
 974|#
 975|# UNIX specific actions
 976|#
 977|if $(UNIX) {
 978| actions <A HREF="#338">GenFile1</A> { PATH=&quot;$PATH:.&quot; $(&gt;[1]) $(&lt;) $(&gt;[2-]) }
 979| }
 980|
 981|# NT specific actions
 982|
 983|if $(MSVCDIR) {
 984|        actions updated together piecemeal <A HREF="#940">FArchive</A> {</PRE>

<PRE>
<TABLE BORDER="1" WIDTH="100%">
	<TR>
		<TD WIDTH="100%">This is very strange code.  %xxx% is Windows environment variable reference;  but Jam doesn't export variables,
			so how is this command to pick it up.  Why isn't this just a straightforward rule like:<BR>
			<FONT FACE="Courier New, Courier"> $(AR) /out:$(&lt;) $(&lt;:BE) $(&gt;)</FONT></TD>
	</TR>
</TABLE>

 985|           if exist $(&lt;) set _$(&lt;:B)_= $(&lt;) ; else set _$&lt;:B) = ;
 986|           $(AR) /out:$(&lt;) %_$(&lt;:B)_% $(&gt;)
 987|           }
 988|        actions As  { $(AS)  /Ml /p /v /w2 $(&gt;) $(&lt;) ,nul,nul; }
 989|        actions <A HREF="#833">Cc</A>  { $(CC)  /c /Fo$(&lt;) $(CCFLAGS)  $(CCDEFS) $(CCHDRS) /I$(STDHDRS) $(&gt;) }
 990|        actions <A HREF="#322">C++</A> { $(C++) /c /Fo$(&lt;) $(C++FLAGS) $(CCDEFS) $(CCHDRS) /I$(STDHDRS) /Tp$(&gt;) }
 991|        actions <A HREF="#478">Link</A> bind NEEDLIBS { $(LINK) $(LINKFLAGS) /out:$(&lt;) $(UNDEFS) $(&gt;) &quot;$(NEEDLIBS)&quot; &quot;$(LINKLIBS)&quot; }
 992|        }
 993|# Compatibility with jam 2.5
 994|rule LinkLibraries { <A HREF="#471">Libs</A> $(&lt;) ; }                                                  <A
NAME="994"></A>
 995|
 996|# Compatibility with jam 2.2.
 997|rule addDirName   { $(&lt;)   += [ <A HREF="#922">FDirName</A> $(&gt;) ] ; }                              <A
NAME="997"></A>
 998|rule  makeCommon  { <A HREF="#884">FStripCommon</A> $(&lt;) : $(&gt;) ; }                                 <A
NAME="998"></A>
 999|rule _makeCommon  { <A HREF="#884">FStripCommon</A> $(&lt;) : $(&gt;) ; }                                 <A
NAME="999"></A>
1000|rule makeDirName  { $(&lt;)    = [ <A HREF="#922">FDirName</A> $(&gt;) ] ; }                              <A
NAME="1000"></A>
1001|rule makeGrist    { $(&lt;)    = [ <A HREF="#850">FGrist</A> $(&gt;) ] ; }                                <A
NAME="1001"></A>
1002|rule makeGristedName { $(&lt;) = [ <A HREF="#852">FGristSourceFiles</A> $(&gt;) ] ; }                     <A
NAME="1002"></A>
1003|rule makeRelPath  { $(&lt;[1]) = [ <A HREF="#893">FRelPath</A> $(&lt;[2-]) : $(&gt;) ] ; }                <A
NAME="1003"></A>
1004|rule makeString   { $(&lt;)    = $(&gt;:J) ; }         # :Join                         <A NAME="1004"></A>
1005|rule makeSubDir   { $(&lt;)    = [ <A HREF="#872">FSubDir</A> $(&gt;) ] ; }                               <A
NAME="1005"></A>
1006|rule makeSuffixed { $(&lt;[1]) = [ <A HREF="#904">FAppendSuffix</A> $(&gt;) : $(&lt;[2]) ] ; }            <A
NAME="1006"></A>
1007|#
1008|# Now include the user's Jamfile.
1009|#
1010|include $(JAMFILE) ;
</PRE>
<H1><A NAME="XRef"></A>Jambase Cross Reference</H1>
<PRE>! 287 299 457 523 687 688 819 827 856 876
!= 494 523
&quot;$(LINKLIBS)&quot; 991
&quot;$(NEEDLIBS)&quot; 991
&quot;$(SHELLHEADER)&quot; 961
$($(&lt;)-mkdir) 523
$($(&lt;)[1]) 887 887
$($(&lt;)[2-]) 888
$($(&lt;[1])) 819 827
$($(&lt;[1])-DOWN) 807
$($(&lt;[1])-UP) 807
$($(&gt;)[1]) 887
$($(&gt;)[2-]) 889
$($(_top)) 699 705
$($(_top)-DOWN) 778
$($(_top)-ROOT) 764 779
$($(_top)-SET) 688
$($(_top)-UP) 762 777
$($(_top)RULES) 768 769
$(1) 870
$(1[1]) 870
$(1[2-]) 870
$(&lt;)-mkdir 527
$(&lt;:BS=.h) 835
$(&lt;:G=$(SOURCE_GRIST:E)) 851
$(&lt;:G=) 523
$(&lt;:J=!) 850
$(&lt;:P) 532
$(&lt;:S=$(SUFDLL)) 451
$(&lt;:S=$(SUFLIB)) 284 450
$(&lt;:S=$(SUFOBJ)) 594 595 597 604
$(&lt;:S=$(YACCGEN)) 589 590
$(&lt;:S=.c) 586 587
$(&lt;[1]) 682 819 819 827 827 876 970 1003 1006
$(&lt;[2-]) 683 807 880 1003
$(&lt;[2]) 971 1006
$(&gt;:G=$(HDRGRIST:E)) 363
$(&gt;:G=$(INSTALLGRIST)) 375 408 412 426 430
$(&gt;:J) 1004
$(&gt;:S) 580
$(&gt;:S=$(SUFLIB)) 475 476
$(&gt;:S=$(SUFOBJ)) 278 439 484
$(&gt;[1]) 340 949 978
$(&gt;[1]:G=dir) 513 514
$(&gt;[2-]) 341 342 949 978
$(_d:R=$(DOTDOT)) 880
$(_i:G=$(SOURCE_GRIST)) 862
$(_i:R=$(_s)) 926
$(_i:S) 910
$(_i:S=$(&gt;)) 911
$(_i:S=$(SUFOBJ)) 611 612
$(_l)($(_i:BS)) 293
$(_l)($(_s:BS)) 287 291
$(_l:D) 287
$(_lib)($(_i:BS)) 464
$(_lib)($(_s:BS)) 459 462
$(_lib:D) 457
$(_r:R=$($(&lt;[1])-ROOT)) 808
$(_r:R=$(_l)) 902
$(_s:S=.res) 617
$(_t:G=$(INSTALLGRIST)) 404
$(_tokens) 742 746 747 752 778
$(_top) 687 755 755
$(_top)-DOWN 704 753
$(_top)-ROOT 705 754
$(_top)-SET 689
$(_top)-UP 703 752
$(ALL_LOCATE_TARGET) 787 788
$(AR) 940 986
$(AS) 941 988
$(ASFLAGS) 303 941
$(ASHDRS) 941
$(AWK) 960
$(<A HREF="#322">C++</A>) 239 942 990
$(C++FLAGS) 324 942 990
$(CC) 155 171 943 989
$(CCDEFS) 942 943 989 990
$(CCFLAGS) 156 172 202 207 318 943 989
$(CCHDRS) 942 943 989 990
$(CHGRP) 395 944
$(CHMOD) 329 945
$(CHOWN) 391 946
$(CP) 948 951
$(d:R=$(&lt;)) 424
$(DEFINES) 320 326 578 599
$(DMCDIR) 168
$(DMCDIR)\\bin\\dmc.exe 169
$(DMCDIR)\\bin\\link 175
$(DMCDIR)\\Include 181
$(DMCDIR)\\lib 173
$(DMCDIR)\\lib\\kernel32.lib 177
$(DMCDIR)\\lib\\oldnames.lib 178
$(DOT) 523 876 901 925
$(DOTDOT) 879
$(EXEMODE) 404 479
$(FILEMODE) 335 408 412 426
$(GROUP) 395 397 944
$(HDRGRIST) 371 576 628
$(HDRPATTERN) 574 626
$(HDRRULE) 370
$(HDRS) 304 319 325 562 575 606 624
$(HDRSCAN) 369
$(HDRSEARCH) 365 368
$(i) 309 388 389 424
$(i:D=$(&lt;)) 309
$(i:G=$(INSTALLGRIST)) 387
$(i:S) 417
$(JAMFILE) 1010
$(JAMFILE:D=$(SUBDIR)) 821
$(JAMRULES:R=$($(_top)):G=$(_top)) 771 772
$(KEEPOBJS) 285 452
$(LEX) 952
$(LIBDIR)\\kernel32.lib 162
$(LIBDIR)\\oldnames.lib 163
$(LIBFLAGS) 441
$(LINK) 954 991
$(LINKFLAGS) 954 991
$(LINKLIBS) 954
$(LN) 950 967
$(LOCATE_SOURCE) 346 435 836
$(LOCATE_TARGET) 287 501 555 621
$(LOCATE_TARGET)] 458
$(MKDIR) 955
$(MODE) 945
$(MSVCDIR) 150 983
$(MSVCDIR)\\include 166
$(MSVCDIR)\\lib 157
$(MV) 953 970 971
$(NEEDLIBS) 954
$(NOARSCAN) 288 299
$(NOARUPDATE) 299
$(OPTIM) 318 324
$(OS) 187
$(OS)$(OSVER)$(OSPLAT) 268
$(OWNER) 391 393 946
$(RANLIB) 298 956
$(RC) 957
$(RCFLAGS) 957
$(RM) 249 947 950 958 967
$(s) 364 365 366 368 369 370 371 535 540 544 547 548 598 599 599 605 606 606
$(s:G=) 545
$(SEARCH_SOURCE) 304 334 347 352 382 556 562 622 624 627 637 645
$(SEARCH_SOURCE:E) 575
$(SHELLMODE) 430 638
$(SOURCE_GRIST) 856
$(STDHDRS) 575
$(SUBDIR) 786 787 788
$(SUBDIR_DOWN) 743 745 747 753 780
$(SUBDIR_ROOT:E=&quot;&quot;) 754
$(SUBDIR_TOKENS) 789
$(SUBDIR_UP) 752
$(SUBDIRASFLAGS) 303
$(SUBDIRC++FLAGS) 324
$(SUBDIRCCFLAGS) 318
$(SUBDIRHDRS) 304 562 575 624 627
$(SUBDIRRULES) 797
$(SUFEXE) 340 402 474 492 618 633 831
$(t) 380 381 383
$(tt) 388 389 390 392 393 396 397
$(UNDEFFLAG)$(&gt;) 831
$(UNDEFS) 954 991
$(UNIX) 186 977
$(YACC) 837 968
$(YACCFILES).c 970
$(YACCFILES).h 971
$(YACCFLAGS) 968
%_$(&lt;:B)_% 986
&amp;&amp; 391 395 523 747 887 950 962 967
*:\\ 537
+= 303 318 324 328 330 441 470 476 482 578 594 595 598 605 623 810 811 812 813 831 861 862 910 911 997
-c 942 943
-d 214
-D$(&lt;) 933
-f 228 245 248
-I$(&lt;) 934
-O 209
-o 941 942 943 954
-s 967
.c 212 582
.C 583
.cc 584
.cpp 585
.l 420 586
.man 421
.so 259 260
/I$(HDRS) 957
/I$(RCHDRS) 957
/I$(STDHDRS) 989 990
/Ml 988
/nologo 153 159 175
/opt/SUNWspro/bin/cc 195
/opt/SUNWspro/bin/CC 196
/out:$(&lt;) 986 991
/p 988
/Tp$(&gt;) 990
/usr/include 255
/usr/local/bin 223
/usr/local/lib 238
/usr/local/man 243
/v 988
/w2 988
4711 633
644 232
755 231 253
&lt; 965
== 961 962
&gt; 965
\\ 143
\\\&quot;$(&lt;)\\\&quot; 921
_&quot; 167 262
_$(&lt;:B)_= 985
_$&lt;:B) 985
_lib 448 450
_makeCommon 999
_tokens 683 742 744 746
addDirName 997
AIX 188
all 270 271 272
<FONT COLOR="#00CC00">Always</FONT> 273
AR 151 198 219
Archive 277
ArchiveFromObjects 278 281
AS 152 220
As 301 581 588 941 988
ASFLAGS 221 257 303
ASHDRS 304
AWK 222
bind 954 991
BINDIR 223
Bulk 306
<A HREF="#322">C++</A> 155 171 190 196 224 322 583 584 585 942 990
C++FLAGS 156 172 202 225 257 324 328 595
C++Flags 328
case 188 192 194 418 418 418 419 419 419 420 420 420 421 421 536 537 581 582 583 584 585 586 588 589 591 861 862
CC 153 169 189 195 226
cc 224 226
<A HREF="#833">Cc</A> 312 582 586 589 943 989
CCDEFS 320 326 599
CCFLAGS 154 170 201 227 257 318 594
CCHDRS 319 325 606
Chgrp 396 944
<A HREF="#329">Chmod</A> 329 336 390 480 640
<A HREF="#945">Chmod1</A> 329 945
CHOWN 205
Chown 392 946
clean 272 273 296 343 436 502 554 630 639 646 841
<A HREF="#947">Clean</A> 296 343 381 436 502 554 630 639 646 841 947
CP 140 228
Defines 330
DEFINES 330 578 598
<FONT COLOR="#00CC00">Depends</FONT> 270 271 285 286 289 291 293 302 313 323 332 333 341 350 351 380 388 434 452 453 461 462 464 475 495 499 500 513 528 547 612 619 620 635 636 643 644 838
dirs 272 528
DOT 229
DOTDOT 230
else 168 183 186 286 290 453 545 706 770 857 877 902 911 915 932 985
exe 270 271 272 499
EXEMODE 231
exist 985
existing 947
<FONT COLOR="#00CC00">Exit</FONT> 687 819 827 832
<A HREF="#904">FAppendSuffix</A> 340 402 474 492 618 633 831 904 1006
<A HREF="#940">FArchive</A> 297 940 984
<A HREF="#930">FDefines</A> 320 326 599 812 930 933
<A HREF="#922">FDirName</A> 458 813 899 922 997 1000
<A HREF="#850">FGrist</A> 789 850 1001
<A HREF="#851">FGristFiles</A> 283 449 491 594 595 597 604 610 616 851
<A HREF="#852">FGristSourceFiles</A> 339 852 1002
<A HREF="#331">File</A> 309 331 948
FILEMODE 232
files 270 271 272 332 350 643
<A HREF="#931">FIncludes</A> 304 319 325 606 931 934
first 271 272
for 292 308 386 416 463 610 859 880 909 926
FQuote 921
<A HREF="#893">FRelPath</A> 807 893 1003
<A HREF="#868">FReverse</A> 742 743 745 746 868 870
<A HREF="#884">FStripCommon</A> 744 884 890 897 998 999
<A HREF="#872">FSubDir</A> 872 898 1005
<A HREF="#799">FSubDirPath</A> 755 781 799
GenFile 338
<A HREF="#338">GenFile1</A> 342 345 949 978
GROUP 397
<STRIKE>HardLink 349 950</STRIKE>
HDRGRIST 371 576 628
HDRPATTERN 267
<A HREF="#354">HdrRule</A> 354 573 625
HDRRULE 370 573 625
HDRS 233 257 562 605 624
HDRSCAN 369 574 626
HDRSEARCH 368 575 627
HPUX 192
in 292 308 386 416 463 610 832 859 880 909 926
include 769 772 821 1010
<FONT COLOR="#00CC00">Includes</FONT> 364 845
<STRIKE>install 380
Install 389 951
InstallBin 401
installed 234
InstallFile 406
INSTALLGRIST 234
InstallInto 373 403 407 411 424 429
InstallLib 410
InstallMan 414
InstallShell 428</STRIKE>
JAMFILE 235
Jamfile 235
Jamfile(5).&quot; 832
JAMRULES 236
Jamrules 236
LEX 206 237
Lex 432 587 952
lex.yy.c 953
LexMv 433 953
lib 151 270 271 272 286 453
LIBDIR 157 173 238
LIBFLAGS 158 174 191 470
LibFlags 470
Library 438
<A HREF="#447">LibraryFromObjects</A> 439 447
<A HREF="#471">Libs</A> 471 994
link 159
LINK 159 175 239
<A HREF="#478">Link</A> 467 478 503 954 991
LINKFLAGS 160 176 207 240 441 482
LinkFlags 482
LinkLibraries 994
LINKLIBS 161 177 208 241
LN 242
ln 242
LOCATE 512 621
LOCATE_SOURCE 787
LOCATE_TARGET 788
Main 483
MainFromObjects 484 487
makeCommon 998
makeDirName 1000
makeGrist 1001
makeGristedName 1002
MakeLocate 287 346 383 435 459 501 505 555 836
makeRelPath 1003
makeString 1004
makeSubDir 1005
makeSuffixed 1006
man$(s) 423
MANDIR 243
MKDIR 244
mkdir 244
<A HREF="#517">MkDir</A> 514 517 548
<A HREF="#955">MkDir1</A> 529 955
MODE 335 404 408 412 426 430 479 633 638
NEEDLIBS 476 623 954 991
<FONT COLOR="#00CC00">NoCare</FONT> 366 771
<FONT COLOR="#00CC00">NotFile</FONT> 272 496 544
<FONT COLOR="#00CC00">NoUpdate</FONT> 521
NR 961 962
obj 270 271 272 285 452 612
<A HREF="#552">Object</A> 552 611
ObjectC++Flags 595
ObjectCcFlags 594
ObjectDefines 596
ObjectHdrs 601
<A HREF="#608">Objects</A> 279 440 485 608
on 303 304 318 319 319 320 320 324 325 325 326 326 334 335 347 352 365 368 369 370 371 382 393 397 404 408 412 426 430 476 479 512 556 562 573 574 575 576 578 594 595 598 599 599 605 606 606 621 622 623 624 625 626 627 628 633 637 638 645 831
OPTIM 164 179 209 246
OSFULL 268
OWNER 393
PATH=&quot;$PATH:.&quot; 978
piecemeal 940 947 958 984
print 961 964
prior 819 827
quietly 958
RANLIB 193 197 210
Ranlib 298 956
RC 165 180
<A HREF="#957">Rc</A> 629 957
RCP 247
Resource 615
return 808 850 851 856 865 870 876 881 901 902 914 915 921 927 930 931 933 934
RM 141 248
RMDIR 142 249
RmTemps 299 632 958
RSH 250
SEARCH 334 347 352 365 382 556 622 637 645
SEARCH_SOURCE 786
SED 251
set 985 985
Setuid 633
shell 270 271 272 635
Shell 634 959
SHELLHEADER 252
SHELLMODE 253
SLASH 143 254
<STRIKE>SoftLink 642 967</STRIKE>
SOLARIS 194
SOURCE_GRIST 789
STDHDRS 166 181 255
<A HREF="#648">SubDir</A> 648 687 819 820 827 828 829
SUBDIR 781
SUBDIR$(SUBDIRRESET) 793
SUBDIR_DOWN 743 744 745 763 778
SUBDIR_ROOT 764 779
SUBDIR_TOKENS 780
SUBDIR_UP 762 777
SubDirC++Flags 811
SUBDIRC++FLAGS 811 812
SubDirCcFlags 810
SUBDIRCCFLAGS 810
SubDirDefines 812
<A HREF="#813">SubDirHdrs</A> 813
SUBDIRHDRS 813
SUBDIRRESET 257
SUBDIRRULES 256
SubInclude 814 819
SubRules 823 827
SUFDLL 144 259
SUFEXE 147 258
suffix 832
SUFILK 149
SUFLIB 145 260
SUFOBJ 146 261
SUFPDB 148
switch 187 417 535 580 860
Temporary 632
together 940 947 956 958 984
true 527 689
UNDEFFLAG 167 182 262
Undefines 831
UNDEFS 831
uninstall 272 273 381
updated 940 958 984
UserObject 591 832 832
without 819 827
y.tab 213
YACC 211 263
<A HREF="#833">Yacc</A> 590 833
<A HREF="#968">Yacc1</A> 839 968
YACCFILES 213 265
YACCFLAGS 214 266
YACCGEN 212 264
<A HREF="#969">YaccMv</A> 840 969

</PRE>
<H1><A NAME="Trace"></A>Jam -an -d+5 # Variable Trace</H1>
<PRE>   1|&gt;&gt; set JAMBASEDATE  = 2004.06.16
   2|&gt;&gt; set AR  ?= lib
   3|&gt;&gt; set AS  ?= masm386
   4|&gt;&gt; set CC  ?= cl /nologo
   5|&gt;&gt; set LIBDIR  ?= c:\VStudio\VC98\lib
   6|&gt;&gt; set LINK  ?= link /nologo
   7|&gt;&gt; set LINKLIBS  ?= c:\VStudio\VC98\lib\kernel32.lib c:\VStudio\VC98\lib\oldnames.lib
   8|&gt;&gt; set STDHDRS  ?= c:\VStudio\VC98\Include
   9|&gt;&gt; set UNDEFFLAG  ?= /u _
  10|---- Where did these come from? ----
  11|&gt;&gt; set AR  ?= ar ru
  12|&gt;&gt; set AS  ?= as
  13|
  14|&gt;&gt; set INSTALLGRIST  ?= installed
  15|&gt;&gt; set JAMFILE  ?= Jamfile
  16|&gt;&gt; set JAMRULES  ?= Jamrules
  17|
<B>  18|&gt;&gt; set SUBDIRRESET  ?= ASFLAGS HDRS C++FLAGS CCFLAGS</B></PRE>

<PRE>
<TABLE BORDER="1" WIDTH="100%">
	<TR>
		<TD WIDTH="100%"><B><FONT FACE="Courier New, Courier">DEFINES</FONT></B> needs to be added to the list of per-directory flags to
			reset.  How about:<BR>
			<B><FONT FACE="Courier New, Courier">LIBFLAGS<BR>
			LINKFLAGS</FONT></B></TD>
	</TR>
</TABLE>

  19|
  20|&gt;&gt; set HDRPATTERN  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
  21|</PRE>

<PRE>
<TABLE BORDER="1" WIDTH="100%">
	<TR>
		<TD WIDTH="100%">Following is a list of pseudo-targets ... not files.</TD>
	</TR>
</TABLE>

  22|&gt;&gt; Depends all  : shell files lib exe obj
  23|&gt;&gt; Depends all shell files lib exe obj  : first
  24|&gt;&gt; NotFile all first shell files lib exe obj dirs clean uninstall
  25|&gt;&gt; Always clean uninstall
  26|
  27|&gt;&gt; rule <A HREF="#277">Archive</A>
  28|...
  29|&gt;&gt; <FONT COLOR="red">include Jamfile</FONT>
  30|&gt;&gt; <A HREF="#648">SubDir</A> TOP
  31|&gt;&gt;&gt;&gt; local _top  = TOP
  32|
  33|&gt;&gt;&gt;&gt; set TOP  = .
  34|&gt;&gt;&gt;&gt; set SUBDIR_UP  =
  35|&gt;&gt;&gt;&gt; set SUBDIR_DOWN  =
  36|&gt;&gt;&gt;&gt; set SUBDIR_ROOT  =
  37|&gt;&gt;&gt;&gt; NoCare &lt;.TOP&gt;.Jamrules
  38|&gt;&gt;&gt;&gt; include &lt;.TOP&gt;.Jamrules
  39|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . Include
  40|
  41|&gt;&gt;&gt;&gt; set HDRS  += Include
  42|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Include
  43|
  44|&gt;&gt;&gt;&gt; set HDRS  += thirdparty\NTWorkshop\Include
  45|
  46|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Include NT50
  47|&gt;&gt;&gt;&gt; set HDRS  += thirdparty\NTWorkshop\Include\NT50
  48|
  49|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Lib
  50|&gt;&gt;&gt;&gt; set LIBDIR  += thirdparty\NTWorkshop\Lib
  51|
  52|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Lib NT50
  53|&gt;&gt;&gt;&gt; set LIBDIR  += thirdparty\NTWorkshop\Lib\NT50
  54|
  55|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . thirdparty Lib
  56|&gt;&gt;&gt;&gt; set LIBDIR  += thirdparty\Lib
  57|
  58|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . thirdparty Lib Win32
  59|&gt;&gt;&gt;&gt; set LIBDIR  += thirdparty\Lib\Win32
  60|
  61|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . build
  62|&gt;&gt;&gt;&gt; set ALL_LOCATE_TARGET  = build
  63|&gt;&gt;&gt;&gt; set DEFINES  += WIN32 _WINDOWS _MBCS
  64|&gt;&gt;&gt;&gt; set C++FLAGS  = /W3 /GX /GR /X
  65|&gt;&gt;&gt;&gt; set LINKFLAGS  = /subsystem:windows /dll
  66|
  67|&gt;&gt;&gt;&gt; switch
  68|
  69|&gt;&gt;&gt;&gt; set SUBDIR  = .
  70|&gt;&gt;&gt;&gt; set SEARCH_SOURCE  = .
  71|&gt;&gt;&gt;&gt; set LOCATE_SOURCE  = build .
  72|&gt;&gt;&gt;&gt; set LOCATE_TARGET  = build .
  73|
  74|&gt;&gt;&gt;&gt; <A HREF="#850">FGrist</A>
  75|&gt;&gt;&gt;&gt; set SOURCE_GRIST  =
  76|&gt;&gt;&gt;&gt; set SUBDIR<FONT COLOR="red">ASFLAGS</FONT> SUBDIR<FONT COLOR="red">HDRS</FONT> SUBDIR<FONT
COLOR="red">C++FLAGS</FONT> SUBDIR<FONT COLOR="red">CCFLAGS</FONT>  =
  77|
  78|&gt;&gt; <A HREF="#814">SubInclude</A> TOP mallocheap
  79|
  80|&gt;&gt;&gt;&gt; <A HREF="#648">SubDir</A> TOP mallocheap
  81|&gt;&gt;&gt;&gt;|&gt; local _top  = TOP
  82|&gt;&gt;&gt;&gt;|&gt; local _tokens  = mallocheap
  83|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_UP  =
  84|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_DOWN  = mallocheap
  85|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_ROOT  =
  86|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_TOKENS  = mallocheap
  87|
  88|&gt;&gt;&gt;&gt;|&gt; <A HREF="#799">FSubDirPath</A> TOP mallocheap       <SPAN STYLE="Position : Relative ; Left : 0px ; Top : 0px ; Width : 150px ; Height : 18px">
	<P><FONT FACE="Courier New, Courier">FSubdirDefines</FONT>
</SPAN>
  89|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#893">FRelPath</A>  : mallocheap
  90|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#844">FStripCommon</A> _l  : _r
  91|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#922">FDirName</A> mallocheap
  92|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; local _r  = mallocheap
  93|
  94|&gt;&gt;&gt;&gt;|&gt; set SUBDIR  = mallocheap
  95|&gt;&gt;&gt;&gt;|&gt; set SEARCH_SOURCE  = mallocheap
  96|&gt;&gt;&gt;&gt;|&gt; set LOCATE_SOURCE  = build mallocheap
  97|&gt;&gt;&gt;&gt;|&gt; set LOCATE_TARGET  = <FONT COLOR="red">build mallocheap</FONT>
  98|
  99|&gt;&gt;&gt;&gt;|&gt; <A HREF="#850">FGrist</A> mallocheap
 100|&gt;&gt;&gt;&gt;|&gt; set <FONT COLOR="red">SOURCE_GRIST  = mallocheap</FONT>
 101|&gt;&gt;&gt;&gt;|&gt; set SUBDIR<FONT COLOR="red">ASFLAGS</FONT> SUBDIR<FONT COLOR="red">HDRS</FONT> SUBDIR<FONT
COLOR="red">C++FLAGS</FONT> SUBDIR<FONT COLOR="red">CCFLAGS</FONT>  =
 102|
 103|&gt;&gt;&gt;&gt; <B><FONT COLOR="red">include mallocheap\Jamfile</FONT></B>
 104|
 105|&gt;&gt;&gt;&gt; <A HREF="#648">SubDir</A> TOP mallocheap
 106|&gt;&gt;&gt;&gt;|&gt; local _top  = TOP
 107|&gt;&gt;&gt;&gt;|&gt; local _tokens  = mallocheap
 108|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_UP  =
 109|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_DOWN  = mallocheap
 110|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_ROOT  =
 111|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_TOKENS  = mallocheap
 112|
 113|&gt;&gt;&gt;&gt;|&gt; <A HREF="#799">FSubDirPath</A> TOP mallocheap
 114|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#893">FRelPath</A>  : mallocheap
 115|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#922">FDirName</A> mallocheap
 116|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; local _r  = mallocheap
 117|&gt;&gt;&gt;&gt;|&gt; set SUBDIR  = mallocheap
 118|&gt;&gt;&gt;&gt;|&gt; set SEARCH_SOURCE  = mallocheap
 119|&gt;&gt;&gt;&gt;|&gt; set LOCATE_SOURCE  = build mallocheap
 120|&gt;&gt;&gt;&gt;|&gt; set LOCATE_TARGET  = build mallocheap
 121|
 122|&gt;&gt;&gt;&gt;|&gt; <A HREF="#850">FGrist</A> mallocheap
 123|&gt;&gt;&gt;&gt;|&gt; set SOURCE_GRIST  = mallocheap
 124|&gt;&gt;&gt;&gt;|&gt; set SUBDIRASFLAGS SUBDIRHDRS SUBDIRC++FLAGS SUBDIRCCFLAGS  =
 125|
 126|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . mallocheap Include
 127|&gt;&gt;&gt;&gt; set HDRS  += mallocheap\Include
 128|
 129|&gt;&gt;&gt;&gt; SubDirDefines SUMH_DLL_EXPORT
 130|&gt;&gt;&gt;&gt;|&gt; <A HREF="#930">FDefines</A> SUMH_DLL_EXPORT
 131|&gt;&gt;&gt;&gt;|&gt; set C++FLAGS  += /DSUMH_DLL_EXPORT
 132|</PRE>

<PRE>
<TABLE BORDER="1" WIDTH="100%">
	<TR>
		<TD WIDTH="100%">Notice that Src has been gristed into the target object.  We don't want that ... actually, we don't want Src either.
			 It's legacy msdev gorp.</TD>
	</TR>
</TABLE>

 133|&gt;&gt;&gt;&gt; <A HREF="#438">Library</A> nqsmallocheap  : <FONT COLOR="red">Src/SUMHHeap.cpp</FONT>
 134|
 135|&gt;&gt;&gt;&gt;|&gt; <A HREF="#447">LibraryFromObjects</A> nqsmallocheap  : <FONT COLOR="red">Src\SUMHHeap.obj</FONT>   
 136|
 137|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#851">FGristFiles</A> Src\SUMHHeap.obj
 138|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _s  = <FONT COLOR="red">&lt;.mallocheap&gt;.Src\SUMHHeap.obj</FONT>
 139|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _lib  = nqsmallocheap.lib
 140|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _dll  = nqsmallocheap.dll</PRE>

<PRE>
<TABLE BORDER="1" WIDTH="100%">
	<TR>
		<TD WIDTH="100%">One of those ( _lib, _dll ) is probably unnecessary.  We can coerce the suffix appropriate to the specific library
			type.</TD>
	</TR>
</TABLE>

 141|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends lib  : nqsmallocheap.lib
 142|
 143|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#922">FDirName</A> build mallocheap
 144|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set _s  = build\mallocheap
 145|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _i  = build\mallocheap
 146|
 147|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#505">MakeLocate</A> nqsmallocheap.lib nqsmallocheap.lib(SUMHHeap.obj)  : build\mallocheap
 148|
 149|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set LOCATE on nqsmallocheap.lib nqsmallocheap.lib(SUMHHeap.obj)  = build\mallocheap
 150|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| Depends nqsmallocheap.lib nqsmallocheap.lib(SUMHHeap.obj)  : &lt;.dir&gt;.build\mallocheap
 151|
 152|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#517">MkDir</A> &lt;.dir&gt;.build\mallocheap
 153|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; NoUpdate &lt;.dir&gt;.build\mallocheap
 154|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set &lt;.dir&gt;.build\mallocheap-mkdir  = true
 155|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends dirs  : &lt;.dir&gt;.build\mallocheap
 156|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#955">MkDir1</A> &lt;.dir&gt;.build\mallocheap
 157|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; local s  = &lt;.dir&gt;.build
 158|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; switch &lt;.dir&gt;.build
 159|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends &lt;.dir&gt;.build\mallocheap  : &lt;.dir&gt;.build
 160|
 161|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build
 162|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; NoUpdate &lt;.dir&gt;.build
 163|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; set &lt;.dir&gt;.build-mkdir  = true
 164|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; Depends dirs  : &lt;.dir&gt;.build
 165|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; <A HREF="#955">MkDir1</A> &lt;.dir&gt;.build
 166|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; local s  = &lt;.dir&gt;.
 167|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; switch &lt;.dir&gt;.
 168|
 169|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmallocheap.lib  : &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 170|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmallocheap.lib  : nqsmallocheap.lib(SUMHHeap.obj)
 171|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmallocheap.lib(SUMHHeap.obj)  : &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 172|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#478">Link</A> nqsmallocheap.lib  : &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 173|
 174|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set MODE on nqsmallocheap.lib  = 755
 175|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#329">Chmod</A> nqsmallocheap.lib
 176|
 177|&gt;&gt;&gt;&gt;|&gt; <A HREF="#608">Objects</A> Src/SUMHHeap.cpp
 178|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#851">FGristFiles</A> Src/SUMHHeap.cpp
 179|
 180|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#552">Object</A> &lt;.mallocheap&gt;.Src\SUMHHeap.obj  : &lt;.mallocheap&gt;.Src\SUMHHeap.cpp
 181|
 182|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#947">Clean</A> clean  : &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 183|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#505">MakeLocate</A> &lt;.mallocheap&gt;.Src\SUMHHeap.obj  : build mallocheap
 184|
 185|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set LOCATE on &lt;.mallocheap&gt;.Src\SUMHHeap.obj  = build mallocheap
 186|
 187|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends &lt;.mallocheap&gt;.Src\SUMHHeap.obj  : &lt;.dir&gt;.build
 188|
 189|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build
 190|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; NoUpdate &lt;.dir&gt;.build
 191|
 192|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set SEARCH on &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  = mallocheap
 193|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRS on &lt;.mallocheap&gt;.Src\SUMHHeap.obj  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include
 194|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRRULE on &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  = <A HREF="#354">HdrRule</A>
 195|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRSCAN on &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 196|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRSEARCH on &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 197|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRGRIST on &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  =
 198|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set DEFINES on &lt;.mallocheap&gt;.Src\SUMHHeap.obj  += WIN32 _WINDOWS _MBCS
 199|
 200|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| switch .cpp
 201|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#322">C++</A> &lt;.mallocheap&gt;.Src\SUMHHeap.obj  : &lt;.mallocheap&gt;.Src\SUMHHeap.cpp
 202|
 203|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends &lt;.mallocheap&gt;.Src\SUMHHeap.obj  : &lt;.mallocheap&gt;.Src\SUMHHeap.cpp
 204|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set C++FLAGS on &lt;.mallocheap&gt;.Src\SUMHHeap.obj  += /W3 /GX /GR /X /DSUMH_DLL_EXPORT
 205|
 206|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; on &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 207|
 208|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#931">FIncludes</A> mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include
 209|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set CCHDRS on &lt;.mallocheap&gt;.Src\SUMHHeap.obj  = /Imallocheap /IInclude /Ithirdparty\NTWorkshop\Include /Ithirdparty\NTWorkshop\Include\NT50 /Imallocheap\Include
 210|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; on &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 211|
 212|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#930">FDefines</A> WIN32 _WINDOWS _MBCS
 213|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set CCDEFS on &lt;.mallocheap&gt;.Src\SUMHHeap.obj  = /DWIN32 /D_WINDOWS /D_MBCS
 214|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends obj  : &lt;.mallocheap&gt;.Src\SUMHHeap.obj
 215|&gt;&gt;&gt;&gt;|&gt; set LINKFLAGS  +=
 216|
 217|&gt;&gt; <A HREF="#814">SubInclude</A> TOP Utility Generic MultiHeap
 218|&gt;&gt;&gt;&gt; <A HREF="#648">SubDir</A> TOP Utility Generic MultiHeap
 219|&gt;&gt;&gt;&gt;|&gt; local _top  = TOP
 220|&gt;&gt;&gt;&gt;|&gt; local _tokens  = Utility Generic MultiHeap
 221|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_UP  =
 222|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_DOWN  = Utility Generic MultiHeap
 223|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_ROOT  =
 224|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_TOKENS  = Utility Generic MultiHeap
 225|&gt;&gt;&gt;&gt;|&gt; <A HREF="#799">FSubDirPath</A> TOP Utility Generic MultiHeap
 226|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#893">FRelPath</A>  : Utility Generic MultiHeap
 227|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set _r  = Utility Generic MultiHeap
 228|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#844">FStripCommon</A> _l  : _r
 229|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#872">FSubDir</A>
 230|
 231|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#922">FDirName</A> Utility Generic MultiHeap
 232|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; local _r  = Utility\Generic\MultiHeap
 233|
 234|&gt;&gt;&gt;&gt;|&gt; set SUBDIR  = Utility\Generic\MultiHeap
 235|&gt;&gt;&gt;&gt;|&gt; set SEARCH_SOURCE  = Utility\Generic\MultiHeap
 236|&gt;&gt;&gt;&gt;|&gt; set LOCATE_SOURCE  = build Utility\Generic\MultiHeap
 237|&gt;&gt;&gt;&gt;|&gt; set LOCATE_TARGET  = build Utility\Generic\MultiHeap
 238|&gt;&gt;&gt;&gt;|&gt; <A HREF="#850">FGrist</A> Utility Generic MultiHeap
 239|&gt;&gt;&gt;&gt;|&gt; set SOURCE_GRIST  = Utility!Generic!MultiHeap
 240|&gt;&gt;&gt;&gt;|&gt; set SUBDIRASFLAGS SUBDIRHDRS SUBDIRC++FLAGS SUBDIRCCFLAGS  =
 241|
 242|&gt;&gt;&gt;&gt; include Utility\Generic\MultiHeap\Jamfile
 243|&gt;&gt;&gt;&gt; <A HREF="#648">SubDir</A> . Utility Generic MultiHeap
 244|&gt;&gt;&gt;&gt;|&gt; local _tokens  = Utility Generic MultiHeap
 245|&gt;&gt;&gt;&gt;|&gt; set .-SET  = true
 246|&gt;&gt;&gt;&gt;|&gt; <A HREF="#868">FReverse</A> Utility Generic MultiHeap
 247|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#868">FReverse</A> Generic MultiHeap
 248|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#868">FReverse</A> MultiHeap
 249|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#868">FReverse</A>
 250|
 251|
 252|&gt;&gt;&gt;&gt;|&gt; <A HREF="#868">FReverse</A> Utility Generic MultiHeap
 253|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#868">FReverse</A> Generic MultiHeap
 254|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#868">FReverse</A> MultiHeap
 255|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#868">FReverse</A>
 256|
 257|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_DOWN  = MultiHeap Generic Utility
 258|&gt;&gt;&gt;&gt;|&gt; <A HREF="#844">FStripCommon</A> _tokens  : SUBDIR_DOWN
 259|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set SUBDIR_DOWN  = Generic Utility
 260|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#844">FStripCommon</A> _tokens  : SUBDIR_DOWN
 261|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set SUBDIR_DOWN  = Utility
 262|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#844">FStripCommon</A> _tokens  : SUBDIR_DOWN
 263|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set SUBDIR_DOWN  =
 264|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#844">FStripCommon</A> _tokens  : SUBDIR_DOWN
 265|
 266|&gt;&gt;&gt;&gt;|&gt; <A HREF="#868">FReverse</A>
 267|&gt;&gt;&gt;&gt;|&gt; set SUBDIR_DOWN  =
 268|&gt;&gt;&gt;&gt;|&gt; <A HREF="#868">FReverse</A>
 269|
 270|&gt;&gt;&gt;&gt;|&gt; NoCare &lt;..&gt;.Jamrules
 271|&gt;&gt;&gt;&gt;|&gt; include &lt;..&gt;.Jamrules
 272|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . Include
 273|
 274|&gt;&gt;&gt;&gt;|&gt; set HDRS  += Include
 275|
 276|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Include
 277|&gt;&gt;&gt;&gt;|&gt; set HDRS  += thirdparty\NTWorkshop\Include
 278|
 279|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Include NT50
 280|&gt;&gt;&gt;&gt;|&gt; set HDRS  += thirdparty\NTWorkshop\Include\NT50
 281|
 282|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Lib
 283|&gt;&gt;&gt;&gt;|&gt; set LIBDIR  += thirdparty\NTWorkshop\Lib
 284|
 285|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . thirdparty NTWorkshop Lib NT50
 286|&gt;&gt;&gt;&gt;|&gt; set LIBDIR  += thirdparty\NTWorkshop\Lib\NT50
 287|
 288|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . thirdparty Lib
 289|&gt;&gt;&gt;&gt;|&gt; set LIBDIR  += thirdparty\Lib
 290|
 291|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . thirdparty Lib Win32
 292|&gt;&gt;&gt;&gt;|&gt; set LIBDIR  += thirdparty\Lib\Win32
 293|
 294|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . build
 295|&gt;&gt;&gt;&gt;|&gt; set ALL_LOCATE_TARGET  = build
 296|&gt;&gt;&gt;&gt;|&gt; set DEFINES  += WIN32 _WINDOWS _MBCS
 297|&gt;&gt;&gt;&gt;|&gt; set C++FLAGS  = /W3 /GX /GR /X
 298|&gt;&gt;&gt;&gt;|&gt; set LINKFLAGS  = /subsystem:windows /dll
 299|
 300|&gt;&gt;&gt;&gt;|&gt; <A HREF="#799">FSubDirPath</A> . Utility Generic MultiHeap
 301|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#893">FRelPath</A>  : Utility Generic MultiHeap
 302|
 303|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#922">FDirName</A> Utility Generic MultiHeap
 304|
 305|&gt;&gt;&gt;&gt;|&gt; set SUBDIR  = Utility\Generic\MultiHeap
 306|&gt;&gt;&gt;&gt;|&gt; set SEARCH_SOURCE  = Utility\Generic\MultiHeap
 307|&gt;&gt;&gt;&gt;|&gt; set LOCATE_SOURCE  = build Utility\Generic\MultiHeap
 308|&gt;&gt;&gt;&gt;|&gt; set LOCATE_TARGET  = build Utility\Generic\MultiHeap
 309|
 310|&gt;&gt;&gt;&gt;|&gt; <A HREF="#850">FGrist</A>
 311|&gt;&gt;&gt;&gt;|&gt; set SOURCE_GRIST  =
 312|&gt;&gt;&gt;&gt;|&gt; set SUBDIRASFLAGS SUBDIRHDRS SUBDIRC++FLAGS SUBDIRCCFLAGS  =
 313|
 314|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . Utility Generic MultiHeap Include
 315|&gt;&gt;&gt;&gt; set HDRS  += Utility\Generic\MultiHeap\Include
 316|
 317|&gt;&gt;&gt;&gt; <A HREF="#813">SubDirHdrs</A> . Utility Generic MultiHeap PrivateInclude
 318|&gt;&gt;&gt;&gt;|&gt; <A HREF="#922">FDirName</A> . Utility Generic MultiHeap PrivateInclude
 319|&gt;&gt;&gt;&gt;|&gt; set SUBDIRHDRS  += Utility\Generic\MultiHeap\PrivateInclude
 320|
 321|&gt;&gt;&gt;&gt; SubDirDefines SUMPH_DLL_EXPORT
 322|&gt;&gt;&gt;&gt;|&gt; <A HREF="#930">FDefines</A> SUMPH_DLL_EXPORT
 323|&gt;&gt;&gt;&gt;|&gt; set C++FLAGS  += /DSUMPH_DLL_EXPORT
 324|
 325|&gt;&gt;&gt;&gt; <A HREF="#922">FDirName</A> . build mallocheap
 326|&gt;&gt;&gt;&gt; set LIBDIR  += build\mallocheap
 327|&gt;&gt;&gt;&gt; <A HREF="#438">Library</A> nqsmultiheap  : Src/Mpheap.cpp Src/SUMPHHeap.cpp
 328|&gt;&gt;&gt;&gt;|&gt; <A HREF="#447">LibraryFromObjects</A> nqsmultiheap  : Src\Mpheap.obj Src\SUMPHHeap.obj
 329|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#851">FGristFiles</A> Src\Mpheap.obj Src\SUMPHHeap.obj
 330|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _s  = Src\Mpheap.obj Src\SUMPHHeap.obj
 331|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _lib  = nqsmultiheap.lib
 332|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; set _dll  = nqsmultiheap.dll
 333|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends lib  : nqsmultiheap.lib
 334|
 335|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#922">FDirName</A> build Utility\Generic\MultiHeap
 336|
 337|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#505">MakeLocate</A> nqsmultiheap.lib nqsmultiheap.lib(Mpheap.obj) nqsmultiheap.lib(SUMPHHeap.obj)  : build\Utility\Generic\MultiHeap
 338|
 339|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set LOCATE on nqsmultiheap.lib nqsmultiheap.lib(Mpheap.obj) nqsmultiheap.lib(SUMPHHeap.obj)  = build\Utility\Generic\MultiHeap
 340|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| Depends nqsmultiheap.lib nqsmultiheap.lib(Mpheap.obj) nqsmultiheap.lib(SUMPHHeap.obj)  : &lt;.dir&gt;.build\Utility\Generic\MultiHeap
 341|
 342|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#517">MkDir</A> &lt;.dir&gt;.build\Utility\Generic\MultiHeap
 343|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; NoUpdate &lt;.dir&gt;.build\Utility\Generic\MultiHeap
 344|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set &lt;.dir&gt;.build\Utility\Generic\MultiHeap-mkdir  = true
 345|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends dirs  : &lt;.dir&gt;.build\Utility\Generic\MultiHeap
 346|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#955">MkDir1</A> &lt;.dir&gt;.build\Utility\Generic\MultiHeap
 347|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; local s  = &lt;.dir&gt;.build\Utility\Generic
 348|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; switch &lt;.dir&gt;.build\Utility\Generic
 349|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends &lt;.dir&gt;.build\Utility\Generic\MultiHeap  : &lt;.dir&gt;.build\Utility\Generic
 350|
 351|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build\Utility\Generic
 352|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; NoUpdate &lt;.dir&gt;.build\Utility\Generic
 353|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; set &lt;.dir&gt;.build\Utility\Generic-mkdir  = true
 354|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; Depends dirs  : &lt;.dir&gt;.build\Utility\Generic
 355|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; <A HREF="#955">MkDir1</A> &lt;.dir&gt;.build\Utility\Generic
 356|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; local s  = &lt;.dir&gt;.build\Utility
 357|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; switch &lt;.dir&gt;.build\Utility
 358|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; Depends &lt;.dir&gt;.build\Utility\Generic  : &lt;.dir&gt;.build\Utility
 359|
 360|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build\Utility
 361|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; NoUpdate &lt;.dir&gt;.build\Utility
 362|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; set &lt;.dir&gt;.build\Utility-mkdir  = true
 363|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; Depends dirs  : &lt;.dir&gt;.build\Utility
 364|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; <A HREF="#955">MkDir1</A> &lt;.dir&gt;.build\Utility
 365|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; local s  = &lt;.dir&gt;.build
 366|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; switch &lt;.dir&gt;.build
 367|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; Depends &lt;.dir&gt;.build\Utility  : &lt;.dir&gt;.build
 368|
 369|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build
 370|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; NoUpdate &lt;.dir&gt;.build
 371|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmultiheap.lib  : Src\Mpheap.obj Src\SUMPHHeap.obj
 372|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmultiheap.lib  : nqsmultiheap.lib(Mpheap.obj) nqsmultiheap.lib(SUMPHHeap.obj)
 373|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmultiheap.lib(Mpheap.obj)  : Src\Mpheap.obj
 374|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends nqsmultiheap.lib(SUMPHHeap.obj)  : Src\SUMPHHeap.obj
 375|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#478">Link</A> nqsmultiheap.lib  : Src\Mpheap.obj Src\SUMPHHeap.obj
 376|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set MODE on nqsmultiheap.lib  = 755
 377|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#329">Chmod</A> nqsmultiheap.lib
 378|
 379|&gt;&gt;&gt;&gt;|&gt; <A HREF="#608">Objects</A> Src/Mpheap.cpp Src/SUMPHHeap.cpp
 380|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#851">FGristFiles</A> Src/Mpheap.cpp Src/SUMPHHeap.cpp
 381|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#552">Object</A> Src\Mpheap.obj  : Src\Mpheap.cpp
 382|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#947">Clean</A> clean  : Src\Mpheap.obj
 383|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#505">MakeLocate</A> Src\Mpheap.obj  : build Utility\Generic\MultiHeap
 384|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set LOCATE on Src\Mpheap.obj  = build Utility\Generic\MultiHeap
 385|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends Src\Mpheap.obj  : &lt;.dir&gt;.build
 386|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build
 387|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; NoUpdate &lt;.dir&gt;.build
 388|
 389|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set SEARCH on Src\Mpheap.cpp  = Utility\Generic\MultiHeap
 390|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRS on Src\Mpheap.obj  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include
 391|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRRULE on Src\Mpheap.cpp  = <A HREF="#354">HdrRule</A>
 392|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRSCAN on Src\Mpheap.cpp  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 393|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRSEARCH on Src\Mpheap.cpp  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 394|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRGRIST on Src\Mpheap.cpp  =
 395|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set DEFINES on Src\Mpheap.obj  += WIN32 _WINDOWS _MBCS WIN32 _WINDOWS _MBCS
 396|
 397|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| switch .cpp
 398|
 399|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#322">C++</A> Src\Mpheap.obj  : Src\Mpheap.cpp
 400|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends Src\Mpheap.obj  : Src\Mpheap.cpp
 401|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set C++FLAGS on Src\Mpheap.obj  += /W3 /GX /GR /X /DSUMPH_DLL_EXPORT
 402|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; on Src\Mpheap.obj
 403|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#931">FIncludes</A> Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include
 404|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set CCHDRS on Src\Mpheap.obj  = /IUtility\Generic\MultiHeap /IUtility\Generic\MultiHeap\PrivateInclude /IInclude /Ithirdparty\NTWorkshop\Include /Ithirdparty\NTWorkshop\Include\NT50 /Imallocheap\Include /IInclude /Ithirdparty\NTWorkshop\Include /Ithirdparty\NTWorkshop\Include\NT50 /IUtility\Generic\MultiHeap\Include
 405|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; on Src\Mpheap.obj
 406|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#930">FDefines</A> WIN32 _WINDOWS _MBCS WIN32 _WINDOWS _MBCS
 407|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set CCDEFS on Src\Mpheap.obj  = /DWIN32 /D_WINDOWS /D_MBCS /DWIN32 /D_WINDOWS /D_MBCS
 408|
 409|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends obj  : Src\Mpheap.obj
 410|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; <A HREF="#552">Object</A> Src\SUMPHHeap.obj  : Src\SUMPHHeap.cpp
 411|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#947">Clean</A> clean  : Src\SUMPHHeap.obj
 412|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#505">MakeLocate</A> Src\SUMPHHeap.obj  : build Utility\Generic\MultiHeap
 413|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set LOCATE on Src\SUMPHHeap.obj  = build Utility\Generic\MultiHeap
 414|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends Src\SUMPHHeap.obj  : &lt;.dir&gt;.build
 415|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#517">MkDir</A> &lt;.dir&gt;.build
 416|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt; NoUpdate &lt;.dir&gt;.build
 417|
 418|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set SEARCH on Src\SUMPHHeap.cpp  = Utility\Generic\MultiHeap
 419|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRS on Src\SUMPHHeap.obj  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include
 420|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRRULE on Src\SUMPHHeap.cpp  = <A HREF="#354">HdrRule</A>
 421|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRSCAN on Src\SUMPHHeap.cpp  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 422|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRSEARCH on Src\SUMPHHeap.cpp  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 423|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set HDRGRIST on Src\SUMPHHeap.cpp  =
 424|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| set DEFINES on Src\SUMPHHeap.obj  += WIN32 _WINDOWS _MBCS WIN32 _WINDOWS _MBCS
 425|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| switch .cpp
 426|
 427|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;| <A HREF="#322">C++</A> Src\SUMPHHeap.obj  : Src\SUMPHHeap.cpp
 428|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; Depends Src\SUMPHHeap.obj  : Src\SUMPHHeap.cpp
 429|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set C++FLAGS on Src\SUMPHHeap.obj  += /W3 /GX /GR /X /DSUMPH_DLL_EXPORT
 430|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; on Src\SUMPHHeap.obj
 431|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#931">FIncludes</A> Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include
 432|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set CCHDRS on Src\SUMPHHeap.obj  = /IUtility\Generic\MultiHeap /IUtility\Generic\MultiHeap\PrivateInclude /IInclude /Ithirdparty\NTWorkshop\Include /Ithirdparty\NTWorkshop\Include\NT50 /Imallocheap\Include /IInclude /Ithirdparty\NTWorkshop\Include /Ithirdparty\NTWorkshop\Include\NT50 /IUtility\Generic\MultiHeap\Include
 433|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; on Src\SUMPHHeap.obj
 434|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; <A HREF="#930">FDefines</A> WIN32 _WINDOWS _MBCS WIN32 _WINDOWS _MBCS
 435|&gt;&gt;&gt;&gt;|&gt;&gt;&gt;&gt;|&gt;&gt; set CCDEFS on Src\SUMPHHeap.obj  = /DWIN32 /D_WINDOWS /D_MBCS /DWIN32 /D_WINDOWS /D_MBCS
 436|
 437|&gt;&gt;&gt;&gt;|&gt;&gt;&gt; Depends obj  : Src\SUMPHHeap.obj
 438|&gt;&gt;&gt;&gt;|&gt; set LINKFLAGS  +=
 439|
 440|&gt;&gt;&gt;&gt; <A HREF="#471">Libs</A> nqsmultiheap  : nqsmallocheap
 441|&gt;&gt;&gt;&gt;|&gt; <A HREF="#904">FAppendSuffix</A> nqsmultiheap  : .exe
 442|&gt;&gt;&gt;&gt;|&gt; local _t  = nqsmultiheap.exe
 443|&gt;&gt;&gt;&gt;|&gt; Depends nqsmultiheap.exe  : nqsmallocheap.lib
 444|
 445|&gt;&gt;&gt;&gt;|&gt; set NEEDLIBS on nqsmultiheap.exe  += nqsmallocheap.lib
 446|
 447|&gt;&gt; <A HREF="#354">HdrRule</A> &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  : SUMHHeap.h SUMHNQHeap.h malloc.h
 448|&gt;&gt;&gt;&gt; local s  = SUMHHeap.h SUMHNQHeap.h malloc.h
 449|&gt;&gt;&gt;&gt; Includes &lt;.mallocheap&gt;.Src\SUMHHeap.cpp  : SUMHHeap.h SUMHNQHeap.h malloc.h
 450|&gt;&gt;&gt;&gt; set SEARCH on SUMHHeap.h SUMHNQHeap.h malloc.h  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 451|&gt;&gt;&gt;&gt; NoCare SUMHHeap.h SUMHNQHeap.h malloc.h
 452|&gt;&gt;&gt;&gt; set HDRSEARCH on SUMHHeap.h SUMHNQHeap.h malloc.h  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 453|&gt;&gt;&gt;&gt; set HDRSCAN on SUMHHeap.h SUMHNQHeap.h malloc.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 454|&gt;&gt;&gt;&gt; set HDRRULE on SUMHHeap.h SUMHNQHeap.h malloc.h  = <A HREF="#354">HdrRule</A>
 455|&gt;&gt;&gt;&gt; set HDRGRIST on SUMHHeap.h SUMHNQHeap.h malloc.h  =
 456|
 457|&gt;&gt; <A HREF="#354">HdrRule</A> SUMHHeap.h  : SUMHBuildDef.h
 458|&gt;&gt;&gt;&gt; local s  = SUMHBuildDef.h
 459|&gt;&gt;&gt;&gt; Includes SUMHHeap.h  : SUMHBuildDef.h
 460|&gt;&gt;&gt;&gt; set SEARCH on SUMHBuildDef.h  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 461|&gt;&gt;&gt;&gt; NoCare SUMHBuildDef.h
 462|&gt;&gt;&gt;&gt; set HDRSEARCH on SUMHBuildDef.h  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 463|&gt;&gt;&gt;&gt; set HDRSCAN on SUMHBuildDef.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 464|&gt;&gt;&gt;&gt; set HDRRULE on SUMHBuildDef.h  = <A HREF="#354">HdrRule</A>
 465|&gt;&gt;&gt;&gt; set HDRGRIST on SUMHBuildDef.h  =
 466|
 467|&gt;&gt; <A HREF="#354">HdrRule</A> SUMHNQHeap.h  : SUMHBuildDef.h
 468|&gt;&gt;&gt;&gt; local s  = SUMHBuildDef.h
 469|&gt;&gt;&gt;&gt; Includes SUMHNQHeap.h  : SUMHBuildDef.h
 470|&gt;&gt;&gt;&gt; set SEARCH on SUMHBuildDef.h  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 471|&gt;&gt;&gt;&gt; NoCare SUMHBuildDef.h
 472|&gt;&gt;&gt;&gt; set HDRSEARCH on SUMHBuildDef.h  = mallocheap Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include c:\VStudio\VC98\Include
 473|&gt;&gt;&gt;&gt; set HDRSCAN on SUMHBuildDef.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 474|&gt;&gt;&gt;&gt; set HDRRULE on SUMHBuildDef.h  = <A HREF="#354">HdrRule</A>
 475|&gt;&gt;&gt;&gt; set HDRGRIST on SUMHBuildDef.h  =
 476|
 477|&gt;&gt; <A HREF="#354">HdrRule</A> Src\Mpheap.cpp  : windows.h mpheap.h
 478|&gt;&gt;&gt;&gt; local s  = windows.h mpheap.h
 479|&gt;&gt;&gt;&gt; Includes Src\Mpheap.cpp  : windows.h mpheap.h
 480|&gt;&gt;&gt;&gt; set SEARCH on windows.h mpheap.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 481|&gt;&gt;&gt;&gt; NoCare windows.h mpheap.h
 482|&gt;&gt;&gt;&gt; set HDRSEARCH on windows.h mpheap.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 483|&gt;&gt;&gt;&gt; set HDRSCAN on windows.h mpheap.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 484|&gt;&gt;&gt;&gt; set HDRRULE on windows.h mpheap.h  = <A HREF="#354">HdrRule</A>
 485|&gt;&gt;&gt;&gt; set HDRGRIST on windows.h mpheap.h  =
 486|
 487|&gt;&gt; <A HREF="#354">HdrRule</A> windows.h  : winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h
 488|&gt;&gt;&gt;&gt; local s  = winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h
 489|&gt;&gt;&gt;&gt; Includes windows.h  : winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h
 490|&gt;&gt;&gt;&gt; set SEARCH on winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 491|&gt;&gt;&gt;&gt; NoCare winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h
 492|&gt;&gt;&gt;&gt; set HDRSEARCH on winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 493|&gt;&gt;&gt;&gt; set HDRSCAN on winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 494|&gt;&gt;&gt;&gt; set HDRRULE on winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h  = <A
HREF="#354">HdrRule</A>
 495|&gt;&gt;&gt;&gt; set HDRGRIST on winresrc.h excpt.h stdarg.h windef.h winbase.h wingdi.h winuser.h winnls.h wincon.h winver.h winreg.h winnetwk.h cderr.h dde.h ddeml.h dlgs.h lzexpand.h mmsystem.h nb30.h rpc.h shellapi.h winperf.h winsock.h wincrypt.h winefs.h winscard.h winspool.h ole.h ole2.h commdlg.h winwlm.h ole2.h winsvc.h mcx.h imm.h  =
 496|
 497|&gt;&gt; <A HREF="#354">HdrRule</A> winresrc.h  : winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h
 498|&gt;&gt;&gt;&gt; local s  = winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h
 499|&gt;&gt;&gt;&gt; Includes winresrc.h  : winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h
 500|&gt;&gt;&gt;&gt; set SEARCH on winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 501|&gt;&gt;&gt;&gt; NoCare winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h
 502|&gt;&gt;&gt;&gt; set HDRSEARCH on winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 503|&gt;&gt;&gt;&gt; set HDRSCAN on winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 504|&gt;&gt;&gt;&gt; set HDRRULE on winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h  = <A HREF="#354">HdrRule</A>
 505|&gt;&gt;&gt;&gt; set HDRGRIST on winuser.rh commctrl.rh dde.rh winnt.rh dlgs.h winver.h  =
 506|
 507|&gt;&gt; <A HREF="#354">HdrRule</A> windef.h  : winnt.h
 508|&gt;&gt;&gt;&gt; local s  = winnt.h
 509|&gt;&gt;&gt;&gt; Includes windef.h  : winnt.h
 510|&gt;&gt;&gt;&gt; set SEARCH on winnt.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 511|&gt;&gt;&gt;&gt; NoCare winnt.h
 512|&gt;&gt;&gt;&gt; set HDRSEARCH on winnt.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 513|&gt;&gt;&gt;&gt; set HDRSCAN on winnt.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 514|&gt;&gt;&gt;&gt; set HDRRULE on winnt.h  = <A HREF="#354">HdrRule</A>
 515|&gt;&gt;&gt;&gt; set HDRGRIST on winnt.h  =
 516|
 517|&gt;&gt; <A HREF="#354">HdrRule</A> winnt.h  : ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h
 518|&gt;&gt;&gt;&gt; local s  = ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h
 519|&gt;&gt;&gt;&gt; Includes winnt.h  : ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h
 520|&gt;&gt;&gt;&gt; set SEARCH on ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 521|&gt;&gt;&gt;&gt; NoCare ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h
 522|&gt;&gt;&gt;&gt; set HDRSEARCH on ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 523|&gt;&gt;&gt;&gt; set HDRSCAN on ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 524|&gt;&gt;&gt;&gt; set HDRRULE on ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h  = <A
HREF="#354">HdrRule</A>
 525|&gt;&gt;&gt;&gt; set HDRGRIST on ctype.h basetsd.h guiddef.h pshpack4.h poppack.h pshpack4.h pshpack2.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack8.h poppack.h poppack.h string.h string.h  =
 526|
 527|&gt;&gt; <A HREF="#354">HdrRule</A> guiddef.h  : string.h
 528|&gt;&gt;&gt;&gt; local s  = string.h
 529|&gt;&gt;&gt;&gt; Includes guiddef.h  : string.h
 530|&gt;&gt;&gt;&gt; set SEARCH on string.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 531|&gt;&gt;&gt;&gt; NoCare string.h
 532|&gt;&gt;&gt;&gt; set HDRSEARCH on string.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 533|&gt;&gt;&gt;&gt; set HDRSCAN on string.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 534|&gt;&gt;&gt;&gt; set HDRRULE on string.h  = <A HREF="#354">HdrRule</A>
 535|&gt;&gt;&gt;&gt; set HDRGRIST on string.h  =
 536|
 537|&gt;&gt; <A HREF="#354">HdrRule</A> winbase.h  : macwin32.h winerror.h
 538|&gt;&gt;&gt;&gt; local s  = macwin32.h winerror.h
 539|&gt;&gt;&gt;&gt; Includes winbase.h  : macwin32.h winerror.h
 540|&gt;&gt;&gt;&gt; set SEARCH on macwin32.h winerror.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 541|&gt;&gt;&gt;&gt; NoCare macwin32.h winerror.h
 542|&gt;&gt;&gt;&gt; set HDRSEARCH on macwin32.h winerror.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 543|&gt;&gt;&gt;&gt; set HDRSCAN on macwin32.h winerror.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 544|&gt;&gt;&gt;&gt; set HDRRULE on macwin32.h winerror.h  = <A HREF="#354">HdrRule</A>
 545|&gt;&gt;&gt;&gt; set HDRGRIST on macwin32.h winerror.h  =
 546|
 547|&gt;&gt; <A HREF="#354">HdrRule</A> wingdi.h  : macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h
 548|&gt;&gt;&gt;&gt; local s  = macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h
 549|&gt;&gt;&gt;&gt; Includes wingdi.h  : macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h
 550|&gt;&gt;&gt;&gt; set SEARCH on macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 551|&gt;&gt;&gt;&gt; NoCare macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h
 552|&gt;&gt;&gt;&gt; set HDRSEARCH on macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 553|&gt;&gt;&gt;&gt; set HDRSCAN on macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 554|&gt;&gt;&gt;&gt; set HDRRULE on macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h  = <A
HREF="#354">HdrRule</A>
 555|&gt;&gt;&gt;&gt; set HDRGRIST on macwin32.h pshpack1.h poppack.h pshpack2.h poppack.h pshpack2.h poppack.h pshpack4.h poppack.h pshpack4.h poppack.h  =
 556|
 557|&gt;&gt; <A HREF="#354">HdrRule</A> winuser.h  : macwin32.h stdarg.h pshpack2.h poppack.h tvout.h
 558|&gt;&gt;&gt;&gt; local s  = macwin32.h stdarg.h pshpack2.h poppack.h tvout.h
 559|&gt;&gt;&gt;&gt; Includes winuser.h  : macwin32.h stdarg.h pshpack2.h poppack.h tvout.h
 560|&gt;&gt;&gt;&gt; set SEARCH on macwin32.h stdarg.h pshpack2.h poppack.h tvout.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 561|&gt;&gt;&gt;&gt; NoCare macwin32.h stdarg.h pshpack2.h poppack.h tvout.h
 562|&gt;&gt;&gt;&gt; set HDRSEARCH on macwin32.h stdarg.h pshpack2.h poppack.h tvout.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 563|&gt;&gt;&gt;&gt; set HDRSCAN on macwin32.h stdarg.h pshpack2.h poppack.h tvout.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 564|&gt;&gt;&gt;&gt; set HDRRULE on macwin32.h stdarg.h pshpack2.h poppack.h tvout.h  = <A HREF="#354">HdrRule</A>
 565|&gt;&gt;&gt;&gt; set HDRGRIST on macwin32.h stdarg.h pshpack2.h poppack.h tvout.h  =
 566|
 567|&gt;&gt; <A HREF="#354">HdrRule</A> tvout.h  : guiddef.h
 568|&gt;&gt;&gt;&gt; local s  = guiddef.h
 569|&gt;&gt;&gt;&gt; Includes tvout.h  : guiddef.h
 570|&gt;&gt;&gt;&gt; set SEARCH on guiddef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 571|&gt;&gt;&gt;&gt; NoCare guiddef.h
 572|&gt;&gt;&gt;&gt; set HDRSEARCH on guiddef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 573|&gt;&gt;&gt;&gt; set HDRSCAN on guiddef.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 574|&gt;&gt;&gt;&gt; set HDRRULE on guiddef.h  = <A HREF="#354">HdrRule</A>
 575|&gt;&gt;&gt;&gt; set HDRGRIST on guiddef.h  =
 576|
 577|&gt;&gt; <A HREF="#354">HdrRule</A> winnls.h  : macwin32.h
 578|&gt;&gt;&gt;&gt; local s  = macwin32.h
 579|&gt;&gt;&gt;&gt; Includes winnls.h  : macwin32.h
 580|&gt;&gt;&gt;&gt; set SEARCH on macwin32.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 581|&gt;&gt;&gt;&gt; NoCare macwin32.h
 582|&gt;&gt;&gt;&gt; set HDRSEARCH on macwin32.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 583|&gt;&gt;&gt;&gt; set HDRSCAN on macwin32.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 584|&gt;&gt;&gt;&gt; set HDRRULE on macwin32.h  = <A HREF="#354">HdrRule</A>
 585|&gt;&gt;&gt;&gt; set HDRGRIST on macwin32.h  =
 586|
 587|&gt;&gt; <A HREF="#354">HdrRule</A> winreg.h  : macwin32.h
 588|&gt;&gt;&gt;&gt; local s  = macwin32.h
 589|&gt;&gt;&gt;&gt; Includes winreg.h  : macwin32.h
 590|&gt;&gt;&gt;&gt; set SEARCH on macwin32.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 591|&gt;&gt;&gt;&gt; NoCare macwin32.h
 592|&gt;&gt;&gt;&gt; set HDRSEARCH on macwin32.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 593|&gt;&gt;&gt;&gt; set HDRSCAN on macwin32.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 594|&gt;&gt;&gt;&gt; set HDRRULE on macwin32.h  = <A HREF="#354">HdrRule</A>
 595|&gt;&gt;&gt;&gt; set HDRGRIST on macwin32.h  =
 596|
 597|&gt;&gt; <A HREF="#354">HdrRule</A> dde.h  : windef.h
 598|&gt;&gt;&gt;&gt; local s  = windef.h
 599|&gt;&gt;&gt;&gt; Includes dde.h  : windef.h
 600|&gt;&gt;&gt;&gt; set SEARCH on windef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 601|&gt;&gt;&gt;&gt; NoCare windef.h
 602|&gt;&gt;&gt;&gt; set HDRSEARCH on windef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 603|&gt;&gt;&gt;&gt; set HDRSCAN on windef.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 604|&gt;&gt;&gt;&gt; set HDRRULE on windef.h  = <A HREF="#354">HdrRule</A>
 605|&gt;&gt;&gt;&gt; set HDRGRIST on windef.h  =
 606|
 607|&gt;&gt; <A HREF="#354">HdrRule</A> mmsystem.h  : pshpack1.h macwin32.h poppack.h
 608|&gt;&gt;&gt;&gt; local s  = pshpack1.h macwin32.h poppack.h
 609|&gt;&gt;&gt;&gt; Includes mmsystem.h  : pshpack1.h macwin32.h poppack.h
 610|&gt;&gt;&gt;&gt; set SEARCH on pshpack1.h macwin32.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 611|&gt;&gt;&gt;&gt; NoCare pshpack1.h macwin32.h poppack.h
 612|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack1.h macwin32.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 613|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack1.h macwin32.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 614|&gt;&gt;&gt;&gt; set HDRRULE on pshpack1.h macwin32.h poppack.h  = <A HREF="#354">HdrRule</A>
 615|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack1.h macwin32.h poppack.h  =
 616|
 617|&gt;&gt; <A HREF="#354">HdrRule</A> rpc.h  : windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h
 618|&gt;&gt;&gt;&gt; local s  = windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h
 619|&gt;&gt;&gt;&gt; Includes rpc.h  : windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h
 620|&gt;&gt;&gt;&gt; set SEARCH on windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 621|&gt;&gt;&gt;&gt; NoCare windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h
 622|&gt;&gt;&gt;&gt; set HDRSEARCH on windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 623|&gt;&gt;&gt;&gt; set HDRSCAN on windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 624|&gt;&gt;&gt;&gt; set HDRRULE on windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h  = <A
HREF="#354">HdrRule</A>
 625|&gt;&gt;&gt;&gt; set HDRGRIST on windows.h pshpack2.h basetsd.h pshpack8.h setjmp.h rpcdce.h rpcnsi.h rpcerr.h rpcmac.h poppack.h rpcdce.h rpcnsi.h rpcnterr.h excpt.h winerror.h rpcasync.h poppack.h  =
 626|
 627|&gt;&gt; <A HREF="#354">HdrRule</A> rpcdce.h  : guiddef.h rpcdcep.h
 628|&gt;&gt;&gt;&gt; local s  = guiddef.h rpcdcep.h
 629|&gt;&gt;&gt;&gt; Includes rpcdce.h  : guiddef.h rpcdcep.h
 630|&gt;&gt;&gt;&gt; set SEARCH on guiddef.h rpcdcep.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 631|&gt;&gt;&gt;&gt; NoCare guiddef.h rpcdcep.h
 632|&gt;&gt;&gt;&gt; set HDRSEARCH on guiddef.h rpcdcep.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 633|&gt;&gt;&gt;&gt; set HDRSCAN on guiddef.h rpcdcep.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 634|&gt;&gt;&gt;&gt; set HDRRULE on guiddef.h rpcdcep.h  = <A HREF="#354">HdrRule</A>
 635|&gt;&gt;&gt;&gt; set HDRGRIST on guiddef.h rpcdcep.h  =
 636|
 637|&gt;&gt; <A HREF="#354">HdrRule</A> rpcasync.h  : pshpack8.h poppack.h
 638|&gt;&gt;&gt;&gt; local s  = pshpack8.h poppack.h
 639|&gt;&gt;&gt;&gt; Includes rpcasync.h  : pshpack8.h poppack.h
 640|&gt;&gt;&gt;&gt; set SEARCH on pshpack8.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 641|&gt;&gt;&gt;&gt; NoCare pshpack8.h poppack.h
 642|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack8.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 643|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack8.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 644|&gt;&gt;&gt;&gt; set HDRRULE on pshpack8.h poppack.h  = <A HREF="#354">HdrRule</A>
 645|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack8.h poppack.h  =
 646|
 647|&gt;&gt; <A HREF="#354">HdrRule</A> shellapi.h  : pshpack1.h poppack.h
 648|&gt;&gt;&gt;&gt; local s  = pshpack1.h poppack.h
 649|&gt;&gt;&gt;&gt; Includes shellapi.h  : pshpack1.h poppack.h
 650|&gt;&gt;&gt;&gt; set SEARCH on pshpack1.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 651|&gt;&gt;&gt;&gt; NoCare pshpack1.h poppack.h
 652|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack1.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 653|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack1.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 654|&gt;&gt;&gt;&gt; set HDRRULE on pshpack1.h poppack.h  = <A HREF="#354">HdrRule</A>
 655|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack1.h poppack.h  =
 656|
 657|&gt;&gt; <A HREF="#354">HdrRule</A> winsock.h  : windows.h
 658|&gt;&gt;&gt;&gt; local s  = windows.h
 659|&gt;&gt;&gt;&gt; Includes winsock.h  : windows.h
 660|&gt;&gt;&gt;&gt; set SEARCH on windows.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 661|&gt;&gt;&gt;&gt; NoCare windows.h
 662|&gt;&gt;&gt;&gt; set HDRSEARCH on windows.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 663|&gt;&gt;&gt;&gt; set HDRSCAN on windows.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 664|&gt;&gt;&gt;&gt; set HDRRULE on windows.h  = <A HREF="#354">HdrRule</A>
 665|&gt;&gt;&gt;&gt; set HDRGRIST on windows.h  =
 666|
 667|&gt;&gt; <A HREF="#354">HdrRule</A> winscard.h  : wtypes.h winioctl.h winsmcrd.h SCardErr.h
 668|&gt;&gt;&gt;&gt; local s  = wtypes.h winioctl.h winsmcrd.h SCardErr.h
 669|&gt;&gt;&gt;&gt; Includes winscard.h  : wtypes.h winioctl.h winsmcrd.h SCardErr.h
 670|&gt;&gt;&gt;&gt; set SEARCH on wtypes.h winioctl.h winsmcrd.h SCardErr.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 671|&gt;&gt;&gt;&gt; NoCare wtypes.h winioctl.h winsmcrd.h SCardErr.h
 672|&gt;&gt;&gt;&gt; set HDRSEARCH on wtypes.h winioctl.h winsmcrd.h SCardErr.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 673|&gt;&gt;&gt;&gt; set HDRSCAN on wtypes.h winioctl.h winsmcrd.h SCardErr.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 674|&gt;&gt;&gt;&gt; set HDRRULE on wtypes.h winioctl.h winsmcrd.h SCardErr.h  = <A HREF="#354">HdrRule</A>
 675|&gt;&gt;&gt;&gt; set HDRGRIST on wtypes.h winioctl.h winsmcrd.h SCardErr.h  =
 676|
 677|&gt;&gt; <A HREF="#354">HdrRule</A> wtypes.h  : rpc.h rpcndr.h basetsd.h guiddef.h
 678|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h basetsd.h guiddef.h
 679|&gt;&gt;&gt;&gt; Includes wtypes.h  : rpc.h rpcndr.h basetsd.h guiddef.h
 680|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h basetsd.h guiddef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 681|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h basetsd.h guiddef.h
 682|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h basetsd.h guiddef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 683|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h basetsd.h guiddef.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 684|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h basetsd.h guiddef.h  = <A HREF="#354">HdrRule</A>
 685|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h basetsd.h guiddef.h  =
 686|
 687|&gt;&gt; <A HREF="#354">HdrRule</A> rpcndr.h  : pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h
 688|&gt;&gt;&gt;&gt; local s  = pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h
 689|&gt;&gt;&gt;&gt; Includes rpcndr.h  : pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h
 690|&gt;&gt;&gt;&gt; set SEARCH on pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 691|&gt;&gt;&gt;&gt; NoCare pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h
 692|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 693|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 694|&gt;&gt;&gt;&gt; set HDRRULE on pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h  = <A HREF="#354">HdrRule</A>
 695|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack8.h basetsd.h rpcnsip.h pshpack4.h poppack.h poppack.h  =
 696|
 697|&gt;&gt; <A HREF="#354">HdrRule</A> winspool.h  : prsht.h
 698|&gt;&gt;&gt;&gt; local s  = prsht.h
 699|&gt;&gt;&gt;&gt; Includes winspool.h  : prsht.h
 700|&gt;&gt;&gt;&gt; set SEARCH on prsht.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 701|&gt;&gt;&gt;&gt; NoCare prsht.h
 702|&gt;&gt;&gt;&gt; set HDRSEARCH on prsht.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 703|&gt;&gt;&gt;&gt; set HDRSCAN on prsht.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 704|&gt;&gt;&gt;&gt; set HDRRULE on prsht.h  = <A HREF="#354">HdrRule</A>
 705|&gt;&gt;&gt;&gt; set HDRGRIST on prsht.h  =
 706|
 707|&gt;&gt; <A HREF="#354">HdrRule</A> prsht.h  : pshpack8.h pshpack4.h poppack.h
 708|&gt;&gt;&gt;&gt; local s  = pshpack8.h pshpack4.h poppack.h
 709|&gt;&gt;&gt;&gt; Includes prsht.h  : pshpack8.h pshpack4.h poppack.h
 710|&gt;&gt;&gt;&gt; set SEARCH on pshpack8.h pshpack4.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 711|&gt;&gt;&gt;&gt; NoCare pshpack8.h pshpack4.h poppack.h
 712|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack8.h pshpack4.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 713|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack8.h pshpack4.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 714|&gt;&gt;&gt;&gt; set HDRRULE on pshpack8.h pshpack4.h poppack.h  = <A HREF="#354">HdrRule</A>
 715|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack8.h pshpack4.h poppack.h  =
 716|
 717|&gt;&gt; <A HREF="#354">HdrRule</A> ole.h  : pshpack1.h poppack.h
 718|&gt;&gt;&gt;&gt; local s  = pshpack1.h poppack.h
 719|&gt;&gt;&gt;&gt; Includes ole.h  : pshpack1.h poppack.h
 720|&gt;&gt;&gt;&gt; set SEARCH on pshpack1.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 721|&gt;&gt;&gt;&gt; NoCare pshpack1.h poppack.h
 722|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack1.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 723|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack1.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 724|&gt;&gt;&gt;&gt; set HDRRULE on pshpack1.h poppack.h  = <A HREF="#354">HdrRule</A>
 725|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack1.h poppack.h  =
 726|
 727|&gt;&gt; <A HREF="#354">HdrRule</A> ole2.h  : pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h
 728|&gt;&gt;&gt;&gt; local s  = pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h
 729|&gt;&gt;&gt;&gt; Includes ole2.h  : pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h
 730|&gt;&gt;&gt;&gt; set SEARCH on pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 731|&gt;&gt;&gt;&gt; NoCare pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h
 732|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 733|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 734|&gt;&gt;&gt;&gt; set HDRRULE on pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h  = <A
HREF="#354">HdrRule</A>
 735|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack8.h macname1.h winerror.h macpub.h objbase.h oleauto.h oleidl.h poppack.h macapi.h macname2.h  =
 736|
 737|&gt;&gt; <A HREF="#354">HdrRule</A> objbase.h  : rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h
 738|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h
 739|&gt;&gt;&gt;&gt; Includes objbase.h  : rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h
 740|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 741|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h
 742|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 743|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 744|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h  = <A
HREF="#354">HdrRule</A>
 745|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h pshpack8.h stdlib.h wtypes.h unknwn.h objidl.h guiddef.h cguid.h urlmon.h propidl.h poppack.h  =
 746|
 747|&gt;&gt; <A HREF="#354">HdrRule</A> unknwn.h  : rpc.h rpcndr.h windows.h ole2.h wtypes.h
 748|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h wtypes.h
 749|&gt;&gt;&gt;&gt; Includes unknwn.h  : rpc.h rpcndr.h windows.h ole2.h wtypes.h
 750|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h wtypes.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 751|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h wtypes.h
 752|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h wtypes.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 753|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h wtypes.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 754|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h wtypes.h  = <A HREF="#354">HdrRule</A>
 755|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h wtypes.h  =
 756|
 757|&gt;&gt; <A HREF="#354">HdrRule</A> objidl.h  : rpc.h rpcndr.h windows.h ole2.h unknwn.h
 758|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h unknwn.h
 759|&gt;&gt;&gt;&gt; Includes objidl.h  : rpc.h rpcndr.h windows.h ole2.h unknwn.h
 760|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h unknwn.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 761|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h unknwn.h
 762|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h unknwn.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 763|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h unknwn.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 764|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h unknwn.h  = <A HREF="#354">HdrRule</A>
 765|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h unknwn.h  =
 766|
 767|&gt;&gt; <A HREF="#354">HdrRule</A> urlmon.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h
 768|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h
 769|&gt;&gt;&gt;&gt; Includes urlmon.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h
 770|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 771|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h
 772|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 773|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 774|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h  = <A
HREF="#354">HdrRule</A>
 775|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h objidl.h oleidl.h servprov.h msxml.h  =
 776|
 777|&gt;&gt; <A HREF="#354">HdrRule</A> oleidl.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h
 778|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h objidl.h
 779|&gt;&gt;&gt;&gt; Includes oleidl.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h
 780|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 781|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h objidl.h
 782|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 783|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h objidl.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 784|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h objidl.h  = <A HREF="#354">HdrRule</A>
 785|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h objidl.h  =
 786|
 787|&gt;&gt; <A HREF="#354">HdrRule</A> servprov.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h
 788|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h objidl.h
 789|&gt;&gt;&gt;&gt; Includes servprov.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h
 790|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 791|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h objidl.h
 792|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 793|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h objidl.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 794|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h objidl.h  = <A HREF="#354">HdrRule</A>
 795|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h objidl.h  =
 796|
 797|&gt;&gt; <A HREF="#354">HdrRule</A> msxml.h  : rpc.h rpcndr.h unknwn.h objidl.h oaidl.h
 798|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h unknwn.h objidl.h oaidl.h
 799|&gt;&gt;&gt;&gt; Includes msxml.h  : rpc.h rpcndr.h unknwn.h objidl.h oaidl.h
 800|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h unknwn.h objidl.h oaidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 801|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h unknwn.h objidl.h oaidl.h
 802|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h unknwn.h objidl.h oaidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 803|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h unknwn.h objidl.h oaidl.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 804|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h unknwn.h objidl.h oaidl.h  = <A HREF="#354">HdrRule</A>
 805|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h unknwn.h objidl.h oaidl.h  =
 806|
 807|&gt;&gt; <A HREF="#354">HdrRule</A> oaidl.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h
 808|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h objidl.h
 809|&gt;&gt;&gt;&gt; Includes oaidl.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h
 810|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 811|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h objidl.h
 812|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 813|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h objidl.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 814|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h objidl.h  = <A HREF="#354">HdrRule</A>
 815|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h objidl.h  =
 816|
 817|&gt;&gt; <A HREF="#354">HdrRule</A> propidl.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h
 818|&gt;&gt;&gt;&gt; local s  = rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h
 819|&gt;&gt;&gt;&gt; Includes propidl.h  : rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h
 820|&gt;&gt;&gt;&gt; set SEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 821|&gt;&gt;&gt;&gt; NoCare rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h
 822|&gt;&gt;&gt;&gt; set HDRSEARCH on rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 823|&gt;&gt;&gt;&gt; set HDRSCAN on rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 824|&gt;&gt;&gt;&gt; set HDRRULE on rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h  = <A HREF="#354">HdrRule</A>
 825|&gt;&gt;&gt;&gt; set HDRGRIST on rpc.h rpcndr.h windows.h ole2.h objidl.h oaidl.h  =
 826|
 827|&gt;&gt; <A HREF="#354">HdrRule</A> oleauto.h  : pshpack8.h oaidl.h poppack.h
 828|&gt;&gt;&gt;&gt; local s  = pshpack8.h oaidl.h poppack.h
 829|&gt;&gt;&gt;&gt; Includes oleauto.h  : pshpack8.h oaidl.h poppack.h
 830|&gt;&gt;&gt;&gt; set SEARCH on pshpack8.h oaidl.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 831|&gt;&gt;&gt;&gt; NoCare pshpack8.h oaidl.h poppack.h
 832|&gt;&gt;&gt;&gt; set HDRSEARCH on pshpack8.h oaidl.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 833|&gt;&gt;&gt;&gt; set HDRSCAN on pshpack8.h oaidl.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 834|&gt;&gt;&gt;&gt; set HDRRULE on pshpack8.h oaidl.h poppack.h  = <A HREF="#354">HdrRule</A>
 835|&gt;&gt;&gt;&gt; set HDRGRIST on pshpack8.h oaidl.h poppack.h  =
 836|
 837|&gt;&gt; <A HREF="#354">HdrRule</A> commdlg.h  : prsht.h pshpack1.h poppack.h
 838|&gt;&gt;&gt;&gt; local s  = prsht.h pshpack1.h poppack.h
 839|&gt;&gt;&gt;&gt; Includes commdlg.h  : prsht.h pshpack1.h poppack.h
 840|&gt;&gt;&gt;&gt; set SEARCH on prsht.h pshpack1.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 841|&gt;&gt;&gt;&gt; NoCare prsht.h pshpack1.h poppack.h
 842|&gt;&gt;&gt;&gt; set HDRSEARCH on prsht.h pshpack1.h poppack.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 843|&gt;&gt;&gt;&gt; set HDRSCAN on prsht.h pshpack1.h poppack.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 844|&gt;&gt;&gt;&gt; set HDRRULE on prsht.h pshpack1.h poppack.h  = <A HREF="#354">HdrRule</A>
 845|&gt;&gt;&gt;&gt; set HDRGRIST on prsht.h pshpack1.h poppack.h  =
 846|
 847|&gt;&gt; <A HREF="#354">HdrRule</A> Src\SUMPHHeap.cpp  : windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h
 848|&gt;&gt;&gt;&gt; local s  = windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h
 849|&gt;&gt;&gt;&gt; Includes Src\SUMPHHeap.cpp  : windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h
 850|&gt;&gt;&gt;&gt; set SEARCH on windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 851|&gt;&gt;&gt;&gt; NoCare windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h
 852|&gt;&gt;&gt;&gt; set HDRSEARCH on windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 853|&gt;&gt;&gt;&gt; set HDRSCAN on windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 854|&gt;&gt;&gt;&gt; set HDRRULE on windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h  = <A HREF="#354">HdrRule</A>
 855|&gt;&gt;&gt;&gt; set HDRGRIST on windows.h SUMPHHeap.h SUMHNQHeap.h tchar.h Mpheap.h  =
 856|
 857|&gt;&gt; <A HREF="#354">HdrRule</A> SUMPHHeap.h  : SUMPHBuildDef.h
 858|&gt;&gt;&gt;&gt; local s  = SUMPHBuildDef.h
 859|&gt;&gt;&gt;&gt; Includes SUMPHHeap.h  : SUMPHBuildDef.h
 860|&gt;&gt;&gt;&gt; set SEARCH on SUMPHBuildDef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 861|&gt;&gt;&gt;&gt; NoCare SUMPHBuildDef.h
 862|&gt;&gt;&gt;&gt; set HDRSEARCH on SUMPHBuildDef.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 863|&gt;&gt;&gt;&gt; set HDRSCAN on SUMPHBuildDef.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 864|&gt;&gt;&gt;&gt; set HDRRULE on SUMPHBuildDef.h  = <A HREF="#354">HdrRule</A>
 865|&gt;&gt;&gt;&gt; set HDRGRIST on SUMPHBuildDef.h  =
 866|
 867|&gt;&gt; <A HREF="#354">HdrRule</A> tchar.h  : wchar.h string.h mbstring.h
 868|&gt;&gt;&gt;&gt; local s  = wchar.h string.h mbstring.h
 869|&gt;&gt;&gt;&gt; Includes tchar.h  : wchar.h string.h mbstring.h
 870|&gt;&gt;&gt;&gt; set SEARCH on wchar.h string.h mbstring.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 871|&gt;&gt;&gt;&gt; NoCare wchar.h string.h mbstring.h
 872|&gt;&gt;&gt;&gt; set HDRSEARCH on wchar.h string.h mbstring.h  = Utility\Generic\MultiHeap Utility\Generic\MultiHeap\PrivateInclude Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 mallocheap\Include Include thirdparty\NTWorkshop\Include thirdparty\NTWorkshop\Include\NT50 Utility\Generic\MultiHeap\Include c:\VStudio\VC98\Include
 873|&gt;&gt;&gt;&gt; set HDRSCAN on wchar.h string.h mbstring.h  = ^[        ]*#[    ]*include[      ]*[&lt;&quot;]([^&quot;&gt;]*)[&quot;&gt;].*$
 874|&gt;&gt;&gt;&gt; set HDRRULE on wchar.h string.h mbstring.h  = <A HREF="#354">HdrRule</A>
 875|&gt;&gt;&gt;&gt; set HDRGRIST on wchar.h string.h mbstring.h  =</PRE>

</BODY>

</HTML>
# Change User Description Committed
#1 4362 Dick Dunbar Documentation updates.