Subversion Repositories Kolibri OS

Rev

Rev 5022 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

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