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