# FreeType 2 src/smooth Jamfile
#
# Copyright (C) 2001-2020 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) smooth ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = ftgrays
               ftsmooth
               ftspic
               ;
  }
  else
  {
    _sources = smooth ;
  }

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

# end of src/smooth Jamfile
