summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>1999-12-16 23:11:37 +0000
committerDavid Turner <david@freetype.org>1999-12-16 23:11:37 +0000
commitd2b1f357049f6b5e6766af9f3dfa134d2527feec (patch)
tree242cdb325f5be30893b7e50694bd877d240b33bf /Makefile
downloadfreetype2-d2b1f357049f6b5e6766af9f3dfa134d2527feec.tar.gz
Initial revision
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile90
1 files changed, 90 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000..5932377e8
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,90 @@
+#******************************************************************************
+#*
+#* FreeType build system - top-level Makefile
+#*
+#* This file is designed for GNU Make, do not use it with another Make tool.
+#* It works as follows :
+#*
+#* - when invoked for the first time, this Makefile will include
+#* the rules found in `freetype/config/detect.mk'. They are in charge
+#* of detecting the current platform.
+#*
+#* A summary of the detection will be displayed, and the file `config.mk'
+#* will be created in the current directory
+#*
+#*
+#* - when invoked later, this Makefile will include the rules found in
+#* `config.mk'. This sub-Makefile will define some system-specific
+#* variables (like compiler, compilation flags, object suffix, etc..),
+#* then include the rules found in `freetype/config/freetype.mk',
+#* used to build the library.
+#*
+#* See the comments in `config/detect.mk' and `config/freetype.mk' for
+#* more details on host platform detection and library builds..
+#*
+#******************************************************************************
+
+.PHONY: setup
+
+#
+# The variable TOP holds the path to the topmost directory in the FreeType
+# engine source hierarchy. If it is not defined, default it to '.'
+#
+ifndef TOP
+TOP := .
+endif
+
+CONFIG_MK := config.mk
+
+#############################################################################
+#
+# If no configuration sub-makefile is present, or if "setup" is the target
+# to be built, run the auto-detection rules to figure out which configuration
+# rules file to use..
+#
+# Note that the configuration file is put in the current directory, which is
+# not necessarily TOP.
+#
+
+# if `config.mk' is not present, set "check_platform" and "first_time"
+#
+ifeq ($(wildcard $(CONFIG_MK)),)
+check_platform := 1
+first_time := 1
+endif
+
+# if `setup' is one of the targets requested, set "check_platform"
+#
+ifneq ($(findstring setup,$(MAKECMDGOALS)),)
+check_platform := 1
+endif
+
+
+#########################################################################
+#
+# include the automatic host platform detection rules when we need to
+# check the platform.
+#
+#
+ifdef check_platform
+
+all: setup
+
+include $(TOP)/config/detect.mk
+
+# "setup" must be defined by the host platform detection rules
+
+else
+
+########################################################################
+#
+# A configuration sub-Makefile is present, simply run it..
+#
+#
+all: build_freetype
+
+BUILD_FREETYPE := yes
+include $(CONFIG_MK)
+
+endif #test check_platform
+