blob: 1e32af867d5823cf5aca9b1c5fb290a23d7e12f8 [file] [log] [blame]
Chia-I Wuf68bf062009-09-02 12:04:56 +08001TOP = ../../../..
2GLAPI = ../../glapi
3include $(TOP)/configs/current
4
5OUTPUTS := \
6 glapi/glapidispatch.h \
7 glapi/glapioffsets.h \
8 glapi/glapitable.h \
9 glapi/glapitemp.h \
10 glapi/glprocs.h \
11 sparc/glapi_sparc.S \
12 x86-64/glapi_x86-64.S \
13 x86/glapi_x86.S \
14 main/enums.c \
15 main/remap_helper.h
16
17COMMON = gl_XML.py glX_XML.py license.py typeexpr.py
18COMMON := $(addprefix $(GLAPI)/, $(COMMON))
19
20ES1_APIXML := es1_API.xml
21ES2_APIXML := es2_API.xml
22ES1_OUTPUT_DIR := glapi-es1
23ES2_OUTPUT_DIR := glapi-es2
24
25ES1_DEPS = $(ES1_APIXML) base1_API.xml es1_EXT.xml es_EXT.xml \
26 es1_COMPAT.xml es_COMPAT.xml
27ES2_DEPS = $(ES2_APIXML) base2_API.xml es2_EXT.xml es_EXT.xml \
28 es2_COMPAT.xml es_COMPAT.xml
29
30ES1_OUTPUTS := $(addprefix $(ES1_OUTPUT_DIR)/, $(OUTPUTS))
31ES2_OUTPUTS := $(addprefix $(ES2_OUTPUT_DIR)/, $(OUTPUTS))
32
Chia-I Wu7be4d6b2010-01-24 11:03:20 +080033all: $(ES1_OUTPUTS) $(ES2_OUTPUTS)
Chia-I Wuf68bf062009-09-02 12:04:56 +080034
35$(ES1_OUTPUTS): APIXML := $(ES1_APIXML)
36$(ES2_OUTPUTS): APIXML := $(ES2_APIXML)
37$(ES1_OUTPUTS): $(ES1_DEPS)
38$(ES2_OUTPUTS): $(ES2_DEPS)
39
40define gen-glapi
41 @mkdir -p $(dir $@)
42 $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) $(1) > $@
43endef
44
45%/glapidispatch.h: $(GLAPI)/gl_table.py $(COMMON)
46 $(call gen-glapi,-c -m remap_table)
47
48%/glapioffsets.h: $(GLAPI)/gl_offsets.py $(COMMON)
49 $(call gen-glapi,-c)
50
51%/glapitable.h: $(GLAPI)/gl_table.py $(COMMON)
52 $(call gen-glapi,-c)
53
54%/glapitemp.h: $(GLAPI)/gl_apitemp.py $(COMMON)
Chia-I Wuf1c78742009-11-06 16:49:04 +080055 $(call gen-glapi,-c)
Chia-I Wuf68bf062009-09-02 12:04:56 +080056
57%/glprocs.h: $(GLAPI)/gl_procs.py $(COMMON)
58 $(call gen-glapi,-c)
59
60%/sparc/glapi_sparc.S: $(GLAPI)/gl_SPARC_asm.py $(COMMON)
61 $(call gen-glapi)
62
63%/x86-64/glapi_x86-64.S: $(GLAPI)/gl_x86-64_asm.py $(COMMON)
64 $(call gen-glapi)
65
66%/x86/glapi_x86.S: $(GLAPI)/gl_x86_asm.py $(COMMON)
67 $(call gen-glapi)
68
69%/main/enums.c: $(GLAPI)/gl_enums.py $(COMMON)
70 $(call gen-glapi)
71
72%/main/remap_helper.h: $(GLAPI)/remap_helper.py $(COMMON)
73 $(call gen-glapi)
74
75verify_xml:
76 @if [ ! -f gl.h ]; then \
77 echo "Please copy gl.h and gl2.h to this directory"; \
78 exit 1; \
79 fi
80 @echo "Verifying that es1_API.xml covers OpenGL ES 1.1..."
81 @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl.h > tmp.xml
82 @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es1_API.xml
83 @echo "Verifying that es2_API.xml covers OpenGL ES 2.0..."
84 @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl2.h > tmp.xml
85 @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es2_API.xml
86 @rm -f tmp.xml
87
88clean:
Chia-I Wuf68bf062009-09-02 12:04:56 +080089 -rm -rf $(ES1_OUTPUT_DIR) $(ES2_OUTPUT_DIR)
90 -rm -f *~ *.pyc *.pyo