summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Make-config16
-rw-r--r--Makefile.X11139
-rwxr-xr-xbin/mklib55
-rw-r--r--src/mesa/Makefile.OSMesa16300
4 files changed, 417 insertions, 93 deletions
diff --git a/Make-config b/Make-config
index d81ce51ae4..c32a9d5e95 100644
--- a/Make-config
+++ b/Make-config
@@ -678,10 +678,22 @@ linux-osmesa16:
"OSMESA16_LIB = libOSMesa16.so" \
"CC = gcc" \
"CXX = g++" \
- "CFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
- "CXXFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
+ "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+ "GLUT_CFLAGS = -fexceptions" \
+ "GL_LIB_DEPS = -lm -lpthread" \
+ "APP_LIB_DEPS = -lOSMesa16 -lGL"
+
+linux-osmesa16-static:
+ $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
+ "OSMESA16_LIB = libOSMesa16.a" \
+ "CC = gcc" \
+ "CXX = g++" \
+ "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
+ "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
"GLUT_CFLAGS = -fexceptions" \
"GL_LIB_DEPS = -lm -lpthread" \
+ "MAKELIB_FLAGS = -static" \
"APP_LIB_DEPS = -lOSMesa16 -lGL"
# 32-bit/channel Mesa using OSMesa driver
diff --git a/Makefile.X11 b/Makefile.X11
index 39fae1ccff..83e17bca1f 100644
--- a/Makefile.X11
+++ b/Makefile.X11
@@ -1,4 +1,4 @@
-# $Id: Makefile.X11,v 1.90 2003/10/03 14:03:14 brianp Exp $
+# $Id: Makefile.X11,v 1.91 2003/10/10 17:58:38 brianp Exp $
# Mesa 3-D graphics library
# Version: 5.1
@@ -33,69 +33,70 @@ SHELL = /bin/sh
default:
@echo "Type one of the following:"
- @echo " make aix for IBM RS/6000 with AIX"
- @echo " make aix-sl for IBM RS/6000, make shared libs"
- @echo " make beos-r4 for BeOS R4"
- @echo " make cygnus for Win95/NT using Cygnus-Win32"
- @echo " make cygnus-linux for Win95/NT using Cygnus-Win32 under Linux"
- @echo " make darwin for Darwin - Mac OS X"
- @echo " make freebsd for FreeBSD systems with GCC"
- @echo " make freebsd-386 for FreeBSD systems with GCC, w/ Intel assembly"
- @echo " make gcc-sl for a generic system with GCC for shared libs"
- @echo " make hpux9 for HP systems with HPUX 9.x"
- @echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
- @echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
- @echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
- @echo " make hpux10 for HP systems with HPUX 10.x and 11.x"
- @echo " make hpux10-sl for HP systems with HPUX 10.x and 11.x, shared libs"
- @echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
- @echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
- @echo " make irix6-o32 for SGI systems with IRIX 6.x, make o32-bit libs"
- @echo " make irix6-o32-dso for SGI systems with IRIX 6.x, make o32-bit DSOs"
- @echo " make irix6-n32 for SGI systems with IRIX 6.x, make n32-bit libs"
- @echo " make irix6-n32-dso for SGI systems with IRIX 6.x, make n32-bit DSOs"
- @echo " make irix6-gcc-n32-sl for SGI systems with IRIX 6.x, GCC, make n32 DSOs"
- @echo " make irix6-64 for SGI systems with IRIX 6.x, make 64-bit libs"
- @echo " make irix6-64-dso for SGI systems with IRIX 6.x, make 64-bit DSOs"
-
- @echo " make linux for Linux"
- @echo " make linux-x86 for Linux with x86 optimizations"
- @echo " make linux-ggi for Linux with libggi driver"
- @echo " make linux-x86-ggi for Linux with libggi driver and x86 optimizations"
- @echo " make linux-glide for Linux with 3Dfx Glide driver"
- @echo " make linux-x86-glide for Linux with 3Dfx Glide driver and x86 opts"
- @echo " make linux-alpha for Linux with Alpha optimizations"
- @echo " make linux-alpha-static for Linux with Alpha opts, make static libs"
- @echo " make linux-ppc for Linux with PowerPC opts"
- @echo " make linux-ppc-static for Linux with PowerPC opts, make static libs"
- @echo " make linux-sparc for Linux with Sparc optimzations"
- @echo " make linux-sparc5 for Linux with Sparc5 optimizations"
- @echo " make linux-sparc-ultra for Linux with UltraSparc optimizations"
- @echo " make linux-osmesa16 for 16-bit/channel OSMesa"
- @echo " make linux-osmesa32 for 32-bit/channel OSMesa"
- @echo " make linux-solo for Linux standalone with dri drivers"
- @echo " make linux-icc for Linux with the Intel C/C++ compiler"
- @echo " make lynxos for LynxOS systems with GCC"
- @echo " make mklinux for Linux on Power Macintosh"
- @echo " make netbsd for NetBSD 1.0 systems with GCC"
- @echo " make openbsd for OpenBSD systems"
- @echo " make openstep for OpenStep/MacOSX Server systems"
- @echo " make osf1 for DEC Alpha systems with OSF/1"
- @echo " make qnx for QNX V4 systems with Watcom compiler"
- @echo " make solaris-x86 for PCs with Solaris"
- @echo " make solaris-x86-gcc for PCs with Solaris using GCC"
- @echo " make sunos4 for Suns with SunOS 4.x"
- @echo " make sunos4-sl for Suns with SunOS 4.x, make shared libs"
- @echo " make sunos4-gcc for Suns with SunOS 4.x and GCC"
- @echo " make sunos4-gcc-sl for Suns with SunOS 4.x, GCC, make shared libs"
- @echo " make sunos5 for Suns with SunOS 5.x"
- @echo " make sunos5-smp for Suns with SunOS 5.x, SMP optimization"
- @echo " make sunos5-gcc for Suns with SunOS 5.x and GCC"
- @echo " make ultrix-gcc for DEC systems with Ultrix and GCC"
- @echo " make unixware for PCs running UnixWare"
- @echo " make unixware-shared for PCs running UnixWare, shared libs"
- @echo " make clean remove .o files"
- @echo " make realclean remove .o, library and executable files"
+ @echo " make aix for IBM RS/6000 with AIX"
+ @echo " make aix-sl for IBM RS/6000, make shared libs"
+ @echo " make beos-r4 for BeOS R4"
+ @echo " make cygnus for Win95/NT using Cygnus-Win32"
+ @echo " make cygnus-linux for Win95/NT using Cygnus-Win32 under Linux"
+ @echo " make darwin for Darwin - Mac OS X"
+ @echo " make freebsd for FreeBSD systems with GCC"
+ @echo " make freebsd-386 for FreeBSD systems with GCC, w/ Intel assembly"
+ @echo " make gcc-sl for a generic system with GCC for shared libs"
+ @echo " make hpux9 for HP systems with HPUX 9.x"
+ @echo " make hpux9-sl for HP systems with HPUX 9.x, make shared libs"
+ @echo " make hpux9-gcc for HP systems with HPUX 9.x using GCC"
+ @echo " make hpux9-gcc-sl for HP systems with HPUX 9.x, GCC, make shared libs"
+ @echo " make hpux10 for HP systems with HPUX 10.x and 11.x"
+ @echo " make hpux10-sl for HP systems with HPUX 10.x and 11.x, shared libs"
+ @echo " make hpux10-gcc for HP systems with HPUX 10.x w/ GCC"
+ @echo " make hpux10-gcc-sl for HP systems with HPUX 10.x w/ GCC, shared libs"
+ @echo " make irix6-o32 for SGI systems with IRIX 6.x, make o32-bit libs"
+ @echo " make irix6-o32-dso for SGI systems with IRIX 6.x, make o32-bit DSOs"
+ @echo " make irix6-n32 for SGI systems with IRIX 6.x, make n32-bit libs"
+ @echo " make irix6-n32-dso for SGI systems with IRIX 6.x, make n32-bit DSOs"
+ @echo " make irix6-gcc-n32-sl for SGI systems with IRIX 6.x, GCC, make n32 DSOs"
+ @echo " make irix6-64 for SGI systems with IRIX 6.x, make 64-bit libs"
+ @echo " make irix6-64-dso for SGI systems with IRIX 6.x, make 64-bit DSOs"
+
+ @echo " make linux for Linux"
+ @echo " make linux-x86 for Linux with x86 optimizations"
+ @echo " make linux-ggi for Linux with libggi driver"
+ @echo " make linux-x86-ggi for Linux with libggi driver and x86 optimizations"
+ @echo " make linux-glide for Linux with 3Dfx Glide driver"
+ @echo " make linux-x86-glide for Linux with 3Dfx Glide driver and x86 opts"
+ @echo " make linux-alpha for Linux with Alpha optimizations"
+ @echo " make linux-alpha-static for Linux with Alpha opts, make static libs"
+ @echo " make linux-ppc for Linux with PowerPC opts"
+ @echo " make linux-ppc-static for Linux with PowerPC opts, make static libs"
+ @echo " make linux-sparc for Linux with Sparc optimzations"
+ @echo " make linux-sparc5 for Linux with Sparc5 optimizations"
+ @echo " make linux-sparc-ultra for Linux with UltraSparc optimizations"
+ @echo " make linux-osmesa16 for 16-bit/channel OSMesa"
+ @echo " make linux-osmesa16-static for 16-bit/channel OSMesa, make static libs"
+ @echo " make linux-osmesa32 for 32-bit/channel OSMesa"
+ @echo " make linux-solo for Linux standalone with dri drivers"
+ @echo " make linux-icc for Linux with the Intel C/C++ compiler"
+ @echo " make lynxos for LynxOS systems with GCC"
+ @echo " make mklinux for Linux on Power Macintosh"
+ @echo " make netbsd for NetBSD 1.0 systems with GCC"
+ @echo " make openbsd for OpenBSD systems"
+ @echo " make openstep for OpenStep/MacOSX Server systems"
+ @echo " make osf1 for DEC Alpha systems with OSF/1"
+ @echo " make qnx for QNX V4 systems with Watcom compiler"
+ @echo " make solaris-x86 for PCs with Solaris"
+ @echo " make solaris-x86-gcc for PCs with Solaris using GCC"
+ @echo " make sunos4 for Suns with SunOS 4.x"
+ @echo " make sunos4-sl for Suns with SunOS 4.x, make shared libs"
+ @echo " make sunos4-gcc for Suns with SunOS 4.x and GCC"
+ @echo " make sunos4-gcc-sl for Suns with SunOS 4.x, GCC, make shared libs"
+ @echo " make sunos5 for Suns with SunOS 5.x"
+ @echo " make sunos5-smp for Suns with SunOS 5.x, SMP optimization"
+ @echo " make sunos5-gcc for Suns with SunOS 5.x and GCC"
+ @echo " make ultrix-gcc for DEC systems with Ultrix and GCC"
+ @echo " make unixware for PCs running UnixWare"
+ @echo " make unixware-shared for PCs running UnixWare, shared libs"
+ @echo " make clean remove .o files"
+ @echo " make realclean remove .o, library and executable files"
@@ -224,11 +225,11 @@ linux-ggi-install linux-x86-ggi-install:
# echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \
# fi
-linux-osmesa16 linux-osmesa32:
+linux-osmesa16 linux-osmesa16-static linux-osmesa32:
-mkdir lib
- if [ -d src ] ; then touch src/depend ; fi
- if [ -d src ] ; then cd src ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
-
+ if [ -d src/mesa ] ; then touch src/mesa/depend ; fi
+ if [ -d src/mesa ] ; then cd src/mesa ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
+
linux-solo:
-mkdir lib
if [ -d src/mesa ] ; then touch src/mesa/depend ; fi
@@ -440,7 +441,7 @@ LIB_FILES = \
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/Makefile.am \
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/Makefile.in \
$(DIRECTORY)/src/mesa/drivers/ggi/include/ggi/mesa/*.h \
- $(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.am \
+ $(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.am \
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.in \
$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win \
$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def \
diff --git a/bin/mklib b/bin/mklib
index b207ade5e1..a0d6115f2e 100755
--- a/bin/mklib
+++ b/bin/mklib
@@ -110,29 +110,40 @@ case $ARCH in
'Linux')
LIBNAME="lib${LIBNAME}" # prefix with "lib"
- OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
- VERSION="${MAJOR}.${MINOR}.${PATCH}"
- echo "mklib: Making Linux shared library: " ${LIBNAME}.so.${VERSION}
-
- if [ $CPLUSPLUS = 1 ] ; then
- LINK="g++"
- else
- LINK="gcc"
- fi
-
- # rm any old libs
- rm -f ${LIBNAME}.so.${VERSION}
- rm -f ${LIBNAME}.so.${MAJOR}
- rm -f ${LIBNAME}.so
-
- # make lib
- ${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
- # make usual symlinks
- ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
- ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
- # finish up
- FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
+ if [ $STATIC = 1 ] ; then
+ echo "mklib: Making Linux static library: " ${LIBNAME}.a
+ LINK="ar"
+ OPTS="-ruv"
+ # make lib
+ ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
+ # finish up
+ FINAL_LIBS="${LIBNAME}.a"
+ else
+ OPTS="-Xlinker -Bsymbolic -shared -Wl,-soname,${LIBNAME}.so.${MAJOR}"
+ VERSION="${MAJOR}.${MINOR}.${PATCH}"
+
+ echo "mklib: Making Linux shared library: " ${LIBNAME}.so.${VERSION}
+
+ if [ $CPLUSPLUS = 1 ] ; then
+ LINK="g++"
+ else
+ LINK="gcc"
+ fi
+
+ # rm any old libs
+ rm -f ${LIBNAME}.so.${VERSION}
+ rm -f ${LIBNAME}.so.${MAJOR}
+ rm -f ${LIBNAME}.so
+
+ # make lib
+ ${LINK} ${OPTS} -o ${LIBNAME}.so.${VERSION} ${OBJECTS} ${DEPS}
+ # make usual symlinks
+ ln -s ${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR}
+ ln -s ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so
+ # finish up
+ FINAL_LIBS="${LIBNAME}.so.${VERSION} ${LIBNAME}.so.${MAJOR} ${LIBNAME}.so"
+ fi
;;
'SunOS')
diff --git a/src/mesa/Makefile.OSMesa16 b/src/mesa/Makefile.OSMesa16
new file mode 100644
index 0000000000..f451685a1a
--- /dev/null
+++ b/src/mesa/Makefile.OSMesa16
@@ -0,0 +1,300 @@
+
+# Mesa 3-D graphics library
+# Version: 5.1
+# Copyright (C) 1995-2003 Brian Paul
+
+# Makefile for building Mesa for 16/32-bit/channel rendering with the OSMesa
+# driver.
+
+
+##### MACROS #####
+
+TOP = ../..
+
+GL_MAJOR = 1
+GL_MINOR = 4
+GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
+
+GL_LIB_NAME = "GL" # may be overridden in Make-config
+OSMESA_LIB_NAME = "OSMesa16" # may be overridden in Make-config
+
+VPATH = RCS
+
+LIBDIR = $(TOP)/lib
+
+
+### Lists of source files
+
+MAIN_SOURCES = \
+ main/api_arrayelt.c \
+ main/api_loopback.c \
+ main/api_noop.c \
+ main/api_validate.c \
+ main/accum.c \
+ main/arbprogram.c \
+ main/arbfragparse.c \
+ main/arbvertparse.c \
+ main/attrib.c \
+ main/blend.c \
+ main/bufferobj.c \
+ main/buffers.c \
+ main/clip.c \
+ main/colortab.c \
+ main/context.c \
+ main/convolve.c \
+ main/debug.c \
+ main/depth.c \
+ main/dispatch.c \
+ main/dlist.c \
+ main/drawpix.c \
+ main/enable.c \
+ main/enums.c \
+ main/eval.c \
+ main/extensions.c \
+ main/feedback.c \
+ main/fog.c \
+ main/get.c \
+ main/hash.c \
+ main/hint.c \
+ main/histogram.c \
+ main/image.c \
+ main/imports.c \
+ main/light.c \
+ main/lines.c \
+ main/matrix.c \
+ main/nvprogram.c \
+ main/nvfragparse.c \
+ main/nvvertexec.c \
+ main/nvvertparse.c \
+ main/occlude.c \
+ main/pixel.c \
+ main/points.c \
+ main/polygon.c \
+ main/program.c \
+ main/rastpos.c \
+ main/state.c \
+ main/stencil.c \
+ main/texcompress.c \
+ main/texformat.c \
+ main/teximage.c \
+ main/texobj.c \
+ main/texstate.c \
+ main/texstore.c \
+ main/texutil.c \
+ main/varray.c \
+ main/vtxfmt.c
+
+GLAPI_SOURCES = \
+ glapi/glapi.c \
+ glapi/glthread.c
+
+MATH_SOURCES = \
+ 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_SOURCES = \
+ array_cache/ac_context.c \
+ array_cache/ac_import.c
+
+SWRAST_SOURCES = \
+ 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_imaging.c \
+ swrast/s_lines.c \
+ swrast/s_logic.c \
+ swrast/s_masking.c \
+ swrast/s_nvfragprog.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_SOURCES = \
+ swrast_setup/ss_context.c \
+ swrast_setup/ss_triangle.c \
+ swrast_setup/ss_vb.c
+
+TNL_SOURCES = \
+ 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
+
+ASM_C_SOURCES = \
+ x86/x86.c \
+ x86/common_x86.c \
+ x86/3dnow.c \
+ x86/sse.c \
+ sparc/sparc.c
+
+X86_SOURCES = \
+ x86/common_x86_asm.S \
+ x86/glapi_x86.S \
+ x86/x86_xform2.S \
+ x86/x86_xform3.S \
+ x86/x86_xform4.S \
+ x86/x86_cliptest.S \
+ x86/mmx_blend.S \
+ x86/3dnow_xform1.S \
+ x86/3dnow_xform2.S \
+ x86/3dnow_xform3.S \
+ x86/3dnow_xform4.S \
+ x86/3dnow_normal.S \
+ x86/sse_xform1.S \
+ x86/sse_xform2.S \
+ x86/sse_xform3.S \
+ x86/sse_xform4.S \
+ x86/sse_normal.S
+
+SPARC_SOURCES = \
+ sparc/clip.S \
+ sparc/glapi_sparc.S \
+ sparc/norm.S \
+ sparc/xform.S
+
+### Groups of files
+
+CORE_SOURCES = \
+ $(MAIN_SOURCES) \
+ $(GLAPI_SOURCES) \
+ $(MATH_SOURCES) \
+ $(ARRAY_CACHE_SOURCES) \
+ $(SWRAST_SOURCES) \
+ $(SWRAST_SETUP_SOURCES) \
+ $(TNL_SOURCES) \
+ $(ASM_C_SOURCES)
+
+# This will probably get set to $(X86_SOURCES) in Make-config:
+ASM_SOURCES =
+
+OSMESA_DRIVER_SOURCES = \
+ drivers/osmesa/osmesa.c
+
+### Object files
+
+CORE_OBJECTS = $(CORE_SOURCES:.c=.o)
+
+ASM_OBJECTS = $(ASM_SOURCES:.S=.o)
+
+OSMESA_OBJECTS = $(OSMESA_DRIVER_SOURCES:.c=.o)
+
+OBJECTS = \
+ $(CORE_OBJECTS) \
+ $(ASM_OBJECTS) \
+ $(OSMESA_OBJECTS)
+
+
+### Include directories
+
+INCLUDE_DIRS = \
+ -I$(TOP)/include \
+ -I$(TOP)/src/mesa \
+ -I$(TOP)/src/mesa/main \
+ -I$(TOP)/src/mesa/glapi \
+ -I$(TOP)/src/mesa/math \
+ -I$(TOP)/src/mesa/transform \
+ -I$(TOP)/src/mesa/swrast \
+ -I$(TOP)/src/mesa/swrast_setup
+
+##### RULES #####
+
+.c.o:
+ $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+
+.S.o:
+ $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@
+
+
+x86/matypes.h: main/mtypes.h tnl/t_context.h x86/gen_matypes.c
+ $(CC) $(INCLUDE_DIRS) $(CFLAGS) x86/gen_matypes.c -o x86/gen_matypes
+ ./x86/gen_matypes > x86/matypes.h
+ rm -f x86/gen_matypes x86/*.o
+
+x86/common_x86_asm.o: x86/matypes.h
+
+
+
+##### TARGETS #####
+
+default:
+ @echo "Specify a target configuration"
+
+
+targets: $(LIBDIR)/$(OSMESA16_LIB)
+
+# Make the 16-bit/channel OSMesa library
+$(LIBDIR)/$(OSMESA16_LIB): $(OBJECTS)
+ $(TOP)/bin/mklib $(MAKELIB_FLAGS) -o $(OSMESA_LIB_NAME) -major $(GL_MAJOR) \
+ -minor $(GL_MINOR) -patch $(GL_TINY) -install $(LIBDIR) \
+ $(GL_LIB_DEPS) $(OBJECTS)
+
+
+
+
+#
+# Run 'make dep' to update the dependencies if you change what's included
+# by any source file.
+#
+dep: $(CORE_SOURCES) $(OSMESA_DRIVER_SOURCES) $(ASM_SOURCES)
+ makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX \
+ $(CORE_SOURCES) $(OSMESA_DRIVER_SOURCES) \
+ $(ASM_SOURCES)
+
+dep: $(CORE_SOURCES)
+ makedepend -fdepend -Y -I../include $(CORE_SOURCES)
+
+tags:
+ etags `find . -name \*.[ch]` `find ../include`
+
+
+# Remove .o and backup files
+clean:
+ -rm *.a
+ -rm -f */*.o */*~ */*.o */*~
+ -rm -f drivers/*/*.o
+
+
+include $(TOP)/Make-config
+
+include depend