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

SubDir  FT2_TOP src cache ;

SubDirHdrs  [ FT2_SubDir  src cache ] ;

# The file <freetype/ftcache.h> contains some macro definitions that are
# later used in #include statements related to the cache sub-system.  It
# needs to be parsed through a HDRMACRO rule for macro definitions.
#
HDRMACRO  [ FT2_SubDir  include ftcache.h ] ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = ftlru ftcmanag ftccache ftcglyph ftcsbits ftcimage ftccmap ;
  }
  else
  {
    _sources = ftcache ;
  }

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

# end of src/cache Jamfile
