# Mesa 3-D graphics library # Version: 5.1 # Copyright (C) 1995-2003 Brian Paul # Makefile for core library ##### 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 = "OSMesa" # may be overridden in Make-config VPATH = RCS LIBDIR = $(TOP)/lib CORE_SOURCES = \ glapi/glapi.c \ glapi/glthread.c \ 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/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 \ x86/x86.c \ x86/common_x86.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_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/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 = \ 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/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 \ drivers/svga/svgamesa.c \ drivers/svga/svgamesa8.c \ drivers/svga/svgamesa15.c \ drivers/svga/svgamesa16.c \ drivers/svga/svgamesa24.c \ drivers/svga/svgamesa32.c ASM_SOURCES = ADDITIONAL_OBJ = OBJECTS = $(ASM_SOURCES:.S=.o) \ $(CORE_SOURCES:.c=.o) \ $(DRIVER_SOURCES:.c=.o) \ $(ADDITIONAL_OBJ) CORE_OBJECTS = $(CORE_SOURCES:.c=.o) OSMESA_SOURCES = drivers/osmesa/osmesa.c OSMESA_OBJECTS = drivers/osmesa/osmesa.o 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/x86.o: x86/x86.c $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ x86/common_x86.o: x86/common_x86.c $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ x86/common_x86_asm.o: x86/common_x86_asm.S x86/matypes.h x86/3dnow.o: x86/3dnow.c $(CC) -c $(INCLUDE_DIRS) $(CFLAGS) $< -o $@ x86/sse.o: x86/sse.c $(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 # 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 ##### #default: # @echo "Specify a target configuration" clean: -rm -f *.o *~ */*.o */*~ *.lo *.la -rm -rf .libs targets: $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(OSMESA_LIB) # Make the GL library $(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) # 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 # 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 $(LIBDIR)/$(MESA_LIB): $(CORE_OBJECTS) include $(TOP)/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) $(OSMESA_SOURCES) makedepend -fdepend -Y -I../include -DGGI -DSVGA -DFX $(CORE_SOURCES) $(DRIVER_SOURCES) $(OSMESA_SOURCES) tags: etags `find . -name \*.[ch]` `find ../include`