|
|
@@ -0,0 +1,452 @@ |
|
|
|
# Mesa 3-D graphics library |
|
|
|
# Version: 4.1 |
|
|
|
# |
|
|
|
# Copyright (C) 1995-2002 Brian Paul All Rights Reserved. |
|
|
|
# |
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a |
|
|
|
# copy of this software and associated documentation files (the "Software"), |
|
|
|
# to deal in the Software without restriction, including without limitation |
|
|
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense, |
|
|
|
# and/or sell copies of the Software, and to permit persons to whom the |
|
|
|
# Software is furnished to do so, subject to the following conditions: |
|
|
|
# |
|
|
|
# The above copyright notice and this permission notice shall be included |
|
|
|
# in all copies or substantial portions of the Software. |
|
|
|
# |
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
|
|
|
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
|
|
|
# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN |
|
|
|
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
|
|
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
|
|
# |
|
|
|
# BeOS driver makefile v1.0 for Mesa 4.1 |
|
|
|
# |
|
|
|
# Copyright (C) 2002 - Philippe Houdoin |
|
|
|
# Email : philippe.houdoin@free.fr |
|
|
|
# Web : http://philippe.houdoin.free.fr/phil/beos/index-en.html |
|
|
|
# |
|
|
|
# ------------------------------------------------------------------- |
|
|
|
|
|
|
|
## BeOS Generic Makefile v2.0 ## |
|
|
|
|
|
|
|
## Fill in this file to specify the project being created, and the referenced |
|
|
|
## makefile-engine will do all of the hard work for you. This handles both |
|
|
|
## Intel and PowerPC builds of the BeOS. |
|
|
|
|
|
|
|
## Application Specific Settings --------------------------------------------- |
|
|
|
|
|
|
|
# specify the name of the binary |
|
|
|
NAME= libGL.so |
|
|
|
|
|
|
|
# specify the type of binary |
|
|
|
# APP: Application |
|
|
|
# SHARED: Shared library or add-on |
|
|
|
# STATIC: Static library archive |
|
|
|
# DRIVER: Kernel Driver |
|
|
|
TYPE= SHARED |
|
|
|
|
|
|
|
# specify the source files to use |
|
|
|
# full paths or paths relative to the makefile can be included |
|
|
|
# all files, regardless of directory, will have their object |
|
|
|
# files created in the common object directory. |
|
|
|
# Note that this means this makefile will not work correctly |
|
|
|
# if two source files with the same name (source.c or source.cpp) |
|
|
|
# are included from different directories. Also note that spaces |
|
|
|
# in folder names do not work well with this makefile. |
|
|
|
|
|
|
|
MESA_CORE_SRCS = \ |
|
|
|
api_arrayelt.c \ |
|
|
|
api_loopback.c \ |
|
|
|
api_noop.c \ |
|
|
|
api_validate.c \ |
|
|
|
accum.c \ |
|
|
|
attrib.c \ |
|
|
|
blend.c \ |
|
|
|
buffers.c \ |
|
|
|
clip.c \ |
|
|
|
colortab.c \ |
|
|
|
context.c \ |
|
|
|
convolve.c \ |
|
|
|
debug.c \ |
|
|
|
depth.c \ |
|
|
|
dispatch.c \ |
|
|
|
dlist.c \ |
|
|
|
drawpix.c \ |
|
|
|
enable.c \ |
|
|
|
enums.c \ |
|
|
|
eval.c \ |
|
|
|
extensions.c \ |
|
|
|
feedback.c \ |
|
|
|
fog.c \ |
|
|
|
get.c \ |
|
|
|
glapi.c \ |
|
|
|
glthread.c \ |
|
|
|
hash.c \ |
|
|
|
hint.c \ |
|
|
|
histogram.c \ |
|
|
|
image.c \ |
|
|
|
imports.c \ |
|
|
|
light.c \ |
|
|
|
lines.c \ |
|
|
|
matrix.c \ |
|
|
|
mem.c \ |
|
|
|
mmath.c \ |
|
|
|
pixel.c \ |
|
|
|
points.c \ |
|
|
|
polygon.c \ |
|
|
|
rastpos.c \ |
|
|
|
state.c \ |
|
|
|
stencil.c \ |
|
|
|
texformat.c \ |
|
|
|
teximage.c \ |
|
|
|
texobj.c \ |
|
|
|
texstate.c \ |
|
|
|
texstore.c \ |
|
|
|
texutil.c \ |
|
|
|
varray.c \ |
|
|
|
vpexec.c \ |
|
|
|
vpparse.c \ |
|
|
|
vpstate.c \ |
|
|
|
vtxfmt.c \ |
|
|
|
math/m_debug_clip.c \ |
|
|
|
math/m_debug_norm.c \ |
|
|
|
math/m_debug_xform.c \ |
|
|
|
math/m_eval.c \ |
|
|
|
math/m_matrix.c \ |
|
|
|
math/m_translate.c \ |
|
|
|
math/m_vector.c \ |
|
|
|
math/m_xform.c \ |
|
|
|
array_cache/ac_context.c \ |
|
|
|
array_cache/ac_import.c \ |
|
|
|
swrast/s_aaline.c \ |
|
|
|
swrast/s_aatriangle.c \ |
|
|
|
swrast/s_accum.c \ |
|
|
|
swrast/s_alpha.c \ |
|
|
|
swrast/s_alphabuf.c \ |
|
|
|
swrast/s_bitmap.c \ |
|
|
|
swrast/s_blend.c \ |
|
|
|
swrast/s_buffers.c \ |
|
|
|
swrast/s_copypix.c \ |
|
|
|
swrast/s_context.c \ |
|
|
|
swrast/s_depth.c \ |
|
|
|
swrast/s_drawpix.c \ |
|
|
|
swrast/s_feedback.c \ |
|
|
|
swrast/s_fog.c \ |
|
|
|
swrast/s_histogram.c \ |
|
|
|
swrast/s_imaging.c \ |
|
|
|
swrast/s_lines.c \ |
|
|
|
swrast/s_logic.c \ |
|
|
|
swrast/s_masking.c \ |
|
|
|
swrast/s_pixeltex.c \ |
|
|
|
swrast/s_points.c \ |
|
|
|
swrast/s_readpix.c \ |
|
|
|
swrast/s_span.c \ |
|
|
|
swrast/s_stencil.c \ |
|
|
|
swrast/s_texture.c \ |
|
|
|
swrast/s_texstore.c \ |
|
|
|
swrast/s_triangle.c \ |
|
|
|
swrast/s_zoom.c \ |
|
|
|
swrast_setup/ss_context.c \ |
|
|
|
swrast_setup/ss_triangle.c \ |
|
|
|
swrast_setup/ss_vb.c \ |
|
|
|
tnl/t_array_api.c \ |
|
|
|
tnl/t_array_import.c \ |
|
|
|
tnl/t_context.c \ |
|
|
|
tnl/t_eval_api.c \ |
|
|
|
tnl/t_imm_alloc.c \ |
|
|
|
tnl/t_imm_api.c \ |
|
|
|
tnl/t_imm_debug.c \ |
|
|
|
tnl/t_imm_dlist.c \ |
|
|
|
tnl/t_imm_elt.c \ |
|
|
|
tnl/t_imm_eval.c \ |
|
|
|
tnl/t_imm_exec.c \ |
|
|
|
tnl/t_imm_fixup.c \ |
|
|
|
tnl/t_pipeline.c \ |
|
|
|
tnl/t_vb_fog.c \ |
|
|
|
tnl/t_vb_light.c \ |
|
|
|
tnl/t_vb_normals.c \ |
|
|
|
tnl/t_vb_points.c \ |
|
|
|
tnl/t_vb_program.c \ |
|
|
|
tnl/t_vb_render.c \ |
|
|
|
tnl/t_vb_texgen.c \ |
|
|
|
tnl/t_vb_texmat.c \ |
|
|
|
tnl/t_vb_vertex.c |
|
|
|
|
|
|
|
MESA_BEOS_DRIVER_SRCS = \ |
|
|
|
BeOS/GLView.cpp |
|
|
|
|
|
|
|
MESA_X86_SRCS = \ |
|
|
|
X86/x86.c \ |
|
|
|
X86/glapi_x86.S \ |
|
|
|
X86/common_x86.c \ |
|
|
|
X86/common_x86_asm.S \ |
|
|
|
X86/x86_xform2.S \ |
|
|
|
X86/x86_xform3.S \ |
|
|
|
X86/x86_xform4.S \ |
|
|
|
X86/x86_cliptest.S |
|
|
|
|
|
|
|
MESA_MMX_SRCS = \ |
|
|
|
X86/mmx_blend.S |
|
|
|
|
|
|
|
MESA_SSE_SRCS = \ |
|
|
|
X86/sse.c \ |
|
|
|
X86/sse_xform2.S \ |
|
|
|
X86/sse_xform3.S \ |
|
|
|
X86/sse_xform4.S \ |
|
|
|
X86/sse_normal.S |
|
|
|
|
|
|
|
MESA_3DNOW_SRCS = \ |
|
|
|
X86/3dnow.c \ |
|
|
|
X86/3dnow_normal.S \ |
|
|
|
X86/3dnow_xform1.S \ |
|
|
|
X86/3dnow_xform2.S \ |
|
|
|
X86/3dnow_xform3.S \ |
|
|
|
X86/3dnow_xform4.S |
|
|
|
|
|
|
|
MESA_DEFINES = |
|
|
|
# To use GAS assembler, uncomment this line instead: |
|
|
|
MESA_DEFINES += GNU_ASSEMBLER |
|
|
|
# To use NASM assembler, uncomment this line instead: |
|
|
|
# MESA_DEFINES += NASM_ASSEMBLER |
|
|
|
# To build a DEBUG version of Mesa, uncomment this line instead: |
|
|
|
# MESA_DEFINES += DEBUG |
|
|
|
|
|
|
|
# x86-optimized code |
|
|
|
MACHINE=$(shell uname -m) |
|
|
|
ifeq ($(MACHINE), BePC) |
|
|
|
HAVE_MMX = 1 |
|
|
|
HAVE_SSE = 1 |
|
|
|
HAVE_3DNOW = 1 |
|
|
|
else |
|
|
|
# No assembly optimization for PowerPC... |
|
|
|
# HAVE_ALTIVEC=1 |
|
|
|
endif |
|
|
|
|
|
|
|
ifdef HAVE_MMX |
|
|
|
MESA_X86_SRCS += $(MESA_MMX_SRCS) |
|
|
|
MESA_DEFINES += USE_MMX_ASM |
|
|
|
HAVE_X86 = 1 |
|
|
|
endif |
|
|
|
ifdef HAVE_SSE |
|
|
|
MESA_X86_SRCS += $(MESA_SSE_SRCS) |
|
|
|
MESA_DEFINES += USE_SSE_ASM |
|
|
|
HAVE_X86 = 1 |
|
|
|
endif |
|
|
|
ifdef HAVE_3DNOW |
|
|
|
MESA_X86_SRCS += $(MESA_3DNOW_SRCS) |
|
|
|
MESA_DEFINES += USE_3DNOW_ASM |
|
|
|
HAVE_X86 = 1 |
|
|
|
endif |
|
|
|
ifdef HAVE_X86 |
|
|
|
MESA_DEFINES += USE_X86_ASM |
|
|
|
else |
|
|
|
MESA_X86_SRCS = |
|
|
|
endif |
|
|
|
|
|
|
|
# FIXME: SI-GLU version support currently broken |
|
|
|
# USE_SI_GLU=1 |
|
|
|
ifdef USE_SI_GLU |
|
|
|
GLU_SRCS = \ |
|
|
|
../si-glu/libutil/error.c \ |
|
|
|
../si-glu/libutil/glue.c \ |
|
|
|
../si-glu/libutil/mipmap.c \ |
|
|
|
../si-glu/libutil/project.c \ |
|
|
|
../si-glu/libutil/quad.c \ |
|
|
|
../si-glu/libutil/registry.c \ |
|
|
|
../si-glu/libtess/dict.c \ |
|
|
|
../si-glu/libtess/geom.c \ |
|
|
|
../si-glu/libtess/memalloc.c \ |
|
|
|
../si-glu/libtess/mesh.c \ |
|
|
|
../si-glu/libtess/normal.c \ |
|
|
|
../si-glu/libtess/priorityq.c \ |
|
|
|
../si-glu/libtess/render.c \ |
|
|
|
../si-glu/libtess/sweep.c \ |
|
|
|
../si-glu/libtess/tess.c \ |
|
|
|
../si-glu/libtess/tessmono.c \ |
|
|
|
../si-glu/libnurbs/interface/bezierEval.cc \ |
|
|
|
../si-glu/libnurbs/interface/bezierPatch.cc \ |
|
|
|
../si-glu/libnurbs/interface/bezierPatchMesh.cc \ |
|
|
|
../si-glu/libnurbs/interface/glcurveval.cc \ |
|
|
|
../si-glu/libnurbs/interface/glinterface.cc \ |
|
|
|
../si-glu/libnurbs/interface/glrenderer.cc \ |
|
|
|
../si-glu/libnurbs/interface/glsurfeval.cc \ |
|
|
|
../si-glu/libnurbs/interface/incurveeval.cc \ |
|
|
|
../si-glu/libnurbs/interface/insurfeval.cc \ |
|
|
|
../si-glu/libnurbs/internals/arc.cc \ |
|
|
|
../si-glu/libnurbs/internals/arcsorter.cc \ |
|
|
|
../si-glu/libnurbs/internals/arctess.cc \ |
|
|
|
../si-glu/libnurbs/internals/backend.cc \ |
|
|
|
../si-glu/libnurbs/internals/basiccrveval.cc \ |
|
|
|
../si-glu/libnurbs/internals/basicsurfeval.cc \ |
|
|
|
../si-glu/libnurbs/internals/bin.cc \ |
|
|
|
../si-glu/libnurbs/internals/bufpool.cc \ |
|
|
|
../si-glu/libnurbs/internals/cachingeval.cc \ |
|
|
|
../si-glu/libnurbs/internals/ccw.cc \ |
|
|
|
../si-glu/libnurbs/internals/coveandtiler.cc \ |
|
|
|
../si-glu/libnurbs/internals/curve.cc \ |
|
|
|
../si-glu/libnurbs/internals/curvelist.cc \ |
|
|
|
../si-glu/libnurbs/internals/curvesub.cc \ |
|
|
|
../si-glu/libnurbs/internals/dataTransform.cc \ |
|
|
|
../si-glu/libnurbs/internals/displaylist.cc \ |
|
|
|
../si-glu/libnurbs/internals/flist.cc \ |
|
|
|
../si-glu/libnurbs/internals/flistsorter.cc \ |
|
|
|
../si-glu/libnurbs/internals/hull.cc \ |
|
|
|
../si-glu/libnurbs/internals/intersect.cc \ |
|
|
|
../si-glu/libnurbs/internals/knotvector.cc \ |
|
|
|
../si-glu/libnurbs/internals/mapdesc.cc \ |
|
|
|
../si-glu/libnurbs/internals/mapdescv.cc \ |
|
|
|
../si-glu/libnurbs/internals/maplist.cc \ |
|
|
|
../si-glu/libnurbs/internals/mesher.cc \ |
|
|
|
../si-glu/libnurbs/internals/monoTriangulationBackend.cc \ |
|
|
|
../si-glu/libnurbs/internals/monotonizer.cc \ |
|
|
|
../si-glu/libnurbs/internals/mycode.cc \ |
|
|
|
../si-glu/libnurbs/internals/nurbsinterfac.cc \ |
|
|
|
../si-glu/libnurbs/internals/nurbstess.cc \ |
|
|
|
../si-glu/libnurbs/internals/patch.cc \ |
|
|
|
../si-glu/libnurbs/internals/patchlist.cc \ |
|
|
|
../si-glu/libnurbs/internals/quilt.cc \ |
|
|
|
../si-glu/libnurbs/internals/reader.cc \ |
|
|
|
../si-glu/libnurbs/internals/renderhints.cc \ |
|
|
|
../si-glu/libnurbs/internals/slicer.cc \ |
|
|
|
../si-glu/libnurbs/internals/sorter.cc \ |
|
|
|
../si-glu/libnurbs/internals/splitarcs.cc \ |
|
|
|
../si-glu/libnurbs/internals/subdivider.cc \ |
|
|
|
../si-glu/libnurbs/internals/tobezier.cc \ |
|
|
|
../si-glu/libnurbs/internals/trimline.cc \ |
|
|
|
../si-glu/libnurbs/internals/trimregion.cc \ |
|
|
|
../si-glu/libnurbs/internals/trimvertpool.cc \ |
|
|
|
../si-glu/libnurbs/internals/uarray.cc \ |
|
|
|
../si-glu/libnurbs/internals/varray.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/directedLine.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/gridWrap.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/monoChain.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/monoPolyPart.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/monoTriangulation.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/partitionX.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/partitionY.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/polyDBG.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/polyUtil.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/primitiveStream.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/quicksort.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/rectBlock.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/sampleComp.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/sampleCompBot.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/sampleCompRight.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/sampleCompTop.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/sampleMonoPoly.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/sampledLine.cc \ |
|
|
|
../si-glu/libnurbs/nurbtess/searchTree.cc |
|
|
|
else |
|
|
|
GLU_SRCS = \ |
|
|
|
../src-glu/glu.c \ |
|
|
|
../src-glu/mipmap.c \ |
|
|
|
../src-glu/project.c \ |
|
|
|
../src-glu/quadric.c \ |
|
|
|
../src-glu/tess.c \ |
|
|
|
../src-glu/tesselat.c \ |
|
|
|
../src-glu/polytest.c \ |
|
|
|
../src-glu/nurbs.c \ |
|
|
|
../src-glu/nurbscrv.c \ |
|
|
|
../src-glu/nurbssrf.c \ |
|
|
|
../src-glu/nurbsutl.c |
|
|
|
endif |
|
|
|
|
|
|
|
SRCS = $(MESA_CORE_SRCS) $(MESA_X86_SRCS) $(GLU_SRCS) $(MESA_BEOS_DRIVER_SRCS) |
|
|
|
|
|
|
|
# specify the resource files to use |
|
|
|
# full path or a relative path to the resource file can be used. |
|
|
|
RSRCS = |
|
|
|
|
|
|
|
# specify additional libraries to link against |
|
|
|
# there are two acceptable forms of library specifications |
|
|
|
# - if your library follows the naming pattern of: |
|
|
|
# libXXX.so or libXXX.a you can simply specify XXX |
|
|
|
# library: libbe.so entry: be |
|
|
|
# |
|
|
|
# - if your library does not follow the standard library |
|
|
|
# naming scheme you need to specify the path to the library |
|
|
|
# and it's name |
|
|
|
# library: my_lib.a entry: my_lib.a or path/my_lib.a |
|
|
|
LIBS = be |
|
|
|
|
|
|
|
# specify additional paths to directories following the standard |
|
|
|
# libXXX.so or libXXX.a naming scheme. You can specify full paths |
|
|
|
# or paths relative to the makefile. The paths included may not |
|
|
|
# be recursive, so include all of the paths where libraries can |
|
|
|
# be found. Directories where source files are found are |
|
|
|
# automatically included. |
|
|
|
LIBPATHS = |
|
|
|
|
|
|
|
# additional paths to look for system headers |
|
|
|
# thes use the form: #include <header> |
|
|
|
# source file directories are NOT auto-included here |
|
|
|
SYSTEM_INCLUDE_PATHS = ../include |
|
|
|
ifdef USE_SI_GLU |
|
|
|
SYSTEM_INCLUDE_PATHS += ../si-glu/include |
|
|
|
endif |
|
|
|
|
|
|
|
# additional paths to look for local headers |
|
|
|
# thes use the form: #include "header" |
|
|
|
# source file directories are automatically included |
|
|
|
LOCAL_INCLUDE_PATHS = |
|
|
|
|
|
|
|
# specify the level of optimization that you desire |
|
|
|
# NONE, SOME, FULL |
|
|
|
OPTIMIZE = FULL |
|
|
|
|
|
|
|
# specify any preprocessor symbols to be defined. The symbols |
|
|
|
# will be set to a value of 1. For example specify DEBUG if you want |
|
|
|
# DEBUG=1 to be set when compiling. |
|
|
|
DEFINES = $(MESA_DEFINES) |
|
|
|
|
|
|
|
# specify special warning levels |
|
|
|
# if unspecified default warnings will be used |
|
|
|
# NONE = suppress all warnings |
|
|
|
# ALL = enable all warnings |
|
|
|
WARNINGS = ALL |
|
|
|
|
|
|
|
# specify whether image symbols will be created |
|
|
|
# so that stack crawls in the debugger are meaningful |
|
|
|
# if TRUE symbols will be created |
|
|
|
SYMBOLS = TRUE |
|
|
|
|
|
|
|
# specify debug settings |
|
|
|
# if TRUE will allow application to be run from |
|
|
|
# a source-level debugger |
|
|
|
# DEBUGGER = TRUE |
|
|
|
DEBUGGER = FALSE |
|
|
|
|
|
|
|
# specify additional compiler flags for all files |
|
|
|
COMPILER_FLAGS = |
|
|
|
|
|
|
|
# specify additional linker flags |
|
|
|
LINKER_FLAGS = |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## include the makefile-engine |
|
|
|
include /boot/develop/etc/makefile-engine |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# X86/matypes.h include file is *generated*! |
|
|
|
# Rules to (re)generate it as needed: |
|
|
|
|
|
|
|
X86/common_x86_asm.S : X86/matypes.h |
|
|
|
|
|
|
|
X86/matypes.h : X86/gen_matypes.c |
|
|
|
@echo "(Re-)Generating $@ ..." |
|
|
|
$(CC) $< $(INCLUDES) $(CFLAGS) -o X86/gen_matypes |
|
|
|
X86/gen_matypes > $@ |
|
|
|
rm -f X86/gen_matypes |
|
|
|
|
|
|
|
## Add NASM support for assembly code compilation... |
|
|
|
# $(OBJ_DIR)/%.o : %.nasm |
|
|
|
# nasm -f elf $(MESA_DEFINES) -o $@ $< |
|
|
|
|
|
|
|
$(OBJ_DIR)/%.o : %.S |
|
|
|
gcc -c $< $(INCLUDES) $(CFLAGS) -o $@ |
|
|
|
# gcc $(INCLUDES) $(CFLAGS) -E $< | grep -v '^$$' > $(addsuffix .nasm, $(basename $<)) |
|
|
|
# nasm -f elf $(MESA_DEFINES) -o $@ $(addsuffix .nasm, $(basename $<)) |
|
|
|
|