Text Blame History Raw

FreeType 2 exports sub-Makefile

Copyright 2005-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 sub-Makefile is used to compute the list of exported symbols whenever

the EXPORTS_LIST variable is defined by one of the platform or compiler

specific build files.

EXPORTS_LIST contains the name of the `list' file, for example a Windows

.DEF file.

ifneq ($(EXPORTS_LIST),)

# CCexe is the compiler used to compile the `apinames' tool program # on the host machine. This isn't necessarily the same as the compiler # which can be a cross-compiler for a different architecture, for example. # ifeq ($(CCexe),) CCexe := $(CC) endif

# TE acts like T, but for executables instead of object files. ifeq ($(TE),) TE := $T endif

# The list of public headers we're going to parse. PUBLIC_HEADERS := $(filter-out $(PUBLIC_DIR)/ftmac.h, \ $(wildcard $(PUBLIC_DIR)/*.h)) ifneq ($(ftmac_c),) PUBLIC_HEADERS += $(PUBLIC_DIR)/ftmac.h endif

# The `apinames' source and executable. We use $E_BUILD as the host # executable suffix, which includes the final dot. # # Note that $(APINAMES_OPTIONS) is empty, except for Windows compilers. # APINAMES_SRC := $(subst /,$(SEP),$(TOP_DIR)/src/tools/apinames.c) APINAMES_EXE := $(subst /,$(SEP),$(OBJ_DIR)/apinames$(E_BUILD))

$(APINAMES_EXE): $(APINAMES_SRC) $(CCexe) $(CCexe_CFLAGS) $(TE)$@ $< $(CCexe_LDFLAGS)

.PHONY: symbols_list

symbols_list: $(EXPORTS_LIST)

# We manually add TT_New_Context and TT_RunIns, which are needed by TT # debuggers, to the EXPORTS_LIST. # $(EXPORTS_LIST): $(APINAMES_EXE) $(PUBLIC_HEADERS) $(subst /,$(SEP),$(APINAMES_EXE)) -o$@ $(APINAMES_OPTIONS) $(PUBLIC_HEADERS) @echo TT_New_Context >> $(EXPORTS_LIST) @echo TT_RunIns >> $(EXPORTS_LIST)

$(PROJECT_LIBRARY): $(EXPORTS_LIST)

CLEAN += $(EXPORTS_LIST) \ $(APINAMES_EXE)

endif

EOF