# FreeType 2 src/type42 Jamfile
#
# Copyright (C) 2002-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) type42 ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = t42drivr
               t42objs
               t42parse
               ;
  }
  else
  {
    _sources = type42 ;
  }

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

# end of src/type42 Jamfile
