1 |
# this sub-Makefile is used to compute the list of exported symbols whenever |
# |
2 |
|
# FreeType 2 exports sub-Makefile |
3 |
|
# |
4 |
|
|
5 |
|
|
6 |
|
# Copyright 2005 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 |
# the EXPORTS_LIST variable is defined by one of the platform or compiler |
22 |
# specific build files |
# specific build files. |
23 |
# |
# |
24 |
# EXPORTS_LIST contains the name of the "list" file, which can be a Windows |
# EXPORTS_LIST contains the name of the `list' file, for example a Windows |
25 |
# .DEF file by the way |
# .DEF file. |
26 |
# |
# |
27 |
ifneq ($(EXPORTS_LIST),) |
ifneq ($(EXPORTS_LIST),) |
28 |
|
|
29 |
# CCexe is the compiler used to compile the "apinames" tool program |
# CCexe is the compiler used to compile the `apinames' tool program |
30 |
# on the host machine. This isn't necessarily the same than the compiler |
# on the host machine. This isn't necessarily the same as the compiler |
31 |
# which can be a cross-compiler for a different architecture |
# which can be a cross-compiler for a different architecture, for example. |
32 |
# |
# |
33 |
ifeq ($(CCexe),) |
ifeq ($(CCexe),) |
34 |
CCexe := $(CC) |
CCexe := $(CC) |
35 |
endif |
endif |
36 |
|
|
37 |
# TE acts as T, but for executables instead of object files |
# TE acts like T, but for executables instead of object files. |
38 |
ifeq ($(TE),) |
ifeq ($(TE),) |
39 |
TE := $T |
TE := $T |
40 |
endif |
endif |
41 |
|
|
42 |
# the list of public headers we're going to parse |
# The list of public headers we're going to parse. |
43 |
PUBLIC_HEADERS := $(wildcard $(PUBLIC_DIR)/*.h) |
PUBLIC_HEADERS := $(wildcard $(PUBLIC_DIR)/*.h) |
44 |
|
|
45 |
# the "apinames" source and executable. We use E as the executable |
# The `apinames' source and executable. We use $E as the executable |
46 |
# suffix, which *includes* the final dot |
# suffix, which *includes* the final dot. |
47 |
# note that $(APINAMES_OPTIONS) is empty, except for Windows compilers |
# |
48 |
|
# Note that $(APINAMES_OPTIONS) is empty, except for Windows compilers. |
49 |
# |
# |
50 |
APINAMES_SRC := $(TOP_DIR)/src/tools/apinames.c |
APINAMES_SRC := $(TOP_DIR)/src/tools/apinames.c |
51 |
APINAMES_EXE := $(OBJ_DIR)/apinames$E |
APINAMES_EXE := $(OBJ_DIR)/apinames$E |
52 |
|
|
53 |
$(APINAMES_EXE): $(APINAMES_SRC) |
$(APINAMES_EXE): $(APINAMES_SRC) |
54 |
$(CCexe) $(TE)$@ $< |
$(CCexe) $(TE)$@ $< |
55 |
|
|
56 |
.PHONY: symbols_list clean_symbols_list clean_apinames |
.PHONY: symbols_list clean_symbols_list clean_apinames |
57 |
|
|
58 |
symbols_list: $(EXPORTS_LIST) |
symbols_list: $(EXPORTS_LIST) |
59 |
|
|
60 |
$(EXPORTS_LIST): $(APINAMES_EXE) $(PUBLIC_HEADERS) |
$(EXPORTS_LIST): $(APINAMES_EXE) $(PUBLIC_HEADERS) |
61 |
$(subst /,$(SEP),$(APINAMES_EXE)) -o$@ $(APINAMES_OPTIONS) $(PUBLIC_HEADERS) |
$(subst /,$(SEP),$(APINAMES_EXE)) -o$@ $(APINAMES_OPTIONS) $(PUBLIC_HEADERS) |
62 |
|
|
63 |
$(PROJECT_LIBRARY): $(EXPORTS_LIST) |
$(PROJECT_LIBRARY): $(EXPORTS_LIST) |
64 |
|
|
65 |
clean_symbols_list: |
clean_symbols_list: |
66 |
-$(DELETE) $(subst /,$(SEP),$(EXPORTS_LIST)) |
-$(DELETE) $(subst /,$(SEP),$(EXPORTS_LIST)) |
67 |
|
|
68 |
clean_apinames: |
clean_apinames: |
69 |
-$(DELETE) $(subst /,$(SEP),$(APINAMES_EXE)) |
-$(DELETE) $(subst /,$(SEP),$(APINAMES_EXE)) |
70 |
|
|
71 |
clean_project: clean_symbols_list clean_apinames |
clean_project: clean_symbols_list clean_apinames |
72 |
|
|
|
endif |
|
73 |
|
endif |
74 |
|
|
75 |
|
|
76 |
|
# EOF |