# 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 \ texcompress.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
# 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 $<))