# FreeType 2 src/otvalid Jamfile
#
# Copyright 2004-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) otvalid ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = otvbase
               otvcommn
               otvgdef
               otvgpos
               otvgsub
               otvjstf
               otvmath
               otvmod
               ;
  }
  else
  {
    _sources = otvalid ;
  }

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

# end of src/otvalid Jamfile
