| # Mesa 3-D graphics library |
| # Version: 4.1 |
| # |
| # Copyright (C) 2001 Wind River Systems, Inc |
| |
| # The MIT License |
| # Permission is hereby granted, free of charge, to any person obtaining a |
| # copy of this software and associated documentation files (the "Software"), |
| # to deal in the Software without restriction, including without limitation |
| # the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| # and/or sell copies of the Software, and to permit persons to whom the |
| # Software is furnished to do so, subject to the following conditions: |
| # |
| # The above copyright notice and this permission notice shall be included |
| # in all copies or substantial portions of the Software. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| # DEALINGS IN THE SOFTWARE. |
| |
| # Makefile for core library |
| |
| # This makefile can moved all objects files in MESA_OBJ for use with |
| # ld in windShell or create a library from objects files in their |
| # associated .c folder. |
| # |
| # For an easy inclusion of lib$(CPU)$(TOOL)GL.a in vxworks image, this |
| # makefile collects together all .o in an only file |
| # (obj$(CPU)$(TOOL)GL.o). This operation is unnecessary for |
| # lib$(CPU)$(TOOL)OSMesa.a and lib$(CPU)$(TOOL)UglMesa.a because they |
| # already contain only one file. |
| # |
| ##### MACROS ##### |
| MESA_MAJOR=4 |
| MESA_MINOR=1 |
| MESA_TINY=0 |
| VERSION=$(MESA_MAJOR).$(MESA_MINOR) |
| |
| GL_MAJOR = 1 |
| GL_MINOR = 2 |
| GL_TINY = 0$(MESA_MAJOR)0$(MESA_MINOR)0$(MESA_TINY) |
| |
| ##### RULES ##### |
| |
| include ..\rules.windml |
| |
| #### GL ##### |
| |
| GL_SOURCES = \ |
| api_arrayelt.c \ |
| api_loopback.c \ |
| api_noop.c \ |
| api_validate.c \ |
| accum.c \ |
| arbprogram.c \ |
| attrib.c \ |
| blend.c \ |
| bufferobj.c \ |
| buffers.c \ |
| clip.c \ |
| colortab.c \ |
| context.c \ |
| convolve.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 \ |
| glthread.c \ |
| hash.c \ |
| hint.c \ |
| histogram.c \ |
| image.c \ |
| imports.c \ |
| light.c \ |
| lines.c \ |
| matrix.c \ |
| pixel.c \ |
| points.c \ |
| polygon.c \ |
| rastpos.c \ |
| state.c \ |
| stencil.c \ |
| texcompress.c \ |
| texformat.c \ |
| teximage.c \ |
| texobj.c \ |
| texstate.c \ |
| texstore.c \ |
| texutil.c \ |
| varray.c \ |
| 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_vertex.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/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_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_render.c \ |
| tnl/t_vb_texgen.c \ |
| tnl/t_vb_texmat.c \ |
| tnl/t_vb_vertex.c |
| |
| GL_OBJECTS = $(GL_SOURCES:.c=.o) |
| GL_OBJNAME = $(MESA_LIBDIR)/objMesaGL.o |
| |
| #### X86 ##### |
| |
| x86_files = \ |
| X86/common_x86_asm.S \ |
| X86/glapi_x86.S \ |
| X86/x86_cliptest.S \ |
| X86/x86_vertex.S \ |
| X86/x86_xform2.S \ |
| X86/x86_xform3.S \ |
| X86/x86_xform4.S \ |
| |
| x3dnow_files = \ |
| X86/3dnow_normal.S \ |
| X86/3dnow_vertex.S \ |
| X86/3dnow_xform1.S \ |
| X86/3dnow_xform2.S \ |
| X86/3dnow_xform3.S \ |
| X86/3dnow_xform4.S |
| |
| sse_files = \ |
| X86/sse_normal.S \ |
| X86/sse_vertex.S \ |
| X86/sse_xform1.S \ |
| X86/sse_xform2.S \ |
| X86/sse_xform3.S \ |
| X86/sse_xform4.S |
| |
| mmx_files = X86/mmx_blend.S |
| |
| X86_OBJNAME = $(MESA_LIBDIR)/objMesaX86.o |
| |
| ##### UGL ##### |
| |
| UGL_SOURCES = \ |
| windml/ugl_api.c \ |
| windml/ugl_dd.c \ |
| windml/ugl_span.c \ |
| windml/ugl_line.c \ |
| windml/ugl_tri.c \ |
| windml/tornado/torMesaUGLInit.c |
| |
| UGL_OBJECTS = $(UGL_SOURCES:.c=.o) |
| UGL_OBJNAME = $(MESA_LIBDIR)/objMesaUGL.o |
| |
| ##### OS ##### |
| |
| OS_SOURCES = OSmesa/osmesa.c windml/tornado/torMesaOSInit.c |
| OS_OBJECTS = $(OS_SOURCES:.c=.o) |
| OS_OBJNAME = $(MESA_LIBDIR)/objMesaOS.o |
| |
| ##### GLUTSHAPES ##### |
| |
| GLUTSHAPES_SOURCES = \ |
| windml/ugl_glutshapes.c \ |
| windml/tornado/torGLUTShapesInit.c |
| |
| GLUTSHAPES_OBJECTS = $(GLUTSHAPES_SOURCES:.c=.o) |
| GLUTSHAPES_OBJNAME = $(MESA_LIBDIR)/objGLUTShapes.o |
| |
| SOURCES = $(GL_SOURCES) $(UGL_SOURCES) $(OS_SOURCES) \ |
| $(GLUTSHAPES_SOURCES) |
| |
| ##### TARGETS ##### |
| |
| all: depend.$(CPU)$(TOOL) cfgX86 $(X86_OBJNAME) $(GL_OBJNAME)\ |
| $(UGL_OBJNAME) $(OS_OBJNAME) $(GLUTSHAPES_OBJNAME) |
| |
| #histogram.o: |
| # $(CC) $(CFLAGS) -O1 $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $< |
| |
| #image.o: |
| # $(CC) $(CFLAGS) -O1 $(OPTION_OBJECT_ONLY) $(OPTION_OBJECT_NAME)$@ $< |
| |
| cfgX86: |
| ifdef HAVE_3DNOW |
| x3dnow_sources = $(x3dnow_files) |
| CFLAGS_3DNOW = -DUSE_3DNOW_ASM |
| HAVE_X86 = 1 |
| endif |
| ifdef HAVE_SSE |
| sse_sources = $(sse_files) |
| CFLAGS_SSE = -DUSE_SSE_ASM |
| HAVE_X86 = 1 |
| endif |
| ifdef HAVE_MMX |
| mmx_sources = $(mmx_files) |
| CFLAGS_MMX = -DUSE_MMX_ASM |
| HAVE_X86 = 1 |
| endif |
| ifdef HAVE_X86 |
| x86_sources = $(x86_files) |
| CFLAGS_X86 = -DUSE_X86_ASM |
| endif |
| X86_SOURCES = $(x86_sources) $(mmx_sources) \ |
| $(x3dnow_sources) $(sse_sources) |
| X86_OBJECTS = $(X86_SOURCES:.S=.o) |
| CFLAGS_USE_X86 = $(CFLAGS_3DNOW) $(CFLAGS_SSE) $(CFLAGS_MMX) $(CFLAGS_X86) |
| |
| #X86/matypes.h: mtypes.h tnl/t_context.h X86/gen_matypes.c |
| # $(CC) -I ./ X86/gen_matypes.c -o X86/gen_matypes |
| # ./X86/gen_matypes > X86/matypes.h |
| # $(RM) X86/gen_matypes |
| # $(RM) X86/gen_matypes.o |
| |
| # Make the Mesax86 library |
| $(X86_OBJNAME): $(X86_OBJECTS) |
| ifdef HAVE_X86 |
| # $(LD) -r $(X86_OBJECTS) -o $(MESA_OBJNAME) |
| $(LD) -r $(X86_OBJECTS) -o $(X86_OBJNAME) |
| # $(AR) rus $(MESA_LIBNAME) $(X86_OBJNAME) |
| # $(RM) $(X86_OBJNAME) |
| endif |
| |
| # Make the GL library |
| $(GL_OBJNAME): $(GL_OBJECTS) |
| # $(LD) -r $(GL_OBJECTS) -o $(MESA_OBJNAME) |
| $(LD) -r $(GL_OBJECTS) -o $(GL_OBJNAME) |
| # $(AR) rus $(MESA_LIBNAME) $(GL_OBJNAME) |
| # $(AR) rus $(VX_LIBNAME) $(GL_OBJNAME) |
| # $(RM) $(GL_OBJNAME) |
| |
| # Make the UGLMesa library |
| $(UGL_OBJNAME): $(UGL_OBJECTS) |
| # $(LD) -r $(UGL_OBJECTS) -o $(MESA_OBJNAME) |
| $(LD) -r $(UGL_OBJECTS) -o $(UGL_OBJNAME) |
| # $(AR) rus $(MESA_LIBNAME) $(UGL_OBJNAME) |
| # $(AR) rus $(VX_LIBNAME) $(UGL_OBJNAME) |
| # $(RM) $(UGL_OBJNAME) |
| |
| # Make the OSMesa library |
| $(OS_OBJNAME): $(OS_OBJECTS) |
| # $(LD) -r $(OS_OBJECTS) -o $(MESA_OBJNAME) |
| $(LD) -r $(OS_OBJECTS) -o $(OS_OBJNAME) |
| # $(AR) rus $(MESA_LIBNAME) $(OS_OBJNAME) |
| # $(AR) rus $(VX_LIBNAME) $(OS_OBJNAME) |
| # $(RM) $(OS_OBJNAME) |
| |
| # Make the GLUT Shapes library |
| $(GLUTSHAPES_OBJNAME): $(GLUTSHAPES_OBJECTS) |
| # $(LD) -r $(GLUTSHAPES_OBJECTS) -o $(MESA_OBJNAME) |
| $(LD) -r $(GLUTSHAPES_OBJECTS) -o $(GLUTSHAPES_OBJNAME) |
| # $(AR) rus $(MESA_LIBNAME) $(GLUTSHAPES_OBJNAME) |
| # $(AR) rus $(VX_LIBNAME) $(GLUTSHAPES_OBJNAME) |
| # $(RM) $(GLUTSHAPES_OBJNAME) |
| |
| depend.$(CPU)$(TOOL): |
| ifeq ($(WIND_HOST_TYPE),x86-win32) |
| @ $(RM) $@ |
| @ $(ECHO) Creating depend.$(CPU)$(TOOL) |
| ifneq ($(SOURCES),) |
| @ for %f in ($(SOURCES)) do \ |
| $(CC) -MM $(CFLAGS) %f >>$@ |
| endif |
| else |
| Makefile |
| @ $(RM) $@ |
| @ $(ECHO) "Creating depend.$(CPU)$(TOOL)" |
| ifneq ($(SOURCES),) |
| @ for FILE in $(filter-out $(NODEPENDOBJS), $(SOURCES)); \ |
| do \ |
| $(CC) -MM $(CFLAGS) $$FILE \ |
| | $(TCL) $(BIN_DIR)/depend.tcl $(TGT_DIR) >>$@; \ |
| done |
| endif |
| endif |
| |
| .PHONY = clean |
| |
| clean: |
| # $(AR) d $(MESA_LIBNAME) $(GL_OBJNAME) |
| # $(AR) d $(MESA_LIBNAME) $(UGL_OBJNAME) |
| # $(AR) d $(MESA_LIBNAME) $(OS_OBJNAME) |
| # $(AR) d $(MESA_LIBNAME) $(GLUTSHAPES_OBJNAME) |
| # $(AR) d $(VX_LIBNAME) $(GL_OBJNAME) |
| # $(AR) d $(VX_LIBNAME) $(UGL_OBJNAME) |
| # $(AR) d $(VX_LIBNAME) $(OS_OBJNAME) |
| # $(AR) d $(VX_LIBNAME) $(GLUTSHAPES_OBJNAME) |
| $(RM) $(GL_OBJECTS) |
| $(RM) $(UGL_OBJECTS) |
| $(RM) $(OS_OBJECTS) |
| $(RM) $(GLUTSHAPES_OBJECTS) |
| $(RM) $(GL_OBJNAME) |
| $(RM) $(UGL_OBJNAME) |
| $(RM) $(OS_OBJNAME) |
| $(RM) $(GLUTSHAPES_OBJNAME) |
| $(RM) depend.$(CPU)$(TOOL) |
| |
| include depend.$(CPU)$(TOOL) |
| |