# Mesa 3-D graphics library # Version: 5.1 # # Copyright (C) 1995-2003 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 5.1.x # # Copyright (C) 2002-2003 - 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. include sources BEOS_DRIVER_SOURCES = \ drivers/beos/GLView.cpp MESA_DEFINES = ASM_SOURCES = # 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) MESA_DEFINES += USE_X86_ASM USE_SSE_ASM USE_MMX_ASM MESA_DEFINES += USE_3DNOW_ASM ASM_SOURCES = $(X86_SOURCES) else # No assembly optimization for PowerPC... # HAVE_ALTIVEC=1 endif # FIXME: SI-GLU version support currently broken # USE_SI_GLU=1 ifdef USE_SI_GLU GLU_SOURCES = \ ../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_SOURCES = \ ../glu/mesa/glu.c \ ../glu/mesa/mipmap.c \ ../glu/mesa/project.c \ ../glu/mesa/quadric.c \ ../glu/mesa/tess.c \ ../glu/mesa/tesselat.c \ ../glu/mesa/polytest.c \ ../glu/mesa/nurbs.c \ ../glu/mesa/nurbscrv.c \ ../glu/mesa/nurbssrf.c \ ../glu/mesa/nurbsutl.c endif MESA_SOURCES = $(CORE_SOURCES) $(ASM_SOURCES) SRCS = $(MESA_SOURCES) $(GLU_SOURCES) $(BEOS_DRIVER_SOURCES) # 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 += ../glu/sgi/include endif # additional paths to look for local headers # thes use the form: #include "header" # source file directories are automatically included LOCAL_INCLUDE_PATHS = \ . \ ./main \ ./glapi \ ./math \ ./transform \ ./swrast \ ./swrast_setup \ ./tnl \ ./tnl_dd # 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 $<))