HDRS += [ FDirName $(TOP) message ] ;
HDRS += [ FDirName $(TOP) extractors ] ;

SubDir TOP message ;
SubInclude TOP core ;
SubInclude TOP encodings ;
SubInclude TOP db ;
SubInclude TOP server ;
SubInclude TOP extractors ;


# this rule makes a list of all top-level domains based on a copy of
# the root zone.

rule DomainList
{
    Depends $(<) : $(>) ;
    Clean clean : $(<) ;
    SEARCH on $(>) = $(SEARCH_SOURCE) ;
    MakeLocate $(<) : $(LOCATE_SOURCE) ;
}

actions DomainList
{
    sed -e 's/;.*//' < $(>) -e 's/\. / /' | \
        expand -8 | \
        tr '[A-Z]' '[a-z]' | \
        awk '/. ns / {print "{ " length($1) ", \"" $1 "\" },\n" }' | \
        sort -u | \
        sort -nr -k2 > $(<)
}

# to regenerate root.zone:
# wget ftp://ftp.internic.net/domain/root.zone.gz ; gunzip root.zone.gz
DomainList tld.inc : root.zone ;


Build message :
    multipart.cpp message.cpp bodypart.cpp header.cpp parser.cpp
    field.cpp mimefields.cpp datefield.cpp addressfield.cpp
    address.cpp date.cpp flag.cpp addresscache.cpp fieldcache.cpp
    injector.cpp fetcher.cpp smtpclient.cpp annotation.cpp 
    dsn.cpp recipient.cpp listidfield.cpp ;
