Text Blame History Raw

FreeType 2 modules sub-Makefile

Copyright 1996-2017 by

David Turner, Robert Wilhelm, and Werner Lemberg.

This file is part of the FreeType project, and may only be used, modified,

and distributed under the terms of the FreeType project license,

LICENSE.TXT. By continuing to use, modify, or distribute this file you

indicate that you have read the license and understand and accept it

fully.

DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY

OTHER MAKEFILES.

This file is in charge of handling the generation of the modules list

file.

Build the modules list.

$(FTMODULE_H): $(MODULES_CFG) $(FTMODULE_H_INIT) $(FTMODULE_H_CREATE) $(FTMODULE_H_DONE)

ifneq ($(findstring $(PLATFORM),dos windows os2),) OPEN_MODULE := @echo$(space) CLOSE_MODULE := >> $(subst /,$(SEP),$(FTMODULE_H)) REMOVE_MODULE := @-$(DELETE) $(subst /,$(SEP),$(FTMODULE_H)) else OPEN_MODULE := @echo " CLOSE_MODULE := " >> $(FTMODULE_H) REMOVE_MODULE := @-$(DELETE) $(FTMODULE_H) endif

define FTMODULE_H_INIT $(REMOVE_MODULE) @-echo Generating modules list in $(FTMODULE_H)... $(OPEN_MODULE)/ This is a generated file. /$(CLOSE_MODULE) endef

It is no mistake that the final closing parenthesis is on the

next line -- it produces proper newlines during the expansion

of `foreach'.

define FTMODULE_H_CREATE $(foreach COMMAND,$(FTMODULE_H_COMMANDS),$($(COMMAND)) ) endef

define FTMODULE_H_DONE $(OPEN_MODULE)/ EOF /$(CLOSE_MODULE) @echo done. endef

$(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver

in the `module.mk' rules file.

OPEN_DRIVER := $(OPEN_MODULE)FT_USE_MODULE( CLOSE_DRIVER := )$(CLOSE_MODULE)

ECHO_DRIVER := @echo "* module:$(space) ECHO_DRIVER_DESC := ( ECHO_DRIVER_DONE := )"

Each module.mk' in thesrc/*' subdirectories adds a variable with

commands to $(FTMODULE_H_COMMANDS). Note that we can't use SRC_DIR here.

-include $(patsubst %,$(TOP_DIR)/src/%/module.mk,$(MODULES))

EOF