# FreeType 2 src/sfnt Jamfile
#
# Copyright 2001-2018 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
               ttcolr
               ttcpal
               ttkern
               ttload
               ttmtx
               ttpost
               ttsbit
               ;
  }
  else
  {
    _sources = sfnt ;
  }

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

# end of src/sfnt Jamfile
