# FreeType 2 src/psnames Jamfile
#
# Copyright 2001-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) psnames ;

{
  local  _sources ;

  if $(FT2_MULTI)
  {
    _sources = psmodule
               pspic
               ;
  }
  else
  {
    _sources = psnames ;
  }

  Library  $(FT2_LIB) : $(_sources).c ;
}

# end of src/psnames Jamfile
