Initialize Tizen 2.3
[framework/graphics/freetype.git] / builds / exports.mk
1 #
2 # FreeType 2 exports sub-Makefile
3 #
4
5
6 # Copyright 2005, 2006 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 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.
23 #
24 # EXPORTS_LIST contains the name of the `list' file, for example a Windows
25 # .DEF file.
26 #
27 ifneq ($(EXPORTS_LIST),)
28
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.
32   #
33   ifeq ($(CCexe),)
34     CCexe := $(CC)
35   endif
36
37   # TE acts like T, but for executables instead of object files.
38   ifeq ($(TE),)
39     TE := $T
40   endif
41
42   # The list of public headers we're going to parse.
43   PUBLIC_HEADERS := $(wildcard $(PUBLIC_DIR)/*.h)
44
45   # The `apinames' source and executable.  We use $E_BUILD as the host
46   # executable suffix, which *includes* the final dot.
47   #
48   # Note that $(APINAMES_OPTIONS) is empty, except for Windows compilers.
49   #
50   APINAMES_SRC := $(subst /,$(SEP),$(TOP_DIR)/src/tools/apinames.c)
51   APINAMES_EXE := $(subst /,$(SEP),$(OBJ_DIR)/apinames$(E_BUILD))
52
53   $(APINAMES_EXE): $(APINAMES_SRC)
54           $(CCexe) $(TE)$@ $<
55
56   .PHONY: symbols_list
57
58   symbols_list: $(EXPORTS_LIST)
59
60   # We manually add TT_New_Context and TT_RunIns, which are needed by TT
61   # debuggers, to the EXPORTS_LIST.
62   #
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)
67
68   $(PROJECT_LIBRARY): $(EXPORTS_LIST)
69
70   CLEAN += $(EXPORTS_LIST) \
71            $(APINAMES_EXE)
72
73 endif
74
75
76 # EOF