1# 2# FreeType 2 modules sub-Makefile 3# 4 5 6# Copyright 1996-2018 by 7# David Turner, Robert Wilhelm, and Werner Lemberg. 8# 9# This file is part of the FreeType project, and may only be used, modified, 10# and distributed under the terms of the FreeType project license, 11# LICENSE.TXT. By continuing to use, modify, or distribute this file you 12# indicate that you have read the license and understand and accept it 13# fully. 14 15 16# DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY 17# OTHER MAKEFILES. 18 19 20# This file is in charge of handling the generation of the modules list 21# file. 22 23 24# Build the modules list. 25# 26$(FTMODULE_H): $(MODULES_CFG) 27 $(FTMODULE_H_INIT) 28 $(FTMODULE_H_CREATE) 29 $(FTMODULE_H_DONE) 30 31ifneq ($(findstring $(PLATFORM),dos windows os2),) 32 OPEN_MODULE := @echo$(space) 33 CLOSE_MODULE := >> $(subst /,$(SEP),$(FTMODULE_H)) 34 REMOVE_MODULE := @-$(DELETE) $(subst /,$(SEP),$(FTMODULE_H)) 35else 36 OPEN_MODULE := @echo " 37 CLOSE_MODULE := " >> $(FTMODULE_H) 38 REMOVE_MODULE := @-$(DELETE) $(FTMODULE_H) 39endif 40 41 42define FTMODULE_H_INIT 43$(REMOVE_MODULE) 44@-echo Generating modules list in $(FTMODULE_H)... 45$(OPEN_MODULE)/* This is a generated file. */$(CLOSE_MODULE) 46endef 47 48# It is no mistake that the final closing parenthesis is on the 49# next line -- it produces proper newlines during the expansion 50# of `foreach'. 51# 52define FTMODULE_H_CREATE 53$(foreach COMMAND,$(FTMODULE_H_COMMANDS),$($(COMMAND)) 54) 55endef 56 57define FTMODULE_H_DONE 58$(OPEN_MODULE)/* EOF */$(CLOSE_MODULE) 59@echo done. 60endef 61 62 63# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver 64# in the `module.mk' rules file. 65# 66OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE( 67CLOSE_DRIVER := )$(CLOSE_MODULE) 68 69ECHO_DRIVER := @echo "* module:$(space) 70ECHO_DRIVER_DESC := ( 71ECHO_DRIVER_DONE := )" 72 73# Each `module.mk' in the `src/*' subdirectories adds a variable with 74# commands to $(FTMODULE_H_COMMANDS). Note that we can't use SRC_DIR here. 75# 76-include $(patsubst %,$(TOP_DIR)/src/%/module.mk,$(MODULES)) 77 78 79# EOF 80