ra grist provides target name uniqueness when referencing same name
    # header files from different folders.
    local include-targets = <$(target-path)>$(includes) ;
    NOCARE $(include-targets) ;
    INCLUDES $(target) : $(include-targets) ;
    SEARCH on $(include-targets) = $(target-path) ;
    ISFILE $(include-targets) ;
    .scan $(include-targets) ;
}
.scan $(jam.source) ;


# Distribution making from here on out. Assumes that the docs are already built
# as HTML at ../doc/html. Otherwise they will not be included in the built
# distribution archive.
dist.license =
    [ GLOB . : $(LICENSE).txt ]
    ;
dist.license = $(dist.license:D=)
    [ GLOB [ .path .. .. .. ] : $(LICENSE).txt ]
    [ GLOB [ .path .. boost ] : $(LICENSE).txt ] ;
dist.docs =
    [ GLOB . : *.png *.css *.html ]
    ;
dist.docs = $(dist.docs:D=)
    [ GLOB [ .path images ] : *.png ]
    [ GLOB [ .path jam ] : *.html ]
    ;
dist.source =
    [ GLOB . : *.c *.h ]
    ;
dist.source = $(dist.source:D=)
    $(dist.license[1])
    $(dist.docs)
    build.jam build.bat build.sh
    Jambase
    jamgram.y jamgram.yy
    [ .path modules set.c ]
    [ .path modules path.c ]
    [ .path modules regex.c ]
    [ .path modules property-set.c ]
    [ .path modules sequence.c ]
    [ .path modules order.c ]
    [ GLOB [ .path boehm_gc ] : * ]
    [ GLOB [ .path boehm_gc include ] : * ]
    [ GLOB [ .path boehm_gc include private ] : * ]
    [ GLOB [ .path boehm_gc cord ] : * ]
    [ GLOB [ .path boehm_gc Mac_files ] : * ]
    [ GLOB [ .path boehm_gc tests ] : * ]
    [ GLOB [ .path boehm_gc doc ] : * ]
    ;
dist.bin =
    bjam
    ;
dist.bin =
    $(dist.license[1])
    $(dist.bin:S=$(bjam.exe:S))
    ;

if $(OS) = NT
{
    zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7z.exe" ] ;
    zip ?= [ GLOB "$(ProgramFiles:J= )\\7-ZIP" "C:\\Program Files\\7-ZIP" : "7zn.exe" ] ;
    zip ?= [ GLOB $(PATH) : zip.exe ] ;
    zip ?= zip ;
    zip = $(zip[1]) ;
    switch $(zip:D=:S=)
    {
        case 7z* : zip += a -r -tzip -mx=9 ;
   