# FreeType 2 src/bdf 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) bdf ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = bdfdrivr
               bdflib
               ;
  }
  else
  {
    _sources = bdf ;
  }

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

# end of src/bdf Jamfile
