Subversion Repositories Kolibri OS

Rev

Rev 5080 | 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 -msse2 -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 -I$(MESA_SRC)/mesa
  12. INC_MESA+= -I$(MESA_SRC)/gallium/include -I$(MESA_SRC)/gallium/auxiliary
  13. INC_MESA+= -I$(MESA_SRC)/gallium/winsys -I$(MESA_SRC)/gallium/drivers
  14. INC_MESA+= -I$(MESA_SRC)/gallium/state_trackers/gbm -I$(MESA_SRC)/gbm/main
  15. INC_MESA+= -I$(SRC_DIR)/libdrm
  16. INC_I965:= -I$(SRC_DIR)/libdrm/intel -I$(SRC_DIR)/libdrm/include/drm
  17.  
  18. LIBPATH:= -L$(SDK_DIR)/lib -L/home/autobuild/tools/win32/mingw32/lib
  19.  
  20. LIBS:=  -ldll -lgallium -lc.dll -lgcc
  21.  
  22. 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
  23. MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
  24. 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
  25. MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -D_GLAPI_DLL_EXPORTS
  26.  
  27.  
  28. GALLIUM_SRC:=                                           \
  29.                 auxiliary/cso_cache/cso_cache.c         \
  30.                 auxiliary/cso_cache/cso_context.c       \
  31.                 auxiliary/cso_cache/cso_hash.c          \
  32.                 auxiliary/draw/draw_context.c           \
  33.                 auxiliary/draw/draw_fs.c                \
  34.                 auxiliary/draw/draw_gs.c                \
  35.                 auxiliary/draw/draw_pipe.c              \
  36.                 auxiliary/draw/draw_pipe_aaline.c       \
  37.                 auxiliary/draw/draw_pipe_aapoint.c      \
  38.                 auxiliary/draw/draw_pipe_clip.c         \
  39.                 auxiliary/draw/draw_pipe_cull.c         \
  40.                 auxiliary/draw/draw_pipe_flatshade.c    \
  41.                 auxiliary/draw/draw_pipe_offset.c       \
  42.                 auxiliary/draw/draw_pipe_pstipple.c     \
  43.                 auxiliary/draw/draw_pipe_stipple.c      \
  44.                 auxiliary/draw/draw_pipe_twoside.c      \
  45.                 auxiliary/draw/draw_pipe_unfilled.c     \
  46.                 auxiliary/draw/draw_pipe_util.c         \
  47.                 auxiliary/draw/draw_pipe_validate.c     \
  48.                 auxiliary/draw/draw_pipe_vbuf.c         \
  49.                 auxiliary/draw/draw_pipe_wide_line.c    \
  50.                 auxiliary/draw/draw_pipe_wide_point.c   \
  51.                 auxiliary/draw/draw_prim_assembler.c    \
  52.                 auxiliary/draw/draw_pt.c                \
  53.                 auxiliary/draw/draw_pt_emit.c           \
  54.                 auxiliary/draw/draw_pt_fetch.c          \
  55.                 auxiliary/draw/draw_pt_fetch_emit.c     \
  56.                 auxiliary/draw/draw_pt_fetch_shade_emit.c \
  57.                 auxiliary/draw/draw_pt_fetch_shade_pipeline.c \
  58.                 auxiliary/draw/draw_pt_post_vs.c        \
  59.                 auxiliary/draw/draw_pt_so_emit.c        \
  60.                 auxiliary/draw/draw_pt_util.c           \
  61.                 auxiliary/draw/draw_pt_vsplit.c         \
  62.                 auxiliary/draw/draw_vertex.c            \
  63.                 auxiliary/draw/draw_vs.c                \
  64.                 auxiliary/draw/draw_vs_exec.c           \
  65.                 auxiliary/draw/draw_vs_variant.c        \
  66.                 auxiliary/os/os_misc.c                  \
  67.                 auxiliary/os/os_time.c                  \
  68.                 auxiliary/rtasm/rtasm_cpu.c             \
  69.                 auxiliary/rtasm/rtasm_execmem.c         \
  70.                 auxiliary/rtasm/rtasm_x86sse.c          \
  71.                 auxiliary/tgsi/tgsi_build.c             \
  72.                 auxiliary/tgsi/tgsi_dump.c              \
  73.                 auxiliary/tgsi/tgsi_exec.c              \
  74.                 auxiliary/tgsi/tgsi_info.c              \
  75.                 auxiliary/tgsi/tgsi_iterate.c           \
  76.                 auxiliary/tgsi/tgsi_parse.c             \
  77.                 auxiliary/tgsi/tgsi_sanity.c            \
  78.                 auxiliary/tgsi/tgsi_scan.c              \
  79.                 auxiliary/tgsi/tgsi_strings.c           \
  80.                 auxiliary/tgsi/tgsi_text.c              \
  81.                 auxiliary/tgsi/tgsi_transform.c         \
  82.                 auxiliary/tgsi/tgsi_ureg.c              \
  83.                 auxiliary/tgsi/tgsi_util.c              \
  84.                 auxiliary/translate/translate.c         \
  85.                 auxiliary/translate/translate_cache.c   \
  86.                 auxiliary/translate/translate_generic.c \
  87.                 auxiliary/translate/translate_sse.c     \
  88.                 auxiliary/util/u_debug.c                \
  89.                 auxiliary/util/u_debug_describe.c       \
  90.                 auxiliary/util/u_debug_memory.c         \
  91.                 auxiliary/util/u_debug_refcnt.c         \
  92.                 auxiliary/util/u_debug_stack.c          \
  93.                 auxiliary/util/u_debug_symbol.c         \
  94.                 auxiliary/util/u_dump_defines.c         \
  95.                 auxiliary/util/u_dump_state.c           \
  96.                 auxiliary/util/u_bitmask.c              \
  97.                 auxiliary/util/u_blit.c                 \
  98.                 auxiliary/util/u_blitter.c              \
  99.                 auxiliary/util/u_cache.c                \
  100.                 auxiliary/util/u_caps.c                 \
  101.                 auxiliary/util/u_cpu_detect.c           \
  102.                 auxiliary/util/u_dl.c                   \
  103.                 auxiliary/util/u_draw.c                 \
  104.                 auxiliary/util/u_draw_quad.c            \
  105.                 auxiliary/util/u_format.c               \
  106.                 auxiliary/util/u_format_other.c         \
  107.                 auxiliary/util/u_format_latc.c          \
  108.                 auxiliary/util/u_format_srgb.c          \
  109.                 auxiliary/util/u_format_table.c         \
  110.                 auxiliary/util/u_format_s3tc.c          \
  111.                 auxiliary/util/u_format_rgtc.c          \
  112.                 auxiliary/util/u_format_etc.c           \
  113.                 auxiliary/util/u_format_tests.c         \
  114.                 auxiliary/util/u_format_yuv.c           \
  115.                 auxiliary/util/u_format_zs.c            \
  116.                 auxiliary/util/u_framebuffer.c          \
  117.                 auxiliary/util/u_gen_mipmap.c           \
  118.                 auxiliary/util/u_handle_table.c         \
  119.                 auxiliary/util/u_hash.c                 \
  120.                 auxiliary/util/u_hash_table.c           \
  121.                 auxiliary/util/u_helpers.c              \
  122.                 auxiliary/util/u_index_modify.c         \
  123.                 auxiliary/util/u_keymap.c               \
  124.                 auxiliary/util/u_linear.c               \
  125.                 auxiliary/util/u_linkage.c              \
  126.                 auxiliary/util/u_network.c              \
  127.                 auxiliary/util/u_math.c                 \
  128.                 auxiliary/util/u_mm.c                   \
  129.                 auxiliary/util/u_pstipple.c             \
  130.                 auxiliary/util/u_ringbuffer.c           \
  131.                 auxiliary/util/u_sampler.c              \
  132.                 auxiliary/util/u_simple_shaders.c       \
  133.                 auxiliary/util/u_slab.c                 \
  134.                 auxiliary/util/u_snprintf.c             \
  135.                 auxiliary/util/u_staging.c              \
  136.                 auxiliary/util/u_suballoc.c             \
  137.                 auxiliary/util/u_surface.c              \
  138.                 auxiliary/util/u_surfaces.c             \
  139.                 auxiliary/util/u_texture.c              \
  140.                 auxiliary/util/u_tile.c                 \
  141.                 auxiliary/util/u_transfer.c             \
  142.                 auxiliary/util/u_resource.c             \
  143.                 auxiliary/util/u_upload_mgr.c           \
  144.                 auxiliary/util/u_vbuf.c                 \
  145.                 auxiliary/vl/vl_csc.c                   \
  146.                 auxiliary/vl/vl_compositor.c            \
  147.                 auxiliary/vl/vl_matrix_filter.c         \
  148.                 auxiliary/vl/vl_median_filter.c         \
  149.                 auxiliary/vl/vl_decoder.c               \
  150.                 auxiliary/vl/vl_mpeg12_decoder.c        \
  151.                 auxiliary/vl/vl_mpeg12_bitstream.c      \
  152.                 auxiliary/vl/vl_zscan.c                 \
  153.                 auxiliary/vl/vl_idct.c                  \
  154.                 auxiliary/vl/vl_mc.c                    \
  155.                 auxiliary/vl/vl_vertex_buffers.c        \
  156.                 auxiliary/vl/vl_video_buffer.c
  157.  
  158. GBM_SRC =                                               \
  159.                 auxiliary/pipe-loader/pipe_loader.c     \
  160.                 auxiliary/pipe-loader/pipe_loader_drm.c \
  161.                 auxiliary/pipe-loader/pipe_loader_sw.c  \
  162.                 state_trackers/gbm/gbm_drm.c            \
  163.                 targets/gbm/gbm.c                       \
  164.                 winsys/sw/null/null_sw_winsys.c
  165.  
  166. I965_SRC =                                      \
  167.         $(NULL)
  168.  
  169. GALLIUM_OBJS =  $(patsubst %.c, %.o, $(patsubst %.S, %.o, $(patsubst %.cpp, %.o, $(GALLIUM_SRC))))
  170. GBM_OBJS =  $(patsubst %.c, %.o, $(GBM_SRC))
  171.  
  172. OSMESA_OBJS =  $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(OSMESA_SRC)))
  173. I965_OBJS =  $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(I965_SRC)))
  174.  
  175. # targets
  176.  
  177. all: libgallium.a gbm_gallium_drm.dll
  178.  
  179. libgallium.a: $(GALLIUM_OBJS) Makefile
  180.         $(AR) crs $@ $(GALLIUM_OBJS)
  181.         mv -f $@ $(SDK_DIR)/lib
  182.  
  183. gbm_gallium_drm.dll: libgallium.a $(GBM_OBJS) Makefile
  184.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(GBM_OBJS) gbm.def $(LIBS)
  185.         mv -f $@ $(SDK_DIR)/bin
  186.  
  187. i965_dri.drv: $(I965_OBJS) $(MESA_OBJS) dri.def Makefile
  188.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(I965_OBJS) $(MESA_OBJS) dri.def $(LIBS)
  189.         mv -f $@ $(SDK_DIR)/bin
  190.  
  191. osmesa.dll: $(MESA_OBJS) $(OSMESA_OBJS) osmesa.def Makefile
  192.         $(LD) $(LDFLAGS) $(LIBPATH) --out-implib libosmesa.dll.a -o $@ $(MESA_OBJS) $(OSMESA_OBJS) osmesa.def $(LIBS)
  193.         mv -f libosmesa.dll.a $(SDK_DIR)/lib
  194.         mv -f $@ $(SDK_DIR)/bin
  195.  
  196. %.o : %.c Makefile
  197.         $(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
  198.  
  199.  
  200. %.o : %.cpp Makefile
  201.         $(CC) $(CFLAGS) $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
  202.  
  203.