HDRS += [ FDirName $(TOP) db ] ;

SubDir TOP db ;
SubInclude TOP server ;

rule PrivilegeList
{
    LISTPRIVILEGES = [ FDirName $(TOP) schema list-privileges ] ;
    Depends $(<) : $(>) $(LISTPRIVILEGES) ;
    Clean clean : $(<) ;
    SEARCH on $(>) = [ FDirName $(TOP) schema ] ;
    MakeLocate $(<) : $(LOCATE_SOURCE) ;
}

actions PrivilegeList bind LISTPRIVILEGES
{
    perl $(LISTPRIVILEGES) > $(<) ;
}

PrivilegeList privileges.inc : schema.pg ;

rule ColumnList
{
    LISTCOLUMNS = [ FDirName $(TOP) schema list-columns ] ;
    Depends $(<) : $(>) $(LISTCOLUMNS) ;
    Clean clean : $(<) ;
    SEARCH on $(>) = [ FDirName $(TOP) schema ] ;
    MakeLocate $(<) : $(LOCATE_SOURCE) ;
}

actions ColumnList bind LISTCOLUMNS
{
    perl $(LISTCOLUMNS) > $(<) < $(>) ;
}

ColumnList columns.inc : schema.pg ;


Build database : database.cpp postgres.cpp pgmessage.cpp 
    query.cpp transaction.cpp schema.cpp dbsignal.cpp granter.cpp 
    schemachecker.cpp ;

if $(OS) != "OPENBSD" {
    UseLibrary postgres.cpp : crypt ;
}
