# FreeType 2 src/sfnt Jamfile
#
# Copyright 2001-2017 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT.  By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.

SubDir  FT2_TOP $(FT2_SRC_DIR) sfnt ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = pngshim
               sfdriver
               sfntpic
               sfobjs
               ttbdf
               ttcmap
               ttkern
               ttload
               ttmtx
               ttpost
               ttsbit
               ;
  }
  else
  {
    _sources = sfnt ;
  }

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

# end of src/sfnt Jamfile
