Merge branch 'mesa_7_7_branch'
[mesa.git] / src / mesa / es / glapi / Makefile
1 TOP = ../../../..
2 GLAPI = ../../glapi
3 include $(TOP)/configs/current
4
5 OUTPUTS := \
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
17 COMMON = gl_XML.py glX_XML.py license.py typeexpr.py
18 COMMON := $(addprefix $(GLAPI)/, $(COMMON))
19
20 ES1_APIXML := es1_API.xml
21 ES2_APIXML := es2_API.xml
22 ES1_OUTPUT_DIR := glapi-es1
23 ES2_OUTPUT_DIR := glapi-es2
24
25 ES1_DEPS = $(ES1_APIXML) base1_API.xml es1_EXT.xml es_EXT.xml \
26 es1_COMPAT.xml es_COMPAT.xml
27 ES2_DEPS = $(ES2_APIXML) base2_API.xml es2_EXT.xml es_EXT.xml \
28 es2_COMPAT.xml es_COMPAT.xml
29
30 ES1_OUTPUTS := $(addprefix $(ES1_OUTPUT_DIR)/, $(OUTPUTS))
31 ES2_OUTPUTS := $(addprefix $(ES2_OUTPUT_DIR)/, $(OUTPUTS))
32
33 all: $(ES1_OUTPUTS) $(ES2_OUTPUTS)
34
35 $(ES1_OUTPUTS): APIXML := $(ES1_APIXML)
36 $(ES2_OUTPUTS): APIXML := $(ES2_APIXML)
37 $(ES1_OUTPUTS): $(ES1_DEPS)
38 $(ES2_OUTPUTS): $(ES2_DEPS)
39
40 define gen-glapi
41 @mkdir -p $(dir $@)
42 $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) $(1) > $@
43 endef
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)
55 $(call gen-glapi,-c)
56
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
75 verify_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
88 clean:
89 -rm -rf $(ES1_OUTPUT_DIR) $(ES2_OUTPUT_DIR)
90 -rm -f *~ *.pyc *.pyo