Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1901 serge 1
# This file isn't used during a normal compilation since we don't want to
2
# require Python in order to compile Mesa.
3
# Instead, when the Mesa developers update/change the API interface it's
4
# up to him/her to re-run this makefile and check in the newly generated files.
5
 
6
 
7
TOP = ../../../..
8
include $(TOP)/configs/current
9
 
10
MESA_DIR = $(TOP)/src/mesa
11
MESA_GLAPI_DIR = $(TOP)/src/mapi/glapi
12
MESA_GLX_DIR = $(TOP)/src/glx
13
 
14
MESA_GLAPI_OUTPUTS = \
15
	$(MESA_GLAPI_DIR)/glprocs.h \
16
	$(MESA_GLAPI_DIR)/glapitemp.h \
17
	$(MESA_GLAPI_DIR)/glapitable.h
18
 
19
MESA_GLAPI_ASM_OUTPUTS = \
20
	$(MESA_GLAPI_DIR)/glapi_x86.S \
21
	$(MESA_GLAPI_DIR)/glapi_x86-64.S \
22
	$(MESA_GLAPI_DIR)/glapi_sparc.S
23
 
24
MESA_OUTPUTS = \
25
	$(MESA_GLAPI_OUTPUTS) \
26
	$(MESA_GLAPI_ASM_OUTPUTS) \
27
	$(MESA_DIR)/main/enums.c \
28
	$(MESA_DIR)/main/glapidispatch.h \
29
	$(MESA_DIR)/main/remap_helper.h \
30
	$(MESA_GLX_DIR)/indirect.c \
31
	$(MESA_GLX_DIR)/indirect.h \
32
	$(MESA_GLX_DIR)/indirect_init.c \
33
	$(MESA_GLX_DIR)/indirect_size.h \
34
	$(MESA_GLX_DIR)/indirect_size.c
35
 
36
######################################################################
37
 
38
XORG_GLX_DIR = $(XORG_BASE)/glx
39
XORG_GLAPI_DIR = $(XORG_BASE)/glx
40
 
41
XORG_GLAPI_FILES = \
42
	$(XORG_GLAPI_DIR)/glapi.h \
43
	$(XORG_GLAPI_DIR)/glapi.c \
44
	$(XORG_GLAPI_DIR)/glapi_getproc.c \
45
	$(XORG_GLAPI_DIR)/glapi_nop.c \
46
	$(XORG_GLAPI_DIR)/glthread.c \
47
	$(XORG_GLAPI_DIR)/glthread.h
48
 
49
XORG_GLAPI_OUTPUTS = \
50
	$(XORG_GLAPI_DIR)/glprocs.h \
51
	$(XORG_GLAPI_DIR)/glapitemp.h \
52
	$(XORG_GLAPI_DIR)/glapioffsets.h \
53
	$(XORG_GLAPI_DIR)/glapitable.h \
54
	$(XORG_GLAPI_DIR)/glapidispatch.h
55
 
56
XORG_OUTPUTS = \
57
	$(XORG_GLAPI_FILES) \
58
	$(XORG_GLAPI_OUTPUTS) \
59
	$(XORG_GLX_DIR)/indirect_dispatch.c \
60
	$(XORG_GLX_DIR)/indirect_dispatch_swap.c \
61
	$(XORG_GLX_DIR)/indirect_dispatch.h \
62
	$(XORG_GLX_DIR)/indirect_reqsize.c \
63
	$(XORG_GLX_DIR)/indirect_reqsize.h \
64
	$(XORG_GLX_DIR)/indirect_size.h \
65
	$(XORG_GLX_DIR)/indirect_size_get.c \
66
	$(XORG_GLX_DIR)/indirect_size_get.h \
67
	$(XORG_GLX_DIR)/indirect_table.c
68
 
69
######################################################################
70
 
71
API_XML = \
72
	gl_API.xml \
73
	ARB_copy_buffer.xml \
74
	ARB_depth_clamp.xml \
75
	ARB_draw_elements_base_vertex.xml \
76
	ARB_draw_instanced.xml \
77
	ARB_ES2_compatibility.xml \
78
	ARB_framebuffer_object.xml \
79
	ARB_geometry_shader4.xml \
80
	ARB_map_buffer_range.xml \
81
	ARB_seamless_cube_map.xml \
82
	ARB_sync.xml \
83
	ARB_vertex_array_object.xml \
84
	APPLE_object_purgeable.xml \
85
	APPLE_vertex_array_object.xml \
86
	EXT_draw_buffers2.xml \
87
	EXT_framebuffer_object.xml \
88
	EXT_gpu_shader4.xml \
89
	EXT_packed_depth_stencil.xml \
90
	EXT_provoking_vertex.xml \
91
	EXT_separate_shader_objects.xml \
92
	EXT_texture_array.xml \
93
	EXT_texture_integer.xml \
94
	EXT_transform_feedback.xml \
95
	NV_conditional_render.xml \
96
	NV_primitive_restart.xml \
97
	OES_EGL_image.xml \
98
	GL3x.xml
99
 
100
 
101
COMMON = $(API_XML) gl_XML.py glX_XML.py license.py typeexpr.py
102
 
103
COMMON_GLX = $(COMMON) glX_API.xml glX_XML.py glX_proto_common.py
104
 
105
######################################################################
106
 
107
all: mesa xorg
108
 
109
mesa: $(MESA_OUTPUTS)
110
 
111
xorg: check-xorg-source $(XORG_OUTPUTS)
112
 
113
check-xorg-source:
114
	@if ! test -d $(XORG_GLX_DIR); then \
115
		echo "ERROR: Must specify path to xserver/GL/ checkout; set XORG_BASE env var."; \
116
		exit 1; \
117
	fi
118
 
119
clean:
120
	-rm -f *~ *.pyo
121
	-rm -f $(MESA_OUTPUTS)
122
 
123
######################################################################
124
 
125
$(XORG_GLAPI_DIR)/%.c: $(MESA_GLAPI_DIR)/%.c
126
	cp $< $@
127
 
128
$(XORG_GLAPI_DIR)/%.h: $(MESA_GLAPI_DIR)/%.h
129
	cp $< $@
130
 
131
######################################################################
132
 
133
$(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON)
134
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
135
 
136
$(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON)
137
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
138
 
139
$(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON)
140
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
141
 
142
######################################################################
143
 
144
$(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON)
145
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
146
 
147
$(MESA_GLAPI_DIR)/glapi_x86-64.S: gl_x86-64_asm.py $(COMMON)
148
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
149
 
150
$(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON)
151
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
152
 
153
######################################################################
154
 
155
$(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(ES_API)
156
	$(PYTHON2) $(PYTHON_FLAGS) $< -f gl_API.xml \
157
		-f $(MESA_GLAPI_DIR)/gen-es/es1_API.xml \
158
		-f $(MESA_GLAPI_DIR)/gen-es/es2_API.xml > $@
159
 
160
$(MESA_DIR)/main/glapidispatch.h: gl_table.py $(COMMON)
161
	$(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@
162
 
163
$(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON)
164
	$(PYTHON2) $(PYTHON_FLAGS) $< > $@
165
 
166
######################################################################
167
 
168
$(MESA_GLX_DIR)/indirect.c: glX_proto_send.py $(COMMON_GLX)
169
	$(PYTHON2) $(PYTHON_FLAGS) $< -m proto | $(INDENT) $(INDENT_FLAGS) > $@
170
 
171
$(MESA_GLX_DIR)/indirect.h: glX_proto_send.py $(COMMON_GLX)
172
	$(PYTHON2) $(PYTHON_FLAGS) $< -m init_h > $@
173
 
174
$(MESA_GLX_DIR)/indirect_init.c: glX_proto_send.py $(COMMON_GLX)
175
	$(PYTHON2) $(PYTHON_FLAGS) $< -m init_c > $@
176
 
177
$(MESA_GLX_DIR)/indirect_size.h $(XORG_GLX_DIR)/indirect_size.h: glX_proto_size.py $(COMMON_GLX)
178
	$(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-set -h _INDIRECT_SIZE_H_ \
179
	  | $(INDENT) $(INDENT_FLAGS) > $@
180
 
181
$(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX)
182
	$(PYTHON2) $(PYTHON_FLAGS) $< -m size_c --only-set \
183
	  | $(INDENT) $(INDENT_FLAGS) > $@
184
 
185
######################################################################
186
 
187
$(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX)
188
	$(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c > $@
189
 
190
$(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX)
191
	$(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c -s > $@
192
 
193
$(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX)
194
	$(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_h -f gl_and_glX_API.xml -s > $@
195
 
196
$(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX)
197
	$(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-get -h '_INDIRECT_SIZE_GET_H_' \
198
	  | $(INDENT) $(INDENT_FLAGS) > $@
199
 
200
$(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX)
201
	$(PYTHON2) $(PYTHON_FLAGS) $< -m size_c | $(INDENT) $(INDENT_FLAGS) > $@
202
 
203
$(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX)
204
	$(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_h --only-get -h '_INDIRECT_SIZE_GET_H_' \
205
	  | $(INDENT) $(INDENT_FLAGS) -l200 > $@
206
 
207
$(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX)
208
	$(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_c | $(INDENT) $(INDENT_FLAGS) > $@
209
 
210
$(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX)
211
	$(PYTHON2) $(PYTHON_FLAGS) $< -f gl_and_glX_API.xml > $@