2 # FreeType 2 exports sub-Makefile
6 # Copyright 2005, 2006 by
7 # David Turner, Robert Wilhelm, and Werner Lemberg.
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
16 # DO NOT INVOKE THIS MAKEFILE DIRECTLY! IT IS MEANT TO BE INCLUDED BY
20 # This sub-Makefile is used to compute the list of exported symbols whenever
21 # the EXPORTS_LIST variable is defined by one of the platform or compiler
22 # specific build files.
24 # EXPORTS_LIST contains the name of the `list' file, for example a Windows
27 ifneq ($(EXPORTS_LIST
),)
29 # CCexe is the compiler used to compile the `apinames' tool program
30 # on the host machine. This isn't necessarily the same as the compiler
31 # which can be a cross-compiler for a different architecture, for example.
37 # TE acts like T, but for executables instead of object files.
42 # The list of public headers we're going to parse.
43 PUBLIC_HEADERS
:= $(wildcard $(PUBLIC_DIR
)/*.h
)
45 # The `apinames' source and executable. We use $E_BUILD as the host
46 # executable suffix, which *includes* the final dot.
48 # Note that $(APINAMES_OPTIONS) is empty, except for Windows compilers.
50 APINAMES_SRC
:= $(subst /,$(SEP
),$(TOP_DIR
)/src
/tools
/apinames.c
)
51 APINAMES_EXE
:= $(subst /,$(SEP
),$(OBJ_DIR
)/apinames
$(E_BUILD
))
53 $(APINAMES_EXE
): $(APINAMES_SRC
)
58 symbols_list
: $(EXPORTS_LIST
)
60 # We manually add TT_New_Context and TT_RunIns, which are needed by TT
61 # debuggers, to the EXPORTS_LIST.
63 $(EXPORTS_LIST
): $(APINAMES_EXE
) $(PUBLIC_HEADERS
)
64 $(subst /,$(SEP
),$(APINAMES_EXE
)) -o
$@
$(APINAMES_OPTIONS
) $(PUBLIC_HEADERS
)
65 @echo TT_New_Context
>> $(EXPORTS_LIST
)
66 @echo TT_RunIns
>> $(EXPORTS_LIST
)
68 $(PROJECT_LIBRARY
): $(EXPORTS_LIST
)
70 CLEAN
+= $(EXPORTS_LIST
) \