2005-10-29 20:27:43 +04:00
|
|
|
SubDir HAIKU_TOP src kits opengl mesa ;
|
2005-06-27 00:21:09 +04:00
|
|
|
|
2005-11-24 08:21:04 +03:00
|
|
|
SetSubDirSupportedPlatformsBeOSCompatible ;
|
|
|
|
|
|
|
|
if $(TARGET_PLATFORM) != haiku {
|
|
|
|
UseHeaders [ FDirName $(HAIKU_TOP) headers os opengl ] : true ;
|
2006-05-22 19:48:12 +04:00
|
|
|
# We need our not platform one, public GL headers also when not compiling for Haiku.
|
2005-11-24 08:21:04 +03:00
|
|
|
}
|
|
|
|
|
2005-06-27 00:21:09 +04:00
|
|
|
UsePrivateHeaders opengl ;
|
|
|
|
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) main ] ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) glapi ] ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) math ] ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) tnl ] ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) shader ] ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) swrast ] ;
|
|
|
|
UseHeaders [ FDirName $(SUBDIR) swrast_setup ] ;
|
|
|
|
|
2005-10-29 20:27:43 +04:00
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) array_cache ] ;
|
2006-09-07 18:02:34 +04:00
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) drivers common ] ;
|
2005-10-29 20:27:43 +04:00
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) glapi ] ;
|
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) main ] ;
|
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) math ] ;
|
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) shader ] ;
|
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) swrast ] ;
|
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) swrast_setup ] ;
|
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) tnl ] ;
|
|
|
|
|
2006-05-22 19:48:12 +04:00
|
|
|
{
|
2006-05-24 17:08:15 +04:00
|
|
|
local defines ;
|
2006-05-22 19:48:12 +04:00
|
|
|
defines = BEOS_THREADS GNU_ASSEMBLER ;
|
2005-10-29 20:27:43 +04:00
|
|
|
|
2006-05-22 19:48:12 +04:00
|
|
|
if $(TARGET_ARCH) = x86 {
|
2006-09-08 16:56:41 +04:00
|
|
|
defines += USE_X86_ASM USE_MMX_ASM USE_3DNOW_ASM ; #USE_SSE_ASM ;
|
2006-05-22 19:48:12 +04:00
|
|
|
} else {
|
|
|
|
# Not yet supported, as current Mesa3D PPC assembly is Linux-dependent!
|
2006-05-24 17:08:15 +04:00
|
|
|
# defines += USE_PPC_ASM ;
|
2006-05-22 19:48:12 +04:00
|
|
|
}
|
2005-06-27 00:21:09 +04:00
|
|
|
|
2006-05-22 19:48:12 +04:00
|
|
|
defines = [ FDefines $(defines) ] ;
|
|
|
|
SubDirCcFlags $(defines) ;
|
|
|
|
SubDirC++Flags $(defines) ;
|
2006-09-05 20:00:15 +04:00
|
|
|
SubDirAsFlags $(defines) ;
|
2006-05-22 19:48:12 +04:00
|
|
|
}
|
2006-05-19 19:52:21 +04:00
|
|
|
|
2006-05-22 19:48:12 +04:00
|
|
|
local arch_sources ;
|
2006-05-19 19:52:21 +04:00
|
|
|
if $(TARGET_ARCH) = x86 {
|
2006-05-22 19:48:12 +04:00
|
|
|
|
|
|
|
arch_sources =
|
|
|
|
common_x86.c
|
2006-05-19 19:52:21 +04:00
|
|
|
common_x86_asm.S
|
2006-05-22 19:48:12 +04:00
|
|
|
|
|
|
|
x86.c
|
|
|
|
x86_xform2.S
|
|
|
|
x86_xform3.S
|
|
|
|
x86_xform4.S
|
|
|
|
x86_cliptest.S
|
|
|
|
mmx_blend.S
|
|
|
|
3dnow.c
|
|
|
|
3dnow_xform1.S
|
|
|
|
3dnow_xform2.S
|
|
|
|
3dnow_xform3.S
|
|
|
|
3dnow_xform4.S
|
|
|
|
3dnow_normal.S
|
|
|
|
sse.c
|
|
|
|
sse_xform1.S
|
|
|
|
sse_xform2.S
|
|
|
|
sse_xform3.S
|
|
|
|
sse_xform4.S
|
2006-05-19 19:52:21 +04:00
|
|
|
sse_normal.S
|
|
|
|
read_rgba_span_x86.S
|
|
|
|
|
|
|
|
t_vtx_x86_gcc.S
|
2006-05-22 19:48:12 +04:00
|
|
|
;
|
|
|
|
|
|
|
|
} else if $(TARGET_ARCH) = ppc {
|
|
|
|
|
|
|
|
arch_sources =
|
|
|
|
common_ppc.c
|
2006-05-19 19:52:21 +04:00
|
|
|
t_vtx_generic.c
|
2006-05-22 19:48:12 +04:00
|
|
|
;
|
|
|
|
|
|
|
|
} else if $(TARGET_ARCH) = sparc {
|
|
|
|
|
|
|
|
arch_sources =
|
|
|
|
sparc.c
|
|
|
|
t_vtx_generic.c
|
|
|
|
;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
arch_sources = t_vtx_generic.c ;
|
2006-05-19 19:52:21 +04:00
|
|
|
}
|
|
|
|
|
2006-05-22 19:48:12 +04:00
|
|
|
SEARCH_SOURCE += [ FDirName $(SUBDIR) $(TARGET_ARCH) ] ;
|
|
|
|
|
|
|
|
|
2005-10-29 20:27:43 +04:00
|
|
|
StaticLibrary libmesa.a :
|
|
|
|
|
|
|
|
# main
|
|
|
|
api_arrayelt.c
|
|
|
|
api_loopback.c
|
|
|
|
api_noop.c
|
|
|
|
api_validate.c
|
|
|
|
accum.c
|
|
|
|
attrib.c
|
|
|
|
blend.c
|
|
|
|
bufferobj.c
|
|
|
|
buffers.c
|
|
|
|
clip.c
|
|
|
|
colortab.c
|
|
|
|
context.c
|
|
|
|
convolve.c
|
|
|
|
debug.c
|
|
|
|
depth.c
|
|
|
|
dlist.c
|
|
|
|
drawpix.c
|
2006-09-07 18:02:34 +04:00
|
|
|
driverfuncs.c
|
2005-10-29 20:27:43 +04:00
|
|
|
enable.c
|
|
|
|
enums.c
|
|
|
|
eval.c
|
|
|
|
extensions.c
|
|
|
|
feedback.c
|
|
|
|
fog.c
|
|
|
|
get.c
|
|
|
|
hash.c
|
|
|
|
hint.c
|
|
|
|
histogram.c
|
|
|
|
image.c
|
|
|
|
imports.c
|
|
|
|
light.c
|
|
|
|
lines.c
|
|
|
|
matrix.c
|
|
|
|
occlude.c
|
|
|
|
pixel.c
|
|
|
|
points.c
|
|
|
|
polygon.c
|
|
|
|
rastpos.c
|
|
|
|
state.c
|
|
|
|
stencil.c
|
|
|
|
texcompress.c
|
|
|
|
texcompress_s3tc.c
|
|
|
|
texcompress_fxt1.c
|
|
|
|
texformat.c
|
|
|
|
teximage.c
|
|
|
|
texobj.c
|
|
|
|
texstate.c
|
|
|
|
texstore.c
|
|
|
|
varray.c
|
|
|
|
vtxfmt.c
|
|
|
|
|
|
|
|
# math
|
|
|
|
m_debug_clip.c
|
|
|
|
m_debug_norm.c
|
|
|
|
m_debug_xform.c
|
|
|
|
m_eval.c
|
|
|
|
m_matrix.c
|
|
|
|
m_translate.c
|
|
|
|
m_vector.c
|
|
|
|
m_xform.c
|
|
|
|
|
|
|
|
# array_cache
|
|
|
|
ac_context.c
|
|
|
|
ac_import.c
|
|
|
|
|
|
|
|
# tnl
|
|
|
|
t_array_api.c
|
|
|
|
t_array_import.c
|
|
|
|
t_context.c
|
|
|
|
t_pipeline.c
|
|
|
|
t_save_api.c
|
|
|
|
t_save_loopback.c
|
|
|
|
t_save_playback.c
|
|
|
|
t_vb_cull.c
|
|
|
|
t_vb_fog.c
|
|
|
|
t_vb_light.c
|
|
|
|
t_vb_normals.c
|
|
|
|
t_vb_points.c
|
|
|
|
t_vb_program.c
|
|
|
|
t_vb_render.c
|
|
|
|
t_vb_texgen.c
|
|
|
|
t_vb_texmat.c
|
|
|
|
t_vb_vertex.c
|
|
|
|
t_vertex.c
|
|
|
|
t_vertex_c.c
|
|
|
|
t_vertex_codegen.c
|
|
|
|
t_vtx_api.c
|
|
|
|
t_vtx_generic.c
|
|
|
|
t_vtx_x86.c
|
|
|
|
t_vtx_eval.c
|
|
|
|
t_vtx_exec.c
|
|
|
|
|
|
|
|
# swrast
|
|
|
|
s_fragprog_to_c.c
|
|
|
|
s_aaline.c
|
|
|
|
s_aatriangle.c
|
|
|
|
s_accum.c
|
|
|
|
s_alpha.c
|
|
|
|
s_alphabuf.c
|
|
|
|
s_atifragshader.c
|
|
|
|
s_auxbuffer.c
|
|
|
|
s_bitmap.c
|
|
|
|
s_blend.c
|
|
|
|
s_buffers.c
|
|
|
|
s_copypix.c
|
|
|
|
s_context.c
|
|
|
|
s_depth.c
|
|
|
|
s_drawpix.c
|
|
|
|
s_feedback.c
|
|
|
|
s_fog.c
|
|
|
|
s_imaging.c
|
|
|
|
s_lines.c
|
|
|
|
s_logic.c
|
|
|
|
s_masking.c
|
|
|
|
s_nvfragprog.c
|
|
|
|
s_pixeltex.c
|
|
|
|
s_points.c
|
|
|
|
s_readpix.c
|
|
|
|
s_span.c
|
|
|
|
s_stencil.c
|
|
|
|
s_tcc.c
|
|
|
|
s_texture.c
|
|
|
|
s_texstore.c
|
|
|
|
s_triangle.c
|
|
|
|
s_zoom.c
|
|
|
|
|
|
|
|
# swrast_setup
|
|
|
|
ss_context.c
|
|
|
|
ss_triangle.c
|
|
|
|
|
|
|
|
# shader
|
|
|
|
arbfragparse.c
|
|
|
|
arbprogparse.c
|
|
|
|
arbprogram.c
|
|
|
|
arbvertparse.c
|
|
|
|
atifragshader.c
|
|
|
|
grammar_mesa.c
|
|
|
|
nvfragparse.c
|
|
|
|
nvprogram.c
|
|
|
|
nvvertexec.c
|
|
|
|
nvvertparse.c
|
|
|
|
program.c
|
|
|
|
shaderobjects.c
|
|
|
|
|
2006-05-22 19:48:12 +04:00
|
|
|
$(arch_sources)
|
2005-10-29 20:27:43 +04:00
|
|
|
|
|
|
|
# glapi
|
2006-09-12 13:49:49 +04:00
|
|
|
# glapi.c
|
2005-10-29 20:27:43 +04:00
|
|
|
glthread.c
|
2005-06-27 00:21:09 +04:00
|
|
|
;
|
|
|
|
|
2006-09-06 18:35:26 +04:00
|
|
|
|
|
|
|
local arch_sources ;
|
|
|
|
if $(TARGET_ARCH) = x86 {
|
|
|
|
# On x86 platform, use the faster GL API dispatching assembly code!
|
|
|
|
arch_sources = glapi_x86.S ;
|
|
|
|
} else {
|
|
|
|
# For non-X86 platforms, no assembly code yet.
|
|
|
|
arch_sources = ;
|
|
|
|
}
|
|
|
|
|
|
|
|
MergeObject <opengl>mesa_arch_$(TARGET_ARCH).o :
|
|
|
|
$(arch_sources)
|
2006-09-05 20:00:15 +04:00
|
|
|
;
|
2006-09-06 18:35:26 +04:00
|
|
|
|