From 1c4b7116c4841d08f24cb2853dae44a8051423fc Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 10 Oct 2003 17:58:38 +0000 Subject: [PATCH] Eric Plante's updates for OSMesa16. --- Make-config | 16 +- Makefile.X11 | 139 ++++++++--------- bin/mklib | 55 ++++--- src/mesa/Makefile.OSMesa16 | 300 +++++++++++++++++++++++++++++++++++++ 4 files changed, 417 insertions(+), 93 deletions(-) create mode 100644 src/mesa/Makefile.OSMesa16 diff --git a/Make-config b/Make-config index d81ce51ae4a..c32a9d5e95b 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 39fae1ccffb..83e17bca1f3 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 b207ade5e13..a0d6115f2ef 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 00000000000..f451685a1a2 --- /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 -- 2.30.2