Subversion Repositories Kolibri OS

Rev

Rev 5563 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1.  
  2. SRC_DIR:=$(SDK_DIR)/sources
  3. MESA_SRC:= $(SRC_DIR)/Mesa/mesa-9.2.5/src
  4.  
  5. CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -Os
  6. CFLAGS_OPT+= -fomit-frame-pointer -fno-ident -mno-ms-bitfields
  7. CFLAGS   = -c $(CFLAGS_OPT)
  8.  
  9. LDFLAGS = -shared -s --image-base 0 -T dll.lds -e _DllStartup
  10.  
  11. INC_MESA:= -I$(SRC_DIR)/newlib/libc/include -I$(SRC_DIR)/Mesa/mesa-9.2.5/include
  12. INC_MESA+= -I./ -I$(MESA_SRC)/glsl -I$(MESA_SRC)/mesa -I$(MESA_SRC)/mapi
  13. INC_MESA+= -I$(SRC_DIR)/libdrm -I$(MESA_SRC) -I$(SRC_DIR)/expat/lib
  14. INC_I965:= -I$(SRC_DIR)/libdrm/intel -I$(SRC_DIR)/libdrm/include/drm -I$(MESA_SRC)/mesa/drivers/dri/common
  15.  
  16. LIBS:=  -ldll -lglsl -lGL.dll -lsupc++ -ldrm.dll -lexpat -lgcc -lc.dll
  17.  
  18. MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256
  19. MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
  20. MESA_DEFS+= -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
  21. MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -D_GLAPI_DLL_EXPORTS
  22.  
  23.  
  24. MAIN_SRC =                              \
  25.         drivers/common/driverfuncs.c    \
  26.         drivers/common/meta.c           \
  27.         main/accum.c                    \
  28.         main/api_arrayelt.c             \
  29.         main/api_exec.c                 \
  30.         main/api_loopback.c             \
  31.         main/api_validate.c             \
  32.         main/arbprogram.c               \
  33.         main/arrayobj.c                 \
  34.         main/atifragshader.c            \
  35.         main/attrib.c                   \
  36.         main/blend.c                    \
  37.         main/bufferobj.c                \
  38.         main/buffers.c                  \
  39.         main/clear.c                    \
  40.         main/clip.c                     \
  41.         main/colortab.c                 \
  42.         main/condrender.c               \
  43.         main/context.c                  \
  44.         main/convolve.c                 \
  45.         main/cpuinfo.c                  \
  46.         main/debug.c                    \
  47.         main/depth.c                    \
  48.         main/dlist.c                    \
  49.         main/drawpix.c                  \
  50.         main/drawtex.c                  \
  51.         main/enable.c                   \
  52.         main/enums.c                    \
  53.         main/errors.c                   \
  54.         main/es1_conversion.c           \
  55.         main/eval.c                     \
  56.         main/execmem.c                  \
  57.         main/extensions.c               \
  58.         main/ff_fragment_shader.cpp     \
  59.         main/fbobject.c                 \
  60.         main/feedback.c                 \
  61.         main/ffvertex_prog.c            \
  62.         main/fog.c                      \
  63.         main/format_pack.c              \
  64.         main/format_unpack.c            \
  65.         main/formatquery.c              \
  66.         main/formats.c                  \
  67.         main/framebuffer.c              \
  68.         main/get.c                      \
  69.         main/getstring.c                \
  70.         main/glformats.c                \
  71.         main/hash.c                     \
  72.         main/hash_table.c               \
  73.         main/hint.c                     \
  74.         main/histogram.c                \
  75.         main/image.c                    \
  76.         main/imports.c                  \
  77.         main/light.c                    \
  78.         main/lines.c                    \
  79.         main/matrix.c                   \
  80.         main/mipmap.c                   \
  81.         main/mm.c                       \
  82.         main/multisample.c              \
  83.         main/pack.c                     \
  84.         main/pbo.c                      \
  85.         main/pixel.c                    \
  86.         main/pixelstore.c               \
  87.         main/pixeltransfer.c            \
  88.         main/points.c                   \
  89.         main/polygon.c                  \
  90.         main/querymatrix.c              \
  91.         main/queryobj.c                 \
  92.         main/rastpos.c                  \
  93.         main/readpix.c                  \
  94.         main/remap.c                    \
  95.         main/renderbuffer.c             \
  96.         main/samplerobj.c               \
  97.         main/scissor.c                  \
  98.         main/set.c                      \
  99.         main/shader_query.c             \
  100.         main/shaderapi.c                \
  101.         main/shaderobj.c                \
  102.         main/shared.c                   \
  103.         main/state.c                    \
  104.         main/stencil.c                  \
  105.         main/syncobj.c                  \
  106.         main/texcompress.c              \
  107.         main/texcompress_cpal.c         \
  108.         main/texcompress_etc.c          \
  109.         main/texcompress_fxt1.c         \
  110.         main/texcompress_rgtc.c         \
  111.         main/texcompress_s3tc.c         \
  112.         main/texenv.c                   \
  113.         main/texformat.c                \
  114.         main/texgen.c                   \
  115.         main/texgetimage.c              \
  116.         main/teximage.c                 \
  117.         main/texobj.c                   \
  118.         main/texparam.c                 \
  119.         main/texstate.c                 \
  120.         main/texstorage.c               \
  121.         main/texstore.c                 \
  122.         main/texturebarrier.c           \
  123.         main/transformfeedback.c        \
  124.         main/uniform_query.cpp          \
  125.         main/uniforms.c                 \
  126.         main/varray.c                   \
  127.         main/version.c                  \
  128.         main/viewport.c                 \
  129.         main/vtxfmt.c                   \
  130.         math/m_debug_clip.c             \
  131.         math/m_debug_norm.c             \
  132.         math/m_debug_xform.c            \
  133.         math/m_eval.c                   \
  134.         math/m_matrix.c                 \
  135.         math/m_translate.c              \
  136.         math/m_vector.c                 \
  137.         math/m_xform.c                  \
  138.         program/arbprogparse.c          \
  139.         program/ir_to_mesa.cpp          \
  140.         program/lex.yy.c                \
  141.         program/prog_cache.c            \
  142.         program/prog_execute.c          \
  143.         program/prog_hash_table.c       \
  144.         program/prog_instruction.c      \
  145.         program/prog_noise.c            \
  146.         program/prog_opt_constant_fold.c\
  147.         program/prog_optimize.c         \
  148.         program/prog_parameter.c        \
  149.         program/prog_parameter_layout.c \
  150.         program/prog_print.c            \
  151.         program/prog_statevars.c        \
  152.         program/program.c               \
  153.         program/program_parse.tab.c     \
  154.         program/program_parse_extra.c   \
  155.         program/programopt.c            \
  156.         program/register_allocate.c     \
  157.         program/sampler.cpp             \
  158.         program/string_to_uint_map.cpp  \
  159.         program/symbol_table.c          \
  160.         swrast/s_aaline.c               \
  161.         swrast/s_aatriangle.c           \
  162.         swrast/s_alpha.c                \
  163.         swrast/s_atifragshader.c        \
  164.         swrast/s_bitmap.c               \
  165.         swrast/s_blend.c                \
  166.         swrast/s_blit.c                 \
  167.         swrast/s_clear.c                \
  168.         swrast/s_context.c              \
  169.         swrast/s_copypix.c              \
  170.         swrast/s_depth.c                \
  171.         swrast/s_drawpix.c              \
  172.         swrast/s_feedback.c             \
  173.         swrast/s_fog.c                  \
  174.         swrast/s_fragprog.c             \
  175.         swrast/s_lines.c                \
  176.         swrast/s_logic.c                \
  177.         swrast/s_masking.c              \
  178.         swrast/s_points.c               \
  179.         swrast/s_renderbuffer.c         \
  180.         swrast/s_span.c                 \
  181.         swrast/s_stencil.c              \
  182.         swrast/s_texcombine.c           \
  183.         swrast/s_texfetch.c             \
  184.         swrast/s_texfilter.c            \
  185.         swrast/s_texrender.c            \
  186.         swrast/s_texture.c              \
  187.         swrast/s_triangle.c             \
  188.         swrast/s_zoom.c                 \
  189.         swrast_setup/ss_context.c       \
  190.         swrast_setup/ss_triangle.c      \
  191.         tnl/t_context.c                 \
  192.         tnl/t_draw.c                    \
  193.         tnl/t_pipeline.c                \
  194.         tnl/t_rasterpos.c               \
  195.         tnl/t_vb_fog.c                  \
  196.         tnl/t_vb_light.c                \
  197.         tnl/t_vb_normals.c              \
  198.         tnl/t_vb_points.c               \
  199.         tnl/t_vb_program.c              \
  200.         tnl/t_vb_render.c               \
  201.         tnl/t_vb_texgen.c               \
  202.         tnl/t_vb_texmat.c               \
  203.         tnl/t_vb_vertex.c               \
  204.         tnl/t_vertex.c                  \
  205.         tnl/t_vertex_generic.c          \
  206.         tnl/t_vertex_sse.c              \
  207.         tnl/t_vp_build.c                \
  208.         vbo/vbo_context.c               \
  209.         vbo/vbo_exec.c                  \
  210.         vbo/vbo_exec_api.c              \
  211.         vbo/vbo_exec_array.c            \
  212.         vbo/vbo_exec_draw.c             \
  213.         vbo/vbo_exec_eval.c             \
  214.         vbo/vbo_noop.c                  \
  215.         vbo/vbo_primitive_restart.c     \
  216.         vbo/vbo_rebase.c                \
  217.         vbo/vbo_save.c                  \
  218.         vbo/vbo_save_api.c              \
  219.         vbo/vbo_save_draw.c             \
  220.         vbo/vbo_save_loopback.c         \
  221.         vbo/vbo_split.c                 \
  222.         vbo/vbo_split_copy.c            \
  223.         vbo/vbo_split_inplace.c         \
  224.         x86/common_x86.c                \
  225.         x86/common_x86_asm.S            \
  226.         x86/mmx_blend.S                 \
  227.         x86/read_rgba_span_x86.S        \
  228.         x86/rtasm/x86sse.c              \
  229.         x86/sse.c                       \
  230.         x86/sse_normal.S                \
  231.         x86/sse_xform1.S                \
  232.         x86/sse_xform2.S                \
  233.         x86/sse_xform3.S                \
  234.         x86/sse_xform4.S                \
  235.         x86/x86_cliptest.S              \
  236.         x86/x86_xform.c                 \
  237.         x86/x86_xform2.S                \
  238.         x86/x86_xform3.S                \
  239.         x86/x86_xform4.S                \
  240.         $(NULL)
  241.  
  242. OSMESA_SRC =                                    \
  243.         drivers/osmesa/osmesa.c
  244.  
  245. I965_SRC =                                      \
  246.         drivers/dri/common/dri_util.c           \
  247.         drivers/dri/common/utils.c              \
  248.         drivers/dri/common/xmlconfig.c          \
  249.         drivers/dri/i965/intel_batchbuffer.c    \
  250.         drivers/dri/i965/intel_blit.c           \
  251.         drivers/dri/i965/intel_buffer_objects.c \
  252.         drivers/dri/i965/intel_buffers.c        \
  253.         drivers/dri/i965/intel_context.c        \
  254.         drivers/dri/i965/intel_extensions.c     \
  255.         drivers/dri/i965/intel_fbo.c            \
  256.         drivers/dri/i965/intel_mipmap_tree.c    \
  257.         drivers/dri/i965/intel_regions.c        \
  258.         drivers/dri/i965/intel_resolve_map.c    \
  259.         drivers/dri/i965/intel_screen.c         \
  260.         drivers/dri/i965/intel_pixel.c          \
  261.         drivers/dri/i965/intel_pixel_bitmap.c   \
  262.         drivers/dri/i965/intel_pixel_copy.c     \
  263.         drivers/dri/i965/intel_pixel_draw.c     \
  264.         drivers/dri/i965/intel_pixel_read.c     \
  265.         drivers/dri/i965/intel_state.c          \
  266.         drivers/dri/i965/intel_syncobj.c        \
  267.         drivers/dri/i965/intel_tex.c            \
  268.         drivers/dri/i965/intel_tex_copy.c       \
  269.         drivers/dri/i965/intel_tex_image.c      \
  270.         drivers/dri/i965/intel_tex_subimage.c   \
  271.         drivers/dri/i965/intel_tex_validate.c   \
  272.         drivers/dri/i965/brw_blorp.cpp          \
  273.         drivers/dri/i965/brw_blorp_blit.cpp     \
  274.         drivers/dri/i965/brw_blorp_clear.cpp    \
  275.         drivers/dri/i965/brw_cc.c               \
  276.         drivers/dri/i965/brw_cfg.cpp            \
  277.         drivers/dri/i965/brw_clear.c            \
  278.         drivers/dri/i965/brw_clip.c             \
  279.         drivers/dri/i965/brw_clip_line.c        \
  280.         drivers/dri/i965/brw_clip_point.c       \
  281.         drivers/dri/i965/brw_clip_state.c       \
  282.         drivers/dri/i965/brw_clip_tri.c         \
  283.         drivers/dri/i965/brw_clip_unfilled.c    \
  284.         drivers/dri/i965/brw_clip_util.c        \
  285.         drivers/dri/i965/brw_context.c          \
  286.         drivers/dri/i965/brw_cubemap_normalize.cpp      \
  287.         drivers/dri/i965/brw_curbe.c            \
  288.         drivers/dri/i965/brw_disasm.c           \
  289.         drivers/dri/i965/brw_draw.c             \
  290.         drivers/dri/i965/brw_draw_upload.c      \
  291.         drivers/dri/i965/brw_eu.c               \
  292.         drivers/dri/i965/brw_eu_compact.c       \
  293.         drivers/dri/i965/brw_eu_emit.c          \
  294.         drivers/dri/i965/brw_eu_util.c          \
  295.         drivers/dri/i965/brw_fs.cpp                     \
  296.         drivers/dri/i965/brw_fs_channel_expressions.cpp \
  297.         drivers/dri/i965/brw_fs_copy_propagation.cpp \
  298.         drivers/dri/i965/brw_fs_cse.cpp         \
  299.         drivers/dri/i965/brw_fs_emit.cpp        \
  300.         drivers/dri/i965/brw_fs_fp.cpp          \
  301.         drivers/dri/i965/brw_fs_live_variables.cpp      \
  302.         drivers/dri/i965/brw_fs_reg_allocate.cpp        \
  303.         drivers/dri/i965/brw_fs_vector_splitting.cpp \
  304.         drivers/dri/i965/brw_fs_visitor.cpp     \
  305.         drivers/dri/i965/brw_gs.c               \
  306.         drivers/dri/i965/brw_gs_emit.c          \
  307.         drivers/dri/i965/brw_gs_state.c         \
  308.         drivers/dri/i965/brw_lower_texture_gradients.cpp \
  309.         drivers/dri/i965/brw_misc_state.c       \
  310.         drivers/dri/i965/brw_program.c          \
  311.         drivers/dri/i965/brw_primitive_restart.c\
  312.         drivers/dri/i965/brw_queryobj.c         \
  313.         drivers/dri/i965/brw_schedule_instructions.cpp \
  314.         drivers/dri/i965/brw_sf.c               \
  315.         drivers/dri/i965/brw_sf_emit.c          \
  316.         drivers/dri/i965/brw_sf_state.c         \
  317.         drivers/dri/i965/brw_shader.cpp         \
  318.         drivers/dri/i965/brw_state_batch.c      \
  319.         drivers/dri/i965/brw_state_cache.c      \
  320.         drivers/dri/i965/brw_state_dump.c       \
  321.         drivers/dri/i965/brw_state_upload.c     \
  322.         drivers/dri/i965/brw_surface_formats.c  \
  323.         drivers/dri/i965/brw_tex.c              \
  324.         drivers/dri/i965/brw_tex_layout.c       \
  325.         drivers/dri/i965/brw_urb.c              \
  326.         drivers/dri/i965/brw_util.c             \
  327.         drivers/dri/i965/brw_vec4.cpp           \
  328.         drivers/dri/i965/brw_vec4_copy_propagation.cpp \
  329.         drivers/dri/i965/brw_vec4_emit.cpp      \
  330.         drivers/dri/i965/brw_vec4_live_variables.cpp \
  331.         drivers/dri/i965/brw_vec4_reg_allocate.cpp      \
  332.         drivers/dri/i965/brw_vec4_visitor.cpp   \
  333.         drivers/dri/i965/brw_vec4_vp.cpp        \
  334.         drivers/dri/i965/brw_vs.c               \
  335.         drivers/dri/i965/brw_vs_state.c         \
  336.         drivers/dri/i965/brw_vs_surface_state.c \
  337.         drivers/dri/i965/brw_vtbl.c             \
  338.         drivers/dri/i965/brw_wm.c               \
  339.         drivers/dri/i965/brw_wm_iz.cpp          \
  340.         drivers/dri/i965/brw_wm_sampler_state.c \
  341.         drivers/dri/i965/brw_wm_state.c         \
  342.         drivers/dri/i965/brw_wm_surface_state.c \
  343.         drivers/dri/i965/gen6_blorp.cpp         \
  344.         drivers/dri/i965/gen6_cc.c              \
  345.         drivers/dri/i965/gen6_clip_state.c      \
  346.         drivers/dri/i965/gen6_depthstencil.c    \
  347.         drivers/dri/i965/gen6_gs_state.c        \
  348.         drivers/dri/i965/gen6_multisample_state.c       \
  349.         drivers/dri/i965/gen6_queryobj.c        \
  350.         drivers/dri/i965/gen6_sampler_state.c   \
  351.         drivers/dri/i965/gen6_scissor_state.c   \
  352.         drivers/dri/i965/gen6_sf_state.c        \
  353.         drivers/dri/i965/gen6_sol.c             \
  354.         drivers/dri/i965/gen6_urb.c             \
  355.         drivers/dri/i965/gen6_viewport_state.c  \
  356.         drivers/dri/i965/gen6_vs_state.c        \
  357.         drivers/dri/i965/gen6_wm_state.c        \
  358.         drivers/dri/i965/gen7_blorp.cpp         \
  359.         drivers/dri/i965/gen7_clip_state.c      \
  360.         drivers/dri/i965/gen7_disable.c         \
  361.         drivers/dri/i965/gen7_misc_state.c      \
  362.         drivers/dri/i965/gen7_sampler_state.c   \
  363.         drivers/dri/i965/gen7_sf_state.c        \
  364.         drivers/dri/i965/gen7_sol_state.c       \
  365.         drivers/dri/i965/gen7_urb.c             \
  366.         drivers/dri/i965/gen7_viewport_state.c  \
  367.         drivers/dri/i965/gen7_vs_state.c        \
  368.         drivers/dri/i965/gen7_wm_state.c        \
  369.         drivers/dri/i965/gen7_wm_surface_state.c\
  370.         $(NULL)
  371.  
  372. I915_SRC =                                      \
  373.         drivers/dri/common/dri_util.c           \
  374.         drivers/dri/common/utils.c              \
  375.         drivers/dri/common/xmlconfig.c          \
  376.         drivers/dri/i915/i830_context.c         \
  377.         drivers/dri/i915/i830_state.c           \
  378.         drivers/dri/i915/i830_texblend.c        \
  379.         drivers/dri/i915/i830_texstate.c        \
  380.         drivers/dri/i915/i830_vtbl.c            \
  381.         drivers/dri/i915/i915_context.c         \
  382.         drivers/dri/i915/i915_debug_fp.c        \
  383.         drivers/dri/i915/i915_fragprog.c        \
  384.         drivers/dri/i915/i915_program.c         \
  385.         drivers/dri/i915/i915_state.c           \
  386.         drivers/dri/i915/i915_tex_layout.c      \
  387.         drivers/dri/i915/i915_texstate.c        \
  388.         drivers/dri/i915/i915_vtbl.c            \
  389.         drivers/dri/i915/intel_batchbuffer.c    \
  390.         drivers/dri/i915/intel_blit.c           \
  391.         drivers/dri/i915/intel_buffer_objects.c \
  392.         drivers/dri/i915/intel_buffers.c        \
  393.         drivers/dri/i915/intel_clear.c          \
  394.         drivers/dri/i915/intel_context.c        \
  395.         drivers/dri/i915/intel_extensions.c     \
  396.         drivers/dri/i915/intel_fbo.c            \
  397.         drivers/dri/i915/intel_mipmap_tree.c    \
  398.         drivers/dri/i915/intel_pixel.c          \
  399.         drivers/dri/i915/intel_pixel_bitmap.c   \
  400.         drivers/dri/i915/intel_pixel_copy.c     \
  401.         drivers/dri/i915/intel_pixel_draw.c     \
  402.         drivers/dri/i915/intel_pixel_read.c     \
  403.         drivers/dri/i915/intel_regions.c        \
  404.         drivers/dri/i915/intel_render.c         \
  405.         drivers/dri/i915/intel_screen.c         \
  406.         drivers/dri/i915/intel_state.c          \
  407.         drivers/dri/i915/intel_syncobj.c        \
  408.         drivers/dri/i915/intel_tex.c            \
  409.         drivers/dri/i915/intel_tex_copy.c       \
  410.         drivers/dri/i915/intel_tex_image.c      \
  411.         drivers/dri/i915/intel_tex_layout.c     \
  412.         drivers/dri/i915/intel_tex_subimage.c   \
  413.         drivers/dri/i915/intel_tex_validate.c   \
  414.         drivers/dri/i915/intel_tris.c
  415.  
  416.  
  417. MESA_OBJS =  $(patsubst %.c, %.o, $(patsubst %.S, %.o, $(patsubst %.cpp, %.o, $(MAIN_SRC))))
  418. OSMESA_OBJS =  $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(OSMESA_SRC)))
  419. I965_OBJS =  $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(I965_SRC)))
  420. I915_OBJS =  $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(I915_SRC)))
  421.  
  422. # targets
  423.  
  424. all: osmesa.dll i965_dri.drv i915_dri.drv
  425.  
  426. i965_dri.drv: $(I965_OBJS) $(MESA_OBJS) dri.def Makefile
  427.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(I965_OBJS) $(MESA_OBJS) dri.def $(LIBS)
  428. #       $(STRIP) $@
  429.         mv -f $@ $(SDK_DIR)/bin
  430.  
  431. i915_dri.drv: $(I915_OBJS) $(MESA_OBJS) dri.def Makefile
  432.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(I915_OBJS) $(MESA_OBJS) dri.def $(LIBS)
  433. #       $(STRIP) $@
  434.         mv -f $@ $(SDK_DIR)/bin
  435.  
  436. osmesa.dll: $(MESA_OBJS) $(OSMESA_OBJS) osmesa.def Makefile
  437.         $(LD) $(LDFLAGS) --out-implib libosmesa.dll.a -o $@ $(MESA_OBJS) $(OSMESA_OBJS) osmesa.def $(LIBS)
  438.         mv -f libosmesa.dll.a $(INSTALLDIR)
  439.         mv -f $@ $(SDK_DIR)/bin
  440.  
  441. %.o : %.c Makefile
  442.         $(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
  443.  
  444. %.o : %.S Makefile
  445.         $(CC) -c -U_WIN32 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -I $(MESA_SRC)/mesa -o $@ $<
  446.  
  447. %.o : %.cpp Makefile
  448.         $(CC) $(CFLAGS) $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
  449.  
  450.