X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2FMakefile.X11;h=c1706da558059440a83db537d483ab0651f4b121;hb=0f3cd3f894612d156de454178effa4c732f96da7;hp=afcffbb6cc0f7027061900ab539ad628232ea44a;hpb=74b493a5e61237de081a438e774e5d8139d4c6b7;p=mesa.git diff --git a/src/mesa/Makefile.X11 b/src/mesa/Makefile.X11 index afcffbb6cc0..c1706da5580 100644 --- a/src/mesa/Makefile.X11 +++ b/src/mesa/Makefile.X11 @@ -1,91 +1,103 @@ -# $Id: Makefile.X11,v 1.40 2001/01/24 00:04:58 brianp Exp $ - -# Mesa 3-D graphics library -# Version: 3.5 -# Copyright (C) 1995-2000 Brian Paul - -# Makefile for core library +# Makefile for core Mesa library ##### MACROS ##### +TOP = ../.. + GL_MAJOR = 1 -GL_MINOR = 2 +GL_MINOR = 4 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY) -VPATH = RCS +GL_LIB_NAME = "GL" # may be overridden in Make-config +OSMESA_LIB_NAME = "OSMesa" # may be overridden in Make-config -INCDIR = ../include -LIBDIR = ../lib +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/arbparse.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 -CORE_SOURCES = \ - api_loopback.c \ - api_noop.c \ - api_validate.c \ - accum.c \ - alpha.c \ - attrib.c \ - bitmap.c \ - blend.c \ - buffers.c \ - clip.c \ - colortab.c \ - config.c \ - context.c \ - convolve.c \ - copypix.c \ - debug.c \ - depth.c \ - dispatch.c \ - dlist.c \ - drawpix.c \ - enable.c \ - enums.c \ - eval.c \ - extensions.c \ - feedback.c \ - fog.c \ - get.c \ - glapi.c \ - glapinoop.c \ - glthread.c \ - hash.c \ - highpc.c \ - hint.c \ - histogram.c \ - image.c \ - imports.c \ - light.c \ - lines.c \ - logic.c \ - lowpc.c \ - masking.c \ - matrix.c \ - mem.c \ - mmath.c \ - pixel.c \ - pixeltex.c \ - points.c \ - polygon.c \ - rastpos.c \ - readpix.c \ - scissor.c \ - state.c \ - stencil.c \ - teximage.c \ - texobj.c \ - texstate.c \ - texture.c \ - texutil.c \ - varray.c \ - vtxfmt.c \ - winpos.c \ - X86/x86.c \ - X86/common_x86.c \ - X86/3dnow.c \ - X86/katmai.c \ +SWRAST_SOURCES = \ swrast/s_aaline.c \ swrast/s_aatriangle.c \ swrast/s_accum.c \ @@ -100,244 +112,249 @@ CORE_SOURCES = \ 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_pb.c \ + swrast/s_nvfragprog.c \ swrast/s_pixeltex.c \ swrast/s_points.c \ - swrast/s_quads.c \ swrast/s_readpix.c \ - swrast/s_scissor.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/s_zoom.c + +SWRAST_SETUP_SOURCES = \ swrast_setup/ss_context.c \ swrast_setup/ss_triangle.c \ - swrast_setup/ss_vb.c \ - math/m_debug_xform.c \ - math/m_eval.c \ - math/m_matrix.c \ - math/m_translate.c \ - math/m_vector.c \ - math/m_vertices.c \ - math/m_xform.c \ - array_cache/ac_context.c \ - array_cache/ac_import.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_save_api.c \ + tnl/t_save_loopback.c \ + tnl/t_save_playback.c \ tnl/t_vb_fog.c \ tnl/t_vb_light.c \ - tnl/t_vb_material.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 - + tnl/t_vb_vertex.c \ + tnl/t_vtx_api.c \ + tnl/t_vtx_eval.c \ + tnl/t_vtx_exec.c + + +ASM_C_SOURCES = \ + x86/common_x86.c \ + x86/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 + +X11_DRIVER_SOURCES = \ + drivers/x11/glxapi.c \ + drivers/x11/fakeglx.c \ + drivers/x11/xfonts.c \ + drivers/x11/xm_api.c \ + drivers/x11/xm_dd.c \ + drivers/x11/xm_line.c \ + drivers/x11/xm_span.c \ + drivers/x11/xm_tri.c + +OSMESA_DRIVER_SOURCES = \ + drivers/osmesa/osmesa.c + +GLIDE_DRIVER_SOURCES = \ + drivers/glide/fxapi.c \ + drivers/glide/fxdd.c \ + drivers/glide/fxddspan.c \ + drivers/glide/fxddtex.c \ + drivers/glide/fxsetup.c \ + drivers/glide/fxtexman.c \ + drivers/glide/fxtris.c \ + drivers/glide/fxvb.c \ + drivers/glide/fxglidew.c \ + drivers/glide/fxg.c + +SVGA_DRIVER_SOURCES = \ + drivers/svga/svgamesa.c \ + drivers/svga/svgamesa8.c \ + drivers/svga/svgamesa15.c \ + drivers/svga/svgamesa16.c \ + drivers/svga/svgamesa24.c \ + drivers/svga/svgamesa32.c + + + +### Groups of files +CORE_SOURCES = \ + $(MAIN_SOURCES) \ + $(GLAPI_SOURCES) \ + $(MATH_SOURCES) \ + $(ARRAY_CACHE_SOURCES) \ + $(TNL_SOURCES) \ + $(SWRAST_SOURCES) \ + $(SWRAST_SETUP_SOURCES) \ + $(ASM_C_SOURCES) + +# This will probably get set to $(X86_SOURCES) in Make-config: +ASM_SOURCES = + +ifndef SOLO +# This should get set in Make-config someday: DRIVER_SOURCES = \ - FX/fxapi.c \ - FX/fxdd.c \ - FX/fxddspan.c \ - FX/fxddtex.c \ - FX/fxsetup.c \ - FX/fxtexman.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 \ - Trace/tr_context.c \ - Trace/tr_control.c \ - Trace/tr_error.c \ - Trace/tr_support.c \ - Trace/tr_wrapper.c \ - Trace/tr_write.c - - -ASM_SOURCES = - -ADDITIONAL_OBJ = - -OBJECTS = $(ASM_SOURCES:.S=.o) \ - $(CORE_SOURCES:.c=.o) \ - $(DRIVER_SOURCES:.c=.o) \ - $(ADDITIONAL_OBJ) - - -OSMESA_SOURCES = OSmesa/osmesa.c -OSMESA_OBJECTS = OSmesa/osmesa.o + $(X11_DRIVER_SOURCES) \ + $(GLIDE_DRIVER_SOURCES) \ + $(SVGA_DRIVER_SOURCES) +endif + + +### Object files + +CORE_OBJECTS = $(CORE_SOURCES:.c=.o) + +DRIVER_OBJECTS = $(DRIVER_SOURCES:.c=.o) + +ASM_OBJECTS = $(ASM_SOURCES:.S=.o) + +OSMESA_OBJECTS = $(OSMESA_DRIVER_SOURCES:.c=.o) + +OBJECTS = \ + $(CORE_OBJECTS) \ + $(ASM_OBJECTS) \ + $(DRIVER_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 -I. -I$(INCDIR) $(CFLAGS) $< -o $@ + $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ .S.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/xfonts.o: X/xfonts.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -X/xm_api.o: X/xm_api.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -X/xm_dd.o: X/xm_dd.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -X/xm_span.o: X/xm_span.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -X/xm_line.o: X/xm_line.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -X/xm_tri.o: X/xm_tri.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ - -SVGA/svgamesa.o: SVGA/svgamesa.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -SVGA/svgamesa8.o: SVGA/svgamesa8.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -SVGA/svgamesa15.o: SVGA/svgamesa15.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -SVGA/svgamesa16.o: SVGA/svgamesa16.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -SVGA/svgamesa24.o: SVGA/svgamesa24.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -SVGA/svgamesa32.o: SVGA/svgamesa32.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/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 - -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 $@ -X86/katmai.o: X86/katmai.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ - -GGI/ggimesa.o: GGI/ggimesa.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ - -Trace/tr_2string.o: Trace/tr_2string.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -Trace/tr_attrib.o: Trace/tr_attrib.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -Trace/tr_context.o: Trace/tr_context.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -Trace/tr_control.o: Trace/tr_control.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -Trace/tr_error.o: Trace/tr_error.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -Trace/tr_print.o: Trace/tr_print.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -o $@ -Trace/tr_wrapper.o: Trace/tr_wrapper.c - $(CC) -c -I. -I$(INCDIR) $(CFLAGS) $< -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" +default: + @echo "Specify a target configuration" -clean: - -rm *.o *~ */*.o */*~ *.lo *.la - -rm -rf .libs -targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB) +targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB) $(LIBMESA) + # 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) # 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 + if [ ${OSMESA_LIB} ] ; then \ + $(TOP)/bin/mklib -o $(OSMESA_LIB_NAME) -major $(MESA_MAJOR) \ + -minor $(MESA_MINOR) -patch $(GL_TINY) -L$(LIBDIR) \ + -l$(GL_LIB_NAME) -install $(LIBDIR) \ + $(MKLIB_OPTIONS) $(OSMESA_OBJECTS) ; \ + fi -include ../Make-config +# Make an optional library with _just_ core objects +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 -include depend +$(LIBDIR)/$(MESA_LIB): $(CORE_OBJECTS) + +mesa.a: $(CORE_OBJECTS) + rm -f $@ && ar rcv $@ $(CORE_OBJECTS) && ranlib $@ -# -# Run 'make dep' to update the dependencies if you change what's included -# by any source file. -# -dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES) - makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES) +# Run 'make -f Makefile.X11 dep' to update the dependencies if you change +# what's included by any source file. +dep: $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_DRIVER_SOURCES) $(ASM_SOURCES) + makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX \ + $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_DRIVER_SOURCES) \ + $(ASM_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