# FreeType 2 src/bdf Jamfile
#
# Copyright 2002-2015 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
