X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmesa%2FMakefile.X11;h=22708b5efa2330271bd5a8b6b66c4f65dce9c336;hb=d3746ca27ece1052c23b4fc1b7d78e5b79868e07;hp=30ab3bd4b8f23be812ef21a16d39f18f92f978ef;hpb=b17a722ca3989e8563ee04cb2939f4835f8a171e;p=mesa.git diff --git a/src/mesa/Makefile.X11 b/src/mesa/Makefile.X11 index 30ab3bd4b8f..22708b5efa2 100644 --- a/src/mesa/Makefile.X11 +++ b/src/mesa/Makefile.X11 @@ -1,4 +1,4 @@ -# Makefile for core Mesa library +# Makefile for main Mesa library for Unix/X11-like systems ##### MACROS ##### @@ -6,269 +6,50 @@ TOP = ../.. GL_MAJOR = 1 -GL_MINOR = 4 +GL_MINOR = 5 GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY) -GL_LIB_NAME = "GL" # may be overridden in Make-config -OSMESA_LIB_NAME = "OSMesa" # may be overridden in Make-config - -VPATH = RCS +# These may be overridden in Make-config +GL_LIB_NAME = GL +OSMESA_LIB_NAME = OSMesa 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/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/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/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 - -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) \ - $(SWRAST_SOURCES) \ - $(SWRAST_SETUP_SOURCES) \ - $(TNL_SOURCES) \ - $(ASM_C_SOURCES) +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 = \ + $(COMMON_DRIVER_SOURCES) \ $(X11_DRIVER_SOURCES) \ $(GLIDE_DRIVER_SOURCES) \ - $(SVGA_DRIVER_SOURCES) + $(SVGA_DRIVER_SOURCES) \ + $(FBDEV_DRIVER_SOURCES) +# All the sources we care about: +SOURCES = \ + $(CORE_SOURCES) \ + $(ASM_SOURCES) \ + $(DRIVER_SOURCES) -### Object files -CORE_OBJECTS = $(CORE_SOURCES:.c=.o) +ASM_OBJECTS = $(ASM_SOURCES:.S=.o) DRIVER_OBJECTS = $(DRIVER_SOURCES:.c=.o) -ASM_OBJECTS = $(ASM_SOURCES:.S=.o) - OSMESA_OBJECTS = $(OSMESA_DRIVER_SOURCES:.c=.o) +# All the objects we want to make: 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 ##### @@ -279,12 +60,28 @@ INCLUDE_DIRS = \ $(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 + #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 @@ -301,30 +98,36 @@ targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB) $(LIBDIR)/$(GL_LIB): $(OBJECTS) $(TOP)/bin/mklib -o $(GL_LIB_NAME) -major $(GL_MAJOR) \ -minor $(GL_MINOR) -patch $(GL_TINY) -install $(LIBDIR) \ - $(GL_LIB_DEPS) $(OBJECTS) + $(MKLIB_OPTIONS) $(GL_LIB_DEPS) $(OBJECTS) # 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) \ - -L$(LIBDIR) -l$(GL_LIB_NAME) -install $(LIBDIR) \ - $(OSMESA_OBJECTS) ; fi + 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 \ + $(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) + # 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 -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) \ - $(DRIVER_SOURCES) $(OSMESA_DRIVER_SOURCES) $(ASM_SOURCES) +dep: $(SOURCES) + makedepend -fdepend -Y $(INCLUDE_DIRS) -DGGI -DSVGA -DFX $(SOURCES) # Emacs tags @@ -334,9 +137,9 @@ tags: # Remove .o and backup files clean: + -rm -f *.a -rm -f */*.o */*~ */*.o */*~ - -rm -f drivers/*/*.o - -rm -f drivers/dri/*/*.o + -rm -f drivers/*/*.o drivers/*/*/*.o include $(TOP)/Make-config