# 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