#
# FreeType 2 build system -- top-level Makefile
#


# Copyright 1996-2000, 2002 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.


# Project names
#
PROJECT := freetype
PROJECT_TITLE := FreeType

USE_MODULES := 1

# The variable TOP_DIR holds the path to the topmost directory in the project
# engine source hierarchy.  If it is not defined, default it to `.'.
#
ifndef TOP_DIR
  TOP_DIR := .
endif

include $(TOP_DIR)/builds/toplevel.mk

# EOF
