-# $Id: Makefile.X11,v 1.1 1999/08/19 00:55:41 jtg Exp $
+# $Id: Makefile.X11,v 1.71 2002/10/24 23:57:19 brianp Exp $
# Mesa 3-D graphics library
-# Version: 3.1
-# Copyright (C) 1995-1999 Brian Paul
+# Version: 4.1
+# Copyright (C) 1995-2002 Brian Paul
# Makefile for core library
##### MACROS #####
+GL_MAJOR = 1
+GL_MINOR = 3
+GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY)
+
VPATH = RCS
INCDIR = ../include
LIBDIR = ../lib
+
+
CORE_SOURCES = \
+ api_arrayelt.c \
+ api_loopback.c \
+ api_noop.c \
+ api_validate.c \
accum.c \
- alpha.c \
- alphabuf.c \
- api1.c \
- api2.c \
- apiext.c \
attrib.c \
- bbox.c \
- bitmap.c \
blend.c \
+ buffers.c \
clip.c \
colortab.c \
- config.c \
context.c \
- copypix.c \
- cva.c \
- debug_xform.c \
+ convolve.c \
+ debug.c \
depth.c \
+ dispatch.c \
dlist.c \
drawpix.c \
enable.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 \
- logic.c \
- masking.c \
matrix.c \
- misc.c \
mmath.c \
- mthreads.c \
- pb.c \
pixel.c \
- pipeline.c \
points.c \
- pointers.c \
polygon.c \
- quads.c \
rastpos.c \
- readpix.c \
- rect.c \
- scissor.c \
- shade.c \
- span.c \
- stages.c \
+ state.c \
stencil.c \
+ texcompress.c \
+ texformat.c \
teximage.c \
texobj.c \
texstate.c \
- texture.c \
- translate.c \
- triangle.c \
+ texstore.c \
+ texutil.c \
varray.c \
- vb.c \
- vbcull.c \
- vbfill.c \
- vbindirect.c \
- vbrender.c \
- vbxform.c \
- vector.c \
- winpos.c \
- xform.c \
- zoom.c \
+ vpexec.c \
+ vpparse.c \
+ vpstate.c \
+ vtxfmt.c \
X86/x86.c \
X86/common_x86.c \
- X86/3dnow.c
+ X86/3dnow.c \
+ X86/sse.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
+
DRIVER_SOURCES = \
- X/glxapi.c \
- X/fakeglx.c \
- X/realglx.c \
- X/xfonts.c \
- X/xmesa1.c \
- X/xmesa2.c \
- X/xmesa3.c \
- X/xmesa4.c \
- OSmesa/osmesa.c \
- SVGA/svgamesa.c \
FX/fxapi.c \
- FX/fxclip.c \
- FX/fxcva.c \
FX/fxdd.c \
FX/fxddspan.c \
FX/fxddtex.c \
- FX/fxfastpath.c \
- FX/fxpipeline.c \
- FX/fxrender.c \
- FX/fxsanity.c \
FX/fxsetup.c \
FX/fxtexman.c \
- FX/fxtrifuncs.c \
- FX/fxvsetup.c \
- FX/fxglidew.c
-# GGI/ggimesa.c
+ FX/fxtris.c \
+ FX/fxvb.c \
+ FX/fxglidew.c \
+ X/glxapi.c \
+ X/fakeglx.c \
+ X/xfonts.c \
+ X/xm_api.c \
+ X/xm_dd.c \
+ X/xm_line.c \
+ X/xm_span.c \
+ X/xm_tri.c \
+ SVGA/svgamesa.c \
+ SVGA/svgamesa8.c \
+ SVGA/svgamesa15.c \
+ SVGA/svgamesa16.c \
+ SVGA/svgamesa24.c \
+ SVGA/svgamesa32.c
-ASM_SOURCES =
-ADDITIONAL_OBJ =
+ASM_SOURCES =
+
+ADDITIONAL_OBJ =
OBJECTS = $(ASM_SOURCES:.S=.o) \
$(CORE_SOURCES:.c=.o) \
$(ADDITIONAL_OBJ)
-#who put these here!?!
-#GL_LIB = libMesaGL.so
-#GLU_LIB = libMesaGLU.so
-#GLUT_LIB = libglut.so
-#CC = gcc
-#INCLUDES=-I. -I../include -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include
+OSMESA_SOURCES = OSmesa/osmesa.c
+OSMESA_OBJECTS = OSmesa/osmesa.o
+
##### RULES #####
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
.S.o:
- $(CC) -c $(CFLAGS) $< -o $@
+ $(CC) -c -I. $(CFLAGS) $< -o $@
-# UGH! These rules shouldn't be needed but IRIX's make (and others?) needs them
-X/glxapi.o: X/glxapi.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/fakeglx.o: X/fakeglx.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/realglx.o: X/realglx.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/xfonts.o: X/xfonts.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/xmesa1.o: X/xmesa1.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/xmesa2.o: X/xmesa2.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/xmesa3.o: X/xmesa3.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-X/xmesa4.o: X/xmesa4.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-SVGA/svgamesa.o: SVGA/svgamesa.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-OSmesa/osmesa.o: OSmesa/osmesa.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxapi.o: FX/fxapi.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxclip.o: FX/fxclip.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxcva.o: FX/fxcva.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxdd.o: FX/fxdd.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxddspan.o: FX/fxddspan.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxddtex.o: FX/fxddtex.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxfastpath.o: FX/fxfastpath.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxpipeline.o: FX/fxpipeline.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxrender.o: FX/fxrender.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxsanity.o: FX/fxsanity.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxsetup.o: FX/fxsetup.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxtrifuncs.o: FX/fxtrifuncs.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxtexman.o: FX/fxtexman.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxvsetup.o: FX/fxvsetup.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/fxglidew.o: FX/fxglidew.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-FX/X86/fx_3dnow_fastpath.o: FX/X86/fx_3dnow_fastpath.S FX/X86/fx_regoff.h
-FX/X86/fx_regoff.h: FX/X86/fx_gen_regoff
- $< > $@
-FX/X86/fx_gen_regoff : FX/X86/fx_gen_regoff.c
- $(CC) -I. -I$(INCDIR) $(CFLAGS) $< -o $@
-GGI/ggimesa.o: GGI/ggimesa.c
- $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
X86/x86.o: X86/x86.c
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
X86/common_x86.o: X86/common_x86.c
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
+X86/common_x86_asm.o: X86/common_x86_asm.S X86/matypes.h
X86/3dnow.o: X86/3dnow.c
$(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
+X86/sse.o: X86/sse.c
+ $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@
+X86/matypes.h: mtypes.h tnl/t_context.h X86/gen_matypes.c
+ $(CC) -I. -I$(INCDIR) $(CFLAGS) X86/gen_matypes.c -o X86/gen_matypes
+ ./X86/gen_matypes > X86/matypes.h
+ rm -f X86/gen_matypes X86/*.o
+
+# We have X86/matypes.h depend on X86/matypes.h so that if ASM_SOURCES
+# is empty we don't get an invalid Makefile.
+$(ASM_SOURCES) X86/matypes.h: X86/matypes.h
##### TARGETS #####
# @echo "Specify a target configuration"
clean:
- -rm *.o *~ */*.o */*~
+ -rm -f *.o *~ */*.o */*~ *.lo *.la
+ -rm -rf .libs
-targets: $(LIBDIR)/$(GL_LIB)
+targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB)
-# Make the library
+# Make the GL library
$(LIBDIR)/$(GL_LIB): $(OBJECTS)
- $(MAKELIB) $(GL_LIB) $(MAJOR) $(MINOR) $(OBJECTS)
+ $(MAKELIB) $(GL_LIB) $(GL_MAJOR) $(GL_MINOR) $(GL_TINY) $(OBJECTS)
rm -f $(LIBDIR)/$(GL_LIB)*
mv $(GL_LIB)* $(LIBDIR)
+# Make the OSMesa library
+$(LIBDIR)/$(OSMESA_LIB): $(OSMESA_OBJECTS)
+ if [ ${OSMESA_LIB} ] ; then $(MAKELIB) $(OSMESA_LIB) $(MESA_MAJOR) $(MESA_MINOR) $(GL_TINY) $(OSMESA_OBJECTS) ; fi
+ if [ ${OSMESA_LIB} ] ; then rm -f $(LIBDIR)/$(OSMESA_LIB)* ; fi
+ if [ ${OSMESA_LIB} ] ; then mv $(OSMESA_LIB)* $(LIBDIR) ; fi
+
+
include ../Make-config
include depend
#
# Run 'make dep' to update the dependencies if you change what's included
# by any source file.
-#
-dep: $(CORE_SOURCES) $(DRIVER_SOURCES)
- makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES)
+#
+dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
+ makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES)
tags:
etags `find . -name \*.[ch]` `find ../include`