Subversion Repositories Kolibri OS

Rev

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

  1.  
  2. EGL = egl
  3.  
  4. CC = gcc
  5.  
  6. CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -Os
  7. CFLAGS_OPT+= -fomit-frame-pointer -mno-ms-bitfields
  8. CFLAGS   = -c $(CFLAGS_OPT)
  9.  
  10. LD = ld
  11. LDFLAGS = -nostdlib -shared -s --image-base 0 -T ../newlib/dll.lds --out-implib lib$(EGL).dll.a -e _DllStartup
  12.  
  13. STRIP = $(PREFIX)strip
  14.  
  15. INC_MESA=  -I../newlib/include -I./include -I./src -I./src/glsl -I./src/mesa -I./src/mapi
  16. INC_EGL=   -I../newlib/include -I../../includes -I./include -I../libdrm -I../libdrm/include/drm -I./src/egl/main -I./src/gbm/backends/dri -I./src/gbm/main
  17.  
  18. LIBPATH:= -L../../lib
  19.  
  20. LIBS:=  -ldll -ldrm.dll -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
  26.  
  27. EGL_DEFS = -DHAVE_DRM_PLATFORM -D__unix__ -DMESA_EGL_NO_X11_HEADERS -D_EGL_BUILT_IN_DRIVER_DRI2
  28.  
  29. EGL_SRC =                                       \
  30.         src/egl/drivers/dri2/egl_dri2.c         \
  31.         src/egl/drivers/dri2/platform_drm.c     \
  32.         src/egl/main/eglapi.c                   \
  33.         src/egl/main/eglarray.c                 \
  34.         src/egl/main/eglconfig.c                \
  35.         src/egl/main/eglcontext.c               \
  36.         src/egl/main/eglcurrent.c               \
  37.         src/egl/main/egldisplay.c               \
  38.         src/egl/main/egldriver.c                \
  39.         src/egl/main/eglfallbacks.c             \
  40.         src/egl/main/eglglobals.c               \
  41.         src/egl/main/eglimage.c                 \
  42.         src/egl/main/egllog.c                   \
  43.         src/egl/main/eglmisc.c                  \
  44.         src/egl/main/eglmode.c                  \
  45.         src/egl/main/eglscreen.c                \
  46.         src/egl/main/eglstring.c                \
  47.         src/egl/main/eglsurface.c               \
  48.         src/egl/main/eglsync.c                  \
  49.         src/gbm/backends/dri/driver_name.c      \
  50.         src/gbm/backends/dri/gbm_dri.c          \
  51.         src/gbm/main/backend.c                  \
  52.         src/gbm/main/gbm.c                      \
  53.         $(NULL)
  54.  
  55. GLSL_SRC = \
  56.         src/glsl/glcpp/glcpp-lex.c              \
  57.         src/glsl/glcpp/glcpp-parse.c            \
  58.         src/glsl/glcpp/pp.c                     \
  59.         src/glsl/ast_array_index.cpp            \
  60.         src/glsl/ast_expr.cpp                   \
  61.         src/glsl/ast_function.cpp               \
  62.         src/glsl/ast_to_hir.cpp                 \
  63.         src/glsl/ast_type.cpp                   \
  64.         src/glsl/builtin_function.cpp           \
  65.         src/glsl/builtin_types.cpp              \
  66.         src/glsl/builtin_variables.cpp          \
  67.         src/glsl/glsl_lexer.cpp                 \
  68.         src/glsl/glsl_parser.cpp                \
  69.         src/glsl/glsl_parser_extras.cpp         \
  70.         src/glsl/glsl_symbol_table.cpp          \
  71.         src/glsl/glsl_types.cpp                 \
  72.         src/glsl/hir_field_selection.cpp        \
  73.         src/glsl/ir.cpp                         \
  74.         src/glsl/ir_basic_block.cpp             \
  75.         src/glsl/ir_builder.cpp                 \
  76.         src/glsl/ir_clone.cpp                   \
  77.         src/glsl/ir_constant_expression.cpp     \
  78.         src/glsl/ir_expression_flattening.cpp   \
  79.         src/glsl/ir_function.cpp                \
  80.         src/glsl/ir_function_can_inline.cpp     \
  81.         src/glsl/ir_function_detect_recursion.cpp       \
  82.         src/glsl/ir_hierarchical_visitor.cpp    \
  83.         src/glsl/ir_hv_accept.cpp               \
  84.         src/glsl/ir_import_prototypes.cpp       \
  85.         src/glsl/ir_print_visitor.cpp           \
  86.         src/glsl/ir_reader.cpp                  \
  87.         src/glsl/ir_rvalue_visitor.cpp          \
  88.         src/glsl/ir_set_program_inouts.cpp      \
  89.         src/glsl/ir_validate.cpp                \
  90.         src/glsl/ir_variable_refcount.cpp       \
  91.         src/glsl/link_functions.cpp     \
  92.         src/glsl/link_interface_blocks.cpp      \
  93.         src/glsl/link_uniform_block_active_visitor.cpp  \
  94.         src/glsl/link_uniform_blocks.cpp        \
  95.         src/glsl/link_uniform_initializers.cpp  \
  96.         src/glsl/link_uniforms.cpp              \
  97.         src/glsl/link_varyings.cpp              \
  98.         src/glsl/linker.cpp                     \
  99.         src/glsl/loop_analysis.cpp              \
  100.         src/glsl/loop_controls.cpp              \
  101.         src/glsl/loop_unroll.cpp                \
  102.         src/glsl/lower_clip_distance.cpp        \
  103.         src/glsl/lower_discard.cpp              \
  104.         src/glsl/lower_discard_flow.cpp         \
  105.         src/glsl/lower_if_to_cond_assign.cpp    \
  106.         src/glsl/lower_instructions.cpp         \
  107.         src/glsl/lower_jumps.cpp                \
  108.         src/glsl/lower_mat_op_to_vec.cpp        \
  109.         src/glsl/lower_named_interface_blocks.cpp       \
  110.         src/glsl/lower_noise.cpp                \
  111.         src/glsl/lower_output_reads.cpp         \
  112.         src/glsl/lower_packed_varyings.cpp      \
  113.         src/glsl/lower_packing_builtins.cpp     \
  114.         src/glsl/lower_texture_projection.cpp   \
  115.         src/glsl/lower_ubo_reference.cpp        \
  116.         src/glsl/lower_variable_index_to_cond_assign.cpp        \
  117.         src/glsl/lower_vec_index_to_cond_assign.cpp     \
  118.         src/glsl/lower_vec_index_to_swizzle.cpp \
  119.         src/glsl/lower_vector.cpp               \
  120.         src/glsl/lower_vector_insert.cpp        \
  121.         src/glsl/opt_algebraic.cpp              \
  122.         src/glsl/opt_array_splitting.cpp        \
  123.         src/glsl/opt_constant_folding.cpp       \
  124.         src/glsl/opt_constant_propagation.cpp   \
  125.         src/glsl/opt_constant_variable.cpp      \
  126.         src/glsl/opt_copy_propagation.cpp       \
  127.         src/glsl/opt_copy_propagation_elements.cpp      \
  128.         src/glsl/opt_dead_builtin_varyings.cpp  \
  129.         src/glsl/opt_dead_code.cpp              \
  130.         src/glsl/opt_dead_code_local.cpp        \
  131.         src/glsl/opt_dead_functions.cpp         \
  132.         src/glsl/opt_flatten_nested_if_blocks.cpp       \
  133.         src/glsl/opt_flip_matrices.cpp          \
  134.         src/glsl/opt_function_inlining.cpp      \
  135.         src/glsl/opt_if_simplification.cpp      \
  136.         src/glsl/opt_noop_swizzle.cpp           \
  137.         src/glsl/opt_redundant_jumps.cpp        \
  138.         src/glsl/opt_structure_splitting.cpp    \
  139.         src/glsl/opt_swizzle_swizzle.cpp        \
  140.         src/glsl/opt_tree_grafting.cpp          \
  141.         src/glsl/ralloc.c                       \
  142.         src/glsl/s_expression.cpp               \
  143.         src/glsl/strtod.c                       \
  144.         $(NULL)
  145.  
  146. EGL_OBJS  =  $(patsubst %.c, %.o, $(EGL_SRC))
  147. GLSL_OBJS =  $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(GLSL_SRC)))
  148.  
  149. # targets
  150.  
  151. all:$(EGL).dll libglsl.a
  152.  
  153. $(EGL).dll: $(EGL_OBJS) Makefile
  154.         $(LD) $(LDFLAGS) $(LIBPATH) -o $@ egl.def $(EGL_OBJS) $(LIBS)
  155.         $(STRIP) $@
  156. #       sed -e "s/ @[^ ]*//" egl1.def > egl.def
  157.         mv -f $@ ../../bin
  158.         mv -f lib$(EGL).dll.a ../../lib  
  159.  
  160. libglsl.a : $(GLSL_OBJS) Makefile
  161.         ar cvrs libglsl.a $(GLSL_OBJS)
  162.         mv -f libglsl.a ../../lib
  163.  
  164. src/glsl/glcpp/%.o : src/glsl/glcpp/%.c Makefile
  165.         $(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) -o $@ $<
  166.  
  167. src/glsl/%.o : src/glsl/%.c Makefile
  168.         $(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) -o $@ $<
  169.        
  170. %.o : %.c Makefile
  171.         $(CC) $(CFLAGS) $(MESA_DEFS) $(EGL_DEFS) $(INC_EGL) -o $@ $<
  172.  
  173.  
  174. %.o : %.cpp Makefile
  175.         $(CC) $(CFLAGS) $(MESA_DEFS) $(INC_MESA) -o $@ $<
  176.