# FreeType 2 src/base Jamfile (c) 2001 David Turner
#

SubDir  FT2_TOP src base ;

SubDirHdrs  [ FT2_SubDir  src base ] ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = ftcalc ftextend ftlist ftobjs ftstream ftoutln ftnames fttrigon
               ftdbgmem ;
  }
  else
  {
    _sources = ftbase ;
  }

  Library  $(FT2_LIB) : $(_sources).c ;
}

# Add the optional/replaceable files.
#
Library  $(FT2_LIB) : ftsystem.c ftinit.c ftglyph.c ftmm.c
                      ftbbox.c ftdebug.c ;

# Add Macintosh-specific file to the library when necessary.
#
if $(MAC)
{
  Library  $(FT2_LIB) : ftmac.c ;
}

# end of src/base Jamfile
