mirror of https://github.com/freetype/freetype
109 lines
2.7 KiB
Makefile
109 lines
2.7 KiB
Makefile
#******************************************************************************
|
|
#*
|
|
#* 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
|
|
|
|
|
|
# if the module list $(FT_MODULE_LIST) file is not present,
|
|
# generate it
|
|
#
|
|
modules: make_module_list setup
|
|
|
|
include $(TOP)/config/detect.mk
|
|
include $(TOP)/config/modules.mk
|
|
|
|
ifeq ($(wildcard $(FT_MODULE_LIST)),)
|
|
setup: make_module_list
|
|
endif
|
|
|
|
|
|
# "setup" must be defined by the host platform detection rules
|
|
# to create the 'config.mk' file in the current directory.
|
|
#
|
|
|
|
|
|
|
|
else
|
|
|
|
########################################################################
|
|
#
|
|
# A configuration sub-Makefile is present, simply run it..
|
|
#
|
|
#
|
|
all: build_freetype
|
|
|
|
modules: make_module_list
|
|
|
|
BUILD_FREETYPE := yes
|
|
include $(CONFIG_MK)
|
|
|
|
endif #test check_platform
|
|
|