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 31 ifneq ($(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)) 35 else 36 OPEN_MODULE := @echo " 37 CLOSE_MODULE := " >> $(FTMODULE_H) 38 REMOVE_MODULE := @-$(DELETE) $(FTMODULE_H) 39 endif 40 41 42 define FTMODULE_H_INIT 43 $(REMOVE_MODULE) 44 @-echo Generating modules list in $(FTMODULE_H)... 45 $(OPEN_MODULE)/* This is a generated file. */$(CLOSE_MODULE) 46 endef 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 # 52 define FTMODULE_H_CREATE 53 $(foreach COMMAND,$(FTMODULE_H_COMMANDS),$($(COMMAND)) 54 ) 55 endef 56 57 define FTMODULE_H_DONE 58 $(OPEN_MODULE)/* EOF */$(CLOSE_MODULE) 59 @echo done. 60 endef 61 62 63 # $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver 64 # in the `module.mk' rules file. 65 # 66 OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE( 67 CLOSE_DRIVER := )$(CLOSE_MODULE) 68 69 ECHO_DRIVER := @echo "* module:$(space) 70 ECHO_DRIVER_DESC := ( 71 ECHO_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