X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2FMakefile.X11;h=22708b5efa2330271bd5a8b6b66c4f65dce9c336;hb=3a590805d17579dc4a4744aa448208a1bb77ba0f;hp=f5e73514d36b371db0fa182193583190eb960262;hpb=80e872df2b1ed10751a99e56f8f2f342be1438e7;p=mesa.git diff --git a/src/mesa/Makefile.X11 b/src/mesa/Makefile.X11 index f5e73514d36..22708b5efa2 100644 --- a/src/mesa/Makefile.X11 +++ b/src/mesa/Makefile.X11 @@ -1,243 +1,147 @@ -# $Id: Makefile.X11,v 1.8 1999/11/16 15:49:12 brianp Exp $ - -# Mesa 3-D graphics library -# Version: 3.3 -# Copyright (C) 1995-1999 Brian Paul - -# Makefile for core library +# Makefile for main Mesa library for Unix/X11-like systems ##### MACROS ##### +TOP = ../.. + GL_MAJOR = 1 -GL_MINOR = 2 +GL_MINOR = 5 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY) -VPATH = RCS - -INCDIR = ../include -LIBDIR = ../lib - - -CORE_SOURCES = \ - glapi.c \ - glapinoop.c \ - accum.c \ - alpha.c \ - alphabuf.c \ - attrib.c \ - bbox.c \ - bitmap.c \ - blend.c \ - clip.c \ - colortab.c \ - config.c \ - context.c \ - copypix.c \ - cva.c \ - debug_xform.c \ - depth.c \ - dispatch.c \ - dlist.c \ - drawpix.c \ - enable.c \ - enums.c \ - eval.c \ - extensions.c \ - feedback.c \ - fog.c \ - get.c \ - glmisc.c \ - hash.c \ - image.c \ - imaging.c \ - light.c \ - lines.c \ - logic.c \ - masking.c \ - matrix.c \ - mem.c \ - mmath.c \ - mthreads.c \ - pb.c \ - pixel.c \ - pipeline.c \ - points.c \ - polygon.c \ - quads.c \ - rastpos.c \ - readpix.c \ - rect.c \ - scissor.c \ - shade.c \ - span.c \ - stages.c \ - stencil.c \ - teximage.c \ - texobj.c \ - texstate.c \ - texture.c \ - translate.c \ - triangle.c \ - varray.c \ - vb.c \ - vbcull.c \ - vbfill.c \ - vbindirect.c \ - vbrender.c \ - vbxform.c \ - vector.c \ - vertices.c \ - winpos.c \ - xform.c \ - zoom.c \ - X86/x86.c \ - X86/common_x86.c \ - X86/3dnow.c +# These may be overridden in Make-config +GL_LIB_NAME = GL +OSMESA_LIB_NAME = OSMesa + +LIBDIR = $(TOP)/lib + + +include sources + +# This will probably get set to $(X86_SOURCES) in Make-config: +ASM_SOURCES = + +# This should get set in Make-config someday: 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 - -ASM_SOURCES = - -ADDITIONAL_OBJ = - -OBJECTS = $(ASM_SOURCES:.S=.o) \ - $(CORE_SOURCES:.c=.o) \ - $(DRIVER_SOURCES:.c=.o) \ - $(ADDITIONAL_OBJ) + $(COMMON_DRIVER_SOURCES) \ + $(X11_DRIVER_SOURCES) \ + $(GLIDE_DRIVER_SOURCES) \ + $(SVGA_DRIVER_SOURCES) \ + $(FBDEV_DRIVER_SOURCES) + +# All the sources we care about: +SOURCES = \ + $(CORE_SOURCES) \ + $(ASM_SOURCES) \ + $(DRIVER_SOURCES) + + +ASM_OBJECTS = $(ASM_SOURCES:.S=.o) + +DRIVER_OBJECTS = $(DRIVER_SOURCES:.c=.o) + +OSMESA_OBJECTS = $(OSMESA_DRIVER_SOURCES:.c=.o) + +# All the objects we want to make: +OBJECTS = \ + $(CORE_OBJECTS) \ + $(ASM_OBJECTS) \ + $(DRIVER_OBJECTS) + ##### RULES ##### .c.o: - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ + $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ .S.o: - $(CC) -c $(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/3dnow.o: X86/3dnow.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ + $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ + + +# need some special rules here, unfortunately +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 +x86/3dnow_normal.o: x86/matypes.h +x86/3dnow_xform1.o: x86/matypes.h +x86/3dnow_xform2.o: x86/matypes.h +x86/3dnow_xform3.o: x86/matypes.h +x86/3dnow_xform4.o: x86/matypes.h +x86/mmx_blend.o: x86/matypes.h +x86/sse_normal.o: x86/matypes.h +x86/sse_xform1.o: x86/matypes.h +x86/sse_xform2.o: x86/matypes.h +x86/sse_xform3.o: x86/matypes.h +x86/sse_xform4.o: x86/matypes.h +x86/x86_cliptest.o: x86/matypes.h +x86/x86_xform2.o: x86/matypes.h +x86/x86_xform3.o: x86/matypes.h +x86/x86_xform4.o: x86/matypes.h + ##### TARGETS ##### -#default: -# @echo "Specify a target configuration" +default: + @echo "Specify a target configuration" -clean: - -rm *.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) $(GL_MAJOR) $(GL_MINOR) $(GL_TINY) $(OBJECTS) - rm -f $(LIBDIR)/$(GL_LIB)* - mv $(GL_LIB)* $(LIBDIR) + $(TOP)/bin/mklib -o $(GL_LIB_NAME) -major $(GL_MAJOR) \ + -minor $(GL_MINOR) -patch $(GL_TINY) -install $(LIBDIR) \ + $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(OBJECTS) -include ../Make-config +# Make the OSMesa library +$(LIBDIR)/$(OSMESA_LIB): $(OSMESA_OBJECTS) + if [ ${OSMESA_LIB} ] ; then \ + $(TOP)/bin/mklib -o $(OSMESA_LIB_NAME) -major $(MESA_MAJOR) \ + -minor $(MESA_MINOR) -patch $(GL_TINY) \ + $(MKLIB_OPTIONS) -install $(LIBDIR) \ + $(OSMESA_LIB_DEPS) $(OSMESA_OBJECTS) ; \ + fi + + +# Make an optional library with _just_ core objects +# XXX this should probably be moved into a separate makefile +libmesa: $(LIBDIR)/$(MESA_LIB) + if [ ${MESA_LIB} ] ; then \ + $(MAKELIB) $(MESA_LIB) $(MESA_MAJOR) \ + $(MESA_MINOR) $(GL_TINY) $(CORE_OBJECTS) ; \ + fi + if [ ${MESA_LIB} ] ; then rm -f $(LIBDIR)/$(MESA_LIB)* ; fi + if [ ${MESA_LIB} ] ; then mv $(MESA_LIB)* $(LIBDIR) ; fi +$(LIBDIR)/$(MESA_LIB): $(CORE_OBJECTS) -include depend +# Run 'make -f Makefile.X11 dep' to update the dependencies if you change +# what's included by any source file. +dep: $(SOURCES) + makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX $(SOURCES) -# -# 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) +# Emacs tags tags: etags `find . -name \*.[ch]` `find ../include` + + +# Remove .o and backup files +clean: + -rm -f *.a + -rm -f */*.o */*~ */*.o */*~ + -rm -f drivers/*/*.o drivers/*/*/*.o + + +include $(TOP)/Make-config + +include depend