#****************************************************************************** #* #* 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