Subversion Repositories Kolibri OS

Rev

Rev 4632 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4632 Serge 1
CC = gcc
2
 
3
SRC_DIR:=$(SDK_DIR)/sources
4
MESA_SRC:= $(SRC_DIR)/Mesa/src
5
 
6
CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -Os
4633 Serge 7
CFLAGS_OPT+= -fomit-frame-pointer -mno-ms-bitfields
4632 Serge 8
CFLAGS   = -c $(CFLAGS_OPT)
9
 
10
LD = ld
11
LDFLAGS = -nostdlib -shared -s --image-base 0 -T $(SRC_DIR)/newlib/dll.lds -e _DllStartup
12
 
13
STRIP = $(PREFIX)strip
14
 
15
INC_MESA:= -I$(SRC_DIR)/newlib/include -I$(SRC_DIR)/Mesa/include
16
INC_MESA+= -I./ -I$(MESA_SRC)/glsl -I$(MESA_SRC)/mesa -I$(MESA_SRC)/mapi
17
INC_MESA+= -I$(SRC_DIR)/libdrm -I$(MESA_SRC) -I$(SRC_DIR)/expat/lib
18
INC_I965:= -I$(SRC_DIR)/libdrm/intel -I$(SRC_DIR)/libdrm/include/drm -I$(MESA_SRC)/mesa/drivers/dri/common
19
 
20
LIBPATH:= -L$(SDK_DIR)/lib
21
 
22
LIBS:=  -ldll -lglsl -lGL.dll -lsupc++ -lgcc_eh -ldrm.dll -lexpat -lc.dll -lgcc
23
 
24
MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256
25
MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
26
MESA_DEFS+= -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
27
MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -D_GLAPI_DLL_EXPORTS
28
 
29
 
30
MAIN_SRC = 				\
31
	drivers/common/driverfuncs.c	\
32
	drivers/common/meta.c		\
33
	drivers/dri/common/dri_util.c	\
34
	drivers/dri/common/utils.c	\
35
	drivers/dri/common/xmlconfig.c	\
36
	main/accum.c			\
37
	main/api_arrayelt.c		\
38
	main/api_exec.c			\
39
	main/api_loopback.c		\
40
	main/api_validate.c		\
41
	main/arbprogram.c		\
42
	main/arrayobj.c			\
43
	main/atifragshader.c		\
44
	main/attrib.c			\
45
	main/blend.c			\
46
	main/bufferobj.c		\
47
	main/buffers.c			\
48
	main/clear.c			\
49
	main/clip.c			\
50
	main/colortab.c			\
51
	main/condrender.c		\
52
	main/context.c			\
53
	main/convolve.c			\
54
	main/cpuinfo.c			\
55
	main/debug.c			\
56
	main/depth.c			\
57
	main/dlist.c			\
58
	main/drawpix.c			\
59
	main/drawtex.c			\
60
	main/enable.c			\
61
	main/enums.c			\
62
	main/errors.c			\
63
	main/es1_conversion.c		\
64
	main/eval.c			\
65
	main/execmem.c			\
66
	main/extensions.c		\
67
	main/ff_fragment_shader.cpp	\
68
	main/fbobject.c			\
69
	main/feedback.c			\
70
	main/ffvertex_prog.c		\
71
	main/fog.c			\
72
	main/format_pack.c		\
73
	main/format_unpack.c		\
74
	main/formatquery.c		\
75
	main/formats.c			\
76
	main/framebuffer.c		\
77
	main/get.c			\
78
	main/getstring.c		\
79
	main/glformats.c		\
80
	main/hash.c			\
81
	main/hash_table.c		\
82
	main/hint.c			\
83
	main/histogram.c		\
84
	main/image.c			\
85
	main/imports.c			\
86
	main/light.c			\
87
	main/lines.c			\
88
	main/matrix.c			\
89
	main/mipmap.c			\
90
	main/mm.c			\
91
	main/multisample.c		\
92
	main/pack.c			\
93
	main/pbo.c			\
94
	main/pixel.c			\
95
	main/pixelstore.c		\
96
	main/pixeltransfer.c		\
97
	main/points.c			\
98
	main/polygon.c			\
99
	main/querymatrix.c		\
100
	main/queryobj.c			\
101
	main/rastpos.c			\
102
	main/readpix.c			\
103
	main/remap.c			\
104
	main/renderbuffer.c		\
105
	main/samplerobj.c		\
106
	main/scissor.c			\
107
	main/set.c			\
108
	main/shader_query.c		\
109
	main/shaderapi.c		\
110
	main/shaderobj.c		\
111
	main/shared.c			\
112
	main/state.c			\
113
	main/stencil.c			\
114
	main/syncobj.c			\
115
	main/texcompress.c		\
116
	main/texcompress_cpal.c		\
117
	main/texcompress_etc.c		\
118
	main/texcompress_fxt1.c		\
119
	main/texcompress_rgtc.c		\
120
	main/texcompress_s3tc.c		\
121
	main/texenv.c			\
122
	main/texformat.c		\
123
	main/texgen.c			\
124
	main/texgetimage.c		\
125
	main/teximage.c			\
126
	main/texobj.c			\
127
	main/texparam.c			\
128
	main/texstate.c			\
129
	main/texstorage.c		\
130
	main/texstore.c			\
131
	main/texturebarrier.c		\
132
	main/transformfeedback.c	\
133
	main/uniform_query.cpp		\
134
	main/uniforms.c			\
135
	main/varray.c			\
136
	main/version.c			\
137
	main/viewport.c			\
138
	main/vtxfmt.c			\
139
	math/m_debug_clip.c		\
140
	math/m_debug_norm.c		\
141
	math/m_debug_xform.c		\
142
	math/m_eval.c			\
143
	math/m_matrix.c			\
144
	math/m_translate.c		\
145
	math/m_vector.c			\
146
	math/m_xform.c			\
147
	program/arbprogparse.c		\
148
	program/ir_to_mesa.cpp		\
149
	program/lex.yy.c		\
150
	program/prog_cache.c		\
151
	program/prog_execute.c		\
152
	program/prog_hash_table.c	\
153
	program/prog_instruction.c	\
154
	program/prog_noise.c		\
155
	program/prog_opt_constant_fold.c\
156
	program/prog_optimize.c		\
157
	program/prog_parameter.c	\
158
	program/prog_parameter_layout.c	\
159
	program/prog_print.c		\
160
	program/prog_statevars.c	\
161
	program/program.c		\
162
	program/program_parse.tab.c	\
163
	program/program_parse_extra.c	\
164
	program/programopt.c		\
165
	program/register_allocate.c	\
166
	program/sampler.cpp		\
167
	program/string_to_uint_map.cpp	\
168
	program/symbol_table.c		\
169
	swrast/s_aaline.c		\
170
	swrast/s_aatriangle.c		\
171
	swrast/s_alpha.c		\
172
	swrast/s_atifragshader.c	\
173
	swrast/s_bitmap.c		\
174
	swrast/s_blend.c		\
175
	swrast/s_blit.c			\
176
	swrast/s_clear.c		\
177
	swrast/s_context.c		\
178
	swrast/s_copypix.c		\
179
	swrast/s_depth.c		\
180
	swrast/s_drawpix.c		\
181
	swrast/s_feedback.c		\
182
	swrast/s_fog.c			\
183
	swrast/s_fragprog.c		\
184
	swrast/s_lines.c		\
185
	swrast/s_logic.c		\
186
	swrast/s_masking.c		\
187
	swrast/s_points.c		\
188
	swrast/s_renderbuffer.c		\
189
	swrast/s_span.c			\
190
	swrast/s_stencil.c		\
191
	swrast/s_texcombine.c		\
192
	swrast/s_texfetch.c		\
193
	swrast/s_texfilter.c		\
194
	swrast/s_texrender.c		\
195
	swrast/s_texture.c		\
196
	swrast/s_triangle.c		\
197
	swrast/s_zoom.c			\
198
	swrast_setup/ss_context.c	\
199
	swrast_setup/ss_triangle.c	\
200
	tnl/t_context.c			\
201
	tnl/t_draw.c			\
202
	tnl/t_pipeline.c		\
203
	tnl/t_rasterpos.c		\
204
	tnl/t_vb_fog.c			\
205
	tnl/t_vb_light.c		\
206
	tnl/t_vb_normals.c		\
207
	tnl/t_vb_points.c		\
208
	tnl/t_vb_program.c		\
209
	tnl/t_vb_render.c		\
210
	tnl/t_vb_texgen.c		\
211
	tnl/t_vb_texmat.c		\
212
	tnl/t_vb_vertex.c		\
213
	tnl/t_vertex.c			\
214
	tnl/t_vertex_generic.c		\
215
	tnl/t_vertex_sse.c		\
216
	tnl/t_vp_build.c		\
217
	vbo/vbo_context.c		\
218
	vbo/vbo_exec.c			\
219
	vbo/vbo_exec_api.c		\
220
	vbo/vbo_exec_array.c		\
221
	vbo/vbo_exec_draw.c		\
222
	vbo/vbo_exec_eval.c		\
223
	vbo/vbo_noop.c			\
224
	vbo/vbo_primitive_restart.c	\
225
	vbo/vbo_rebase.c		\
226
	vbo/vbo_save.c			\
227
	vbo/vbo_save_api.c		\
228
	vbo/vbo_save_draw.c		\
229
	vbo/vbo_save_loopback.c		\
230
	vbo/vbo_split.c			\
231
	vbo/vbo_split_copy.c		\
232
	vbo/vbo_split_inplace.c		\
233
	x86/common_x86.c		\
234
	x86/common_x86_asm.S		\
235
	x86/mmx_blend.S			\
236
	x86/read_rgba_span_x86.S	\
237
	x86/rtasm/x86sse.c		\
238
	x86/sse.c			\
239
	x86/sse_normal.S		\
240
	x86/sse_xform1.S		\
241
	x86/sse_xform2.S		\
242
	x86/sse_xform3.S		\
243
	x86/sse_xform4.S		\
244
	x86/x86_cliptest.S		\
245
	x86/x86_xform.c			\
246
	x86/x86_xform2.S		\
247
	x86/x86_xform3.S		\
248
	x86/x86_xform4.S		\
249
	$(NULL)
250
 
251
I965_SRC = 					\
252
	drivers/dri/i965/intel_batchbuffer.c 	\
253
	drivers/dri/i965/intel_blit.c 		\
254
	drivers/dri/i965/intel_buffer_objects.c \
255
	drivers/dri/i965/intel_buffers.c 	\
256
	drivers/dri/i965/intel_context.c 	\
257
	drivers/dri/i965/intel_extensions.c 	\
258
	drivers/dri/i965/intel_fbo.c 		\
259
	drivers/dri/i965/intel_mipmap_tree.c 	\
260
	drivers/dri/i965/intel_regions.c 	\
261
	drivers/dri/i965/intel_resolve_map.c 	\
262
	drivers/dri/i965/intel_screen.c 	\
263
	drivers/dri/i965/intel_pixel.c 		\
264
	drivers/dri/i965/intel_pixel_bitmap.c 	\
265
	drivers/dri/i965/intel_pixel_copy.c 	\
266
	drivers/dri/i965/intel_pixel_draw.c 	\
267
	drivers/dri/i965/intel_pixel_read.c 	\
268
	drivers/dri/i965/intel_state.c 		\
269
	drivers/dri/i965/intel_syncobj.c 	\
270
	drivers/dri/i965/intel_tex.c 		\
271
	drivers/dri/i965/intel_tex_copy.c 	\
272
	drivers/dri/i965/intel_tex_image.c 	\
273
	drivers/dri/i965/intel_tex_subimage.c 	\
274
	drivers/dri/i965/intel_tex_validate.c 	\
275
	drivers/dri/i965/brw_blorp.cpp 		\
276
	drivers/dri/i965/brw_blorp_blit.cpp 	\
277
	drivers/dri/i965/brw_blorp_clear.cpp 	\
278
	drivers/dri/i965/brw_cc.c 		\
279
	drivers/dri/i965/brw_cfg.cpp 		\
280
	drivers/dri/i965/brw_clear.c 		\
281
	drivers/dri/i965/brw_clip.c 		\
282
	drivers/dri/i965/brw_clip_line.c 	\
283
	drivers/dri/i965/brw_clip_point.c 	\
284
	drivers/dri/i965/brw_clip_state.c 	\
285
	drivers/dri/i965/brw_clip_tri.c 	\
286
	drivers/dri/i965/brw_clip_unfilled.c 	\
287
	drivers/dri/i965/brw_clip_util.c 	\
288
	drivers/dri/i965/brw_context.c 		\
289
	drivers/dri/i965/brw_cubemap_normalize.cpp 	\
290
	drivers/dri/i965/brw_curbe.c 		\
291
	drivers/dri/i965/brw_disasm.c 		\
292
	drivers/dri/i965/brw_draw.c 		\
293
	drivers/dri/i965/brw_draw_upload.c 	\
294
	drivers/dri/i965/brw_eu.c 		\
295
	drivers/dri/i965/brw_eu_compact.c 	\
296
	drivers/dri/i965/brw_eu_emit.c 		\
297
	drivers/dri/i965/brw_eu_util.c 		\
298
	drivers/dri/i965/brw_fs.cpp 			\
299
	drivers/dri/i965/brw_fs_channel_expressions.cpp \
300
	drivers/dri/i965/brw_fs_copy_propagation.cpp \
301
	drivers/dri/i965/brw_fs_cse.cpp 	\
302
	drivers/dri/i965/brw_fs_emit.cpp 	\
303
	drivers/dri/i965/brw_fs_fp.cpp 		\
304
	drivers/dri/i965/brw_fs_live_variables.cpp 	\
305
	drivers/dri/i965/brw_fs_reg_allocate.cpp 	\
306
	drivers/dri/i965/brw_fs_vector_splitting.cpp \
307
	drivers/dri/i965/brw_fs_visitor.cpp 	\
308
	drivers/dri/i965/brw_gs.c 		\
309
	drivers/dri/i965/brw_gs_emit.c 		\
310
	drivers/dri/i965/brw_gs_state.c 	\
311
	drivers/dri/i965/brw_lower_texture_gradients.cpp \
312
	drivers/dri/i965/brw_misc_state.c 	\
313
	drivers/dri/i965/brw_program.c 		\
314
	drivers/dri/i965/brw_primitive_restart.c\
315
	drivers/dri/i965/brw_queryobj.c 	\
316
	drivers/dri/i965/brw_schedule_instructions.cpp \
317
	drivers/dri/i965/brw_sf.c 		\
318
	drivers/dri/i965/brw_sf_emit.c 		\
319
	drivers/dri/i965/brw_sf_state.c 	\
320
	drivers/dri/i965/brw_shader.cpp 	\
321
	drivers/dri/i965/brw_state_batch.c 	\
322
	drivers/dri/i965/brw_state_cache.c 	\
323
	drivers/dri/i965/brw_state_dump.c 	\
324
	drivers/dri/i965/brw_state_upload.c 	\
325
	drivers/dri/i965/brw_surface_formats.c 	\
326
	drivers/dri/i965/brw_tex.c 		\
327
	drivers/dri/i965/brw_tex_layout.c 	\
328
	drivers/dri/i965/brw_urb.c 		\
329
	drivers/dri/i965/brw_util.c 		\
330
	drivers/dri/i965/brw_vec4.cpp 		\
331
	drivers/dri/i965/brw_vec4_copy_propagation.cpp \
332
	drivers/dri/i965/brw_vec4_emit.cpp 	\
333
	drivers/dri/i965/brw_vec4_live_variables.cpp \
334
	drivers/dri/i965/brw_vec4_reg_allocate.cpp 	\
335
	drivers/dri/i965/brw_vec4_visitor.cpp 	\
336
	drivers/dri/i965/brw_vec4_vp.cpp 	\
337
	drivers/dri/i965/brw_vs.c 		\
338
	drivers/dri/i965/brw_vs_state.c 	\
339
	drivers/dri/i965/brw_vs_surface_state.c \
340
	drivers/dri/i965/brw_vtbl.c 		\
341
	drivers/dri/i965/brw_wm.c 		\
342
	drivers/dri/i965/brw_wm_iz.cpp 		\
343
	drivers/dri/i965/brw_wm_sampler_state.c \
344
	drivers/dri/i965/brw_wm_state.c 	\
345
	drivers/dri/i965/brw_wm_surface_state.c \
346
	drivers/dri/i965/gen6_blorp.cpp 	\
347
	drivers/dri/i965/gen6_cc.c 		\
348
	drivers/dri/i965/gen6_clip_state.c 	\
349
	drivers/dri/i965/gen6_depthstencil.c 	\
350
	drivers/dri/i965/gen6_gs_state.c 	\
351
        drivers/dri/i965/gen6_multisample_state.c 	\
352
	drivers/dri/i965/gen6_queryobj.c 	\
353
	drivers/dri/i965/gen6_sampler_state.c 	\
354
	drivers/dri/i965/gen6_scissor_state.c 	\
355
	drivers/dri/i965/gen6_sf_state.c 	\
356
        drivers/dri/i965/gen6_sol.c 		\
357
	drivers/dri/i965/gen6_urb.c 		\
358
	drivers/dri/i965/gen6_viewport_state.c 	\
359
	drivers/dri/i965/gen6_vs_state.c 	\
360
	drivers/dri/i965/gen6_wm_state.c 	\
361
	drivers/dri/i965/gen7_blorp.cpp 	\
362
	drivers/dri/i965/gen7_clip_state.c 	\
363
	drivers/dri/i965/gen7_disable.c 	\
364
	drivers/dri/i965/gen7_misc_state.c 	\
365
	drivers/dri/i965/gen7_sampler_state.c 	\
366
	drivers/dri/i965/gen7_sf_state.c 	\
367
	drivers/dri/i965/gen7_sol_state.c 	\
368
	drivers/dri/i965/gen7_urb.c 		\
369
	drivers/dri/i965/gen7_viewport_state.c 	\
370
	drivers/dri/i965/gen7_vs_state.c 	\
371
	drivers/dri/i965/gen7_wm_state.c 	\
372
	drivers/dri/i965/gen7_wm_surface_state.c\
373
	$(NULL)
374
 
375
MESA_OBJS =  $(patsubst %.c, %.o, $(patsubst %.S, %.o, $(patsubst %.cpp, %.o, $(MAIN_SRC))))
376
I965_OBJS =  $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(I965_SRC)))
377
 
378
# targets
379
 
380
all: i965_dri.drv
381
 
382
i965_dri.drv: $(I965_OBJS) $(MESA_OBJS) dri.def Makefile
383
	$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(I965_OBJS) $(MESA_OBJS) dri.def $(LIBS)
384
	$(STRIP) $@
385
	mv -f $@ $(SDK_DIR)/bin
386
 
387
%.o : %.c Makefile
388
	$(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
389
 
390
%.o : %.S Makefile
4633 Serge 391
	$(CC) -c -U_WIN32 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -I $(MESA_SRC)/mesa -o $@ $<
4632 Serge 392
 
393
%.o : %.cpp Makefile
394
	$(CC) $(CFLAGS) $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
395