Subversion Repositories Kolibri OS

Rev

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

  1. # This file isn't used during a normal compilation since we don't want to
  2. # require Python in order to compile Mesa.
  3. # Instead, when the Mesa developers update/change the API interface it's
  4. # up to him/her to re-run this makefile and check in the newly generated files.
  5.  
  6.  
  7. TOP = ../../../..
  8. include $(TOP)/configs/current
  9.  
  10. MESA_DIR = $(TOP)/src/mesa
  11. MESA_GLAPI_DIR = $(TOP)/src/mapi/glapi
  12. MESA_GLX_DIR = $(TOP)/src/glx
  13.  
  14. MESA_GLAPI_OUTPUTS = \
  15.         $(MESA_GLAPI_DIR)/glprocs.h \
  16.         $(MESA_GLAPI_DIR)/glapitemp.h \
  17.         $(MESA_GLAPI_DIR)/glapitable.h
  18.  
  19. MESA_GLAPI_ASM_OUTPUTS = \
  20.         $(MESA_GLAPI_DIR)/glapi_x86.S \
  21.         $(MESA_GLAPI_DIR)/glapi_x86-64.S \
  22.         $(MESA_GLAPI_DIR)/glapi_sparc.S
  23.  
  24. MESA_OUTPUTS = \
  25.         $(MESA_GLAPI_OUTPUTS) \
  26.         $(MESA_GLAPI_ASM_OUTPUTS) \
  27.         $(MESA_DIR)/main/enums.c \
  28.         $(MESA_DIR)/main/glapidispatch.h \
  29.         $(MESA_DIR)/main/remap_helper.h \
  30.         $(MESA_GLX_DIR)/indirect.c \
  31.         $(MESA_GLX_DIR)/indirect.h \
  32.         $(MESA_GLX_DIR)/indirect_init.c \
  33.         $(MESA_GLX_DIR)/indirect_size.h \
  34.         $(MESA_GLX_DIR)/indirect_size.c
  35.  
  36. ######################################################################
  37.  
  38. XORG_GLX_DIR = $(XORG_BASE)/glx
  39. XORG_GLAPI_DIR = $(XORG_BASE)/glx
  40.  
  41. XORG_GLAPI_FILES = \
  42.         $(XORG_GLAPI_DIR)/glapi.h \
  43.         $(XORG_GLAPI_DIR)/glapi.c \
  44.         $(XORG_GLAPI_DIR)/glapi_getproc.c \
  45.         $(XORG_GLAPI_DIR)/glapi_nop.c \
  46.         $(XORG_GLAPI_DIR)/glthread.c \
  47.         $(XORG_GLAPI_DIR)/glthread.h
  48.  
  49. XORG_GLAPI_OUTPUTS = \
  50.         $(XORG_GLAPI_DIR)/glprocs.h \
  51.         $(XORG_GLAPI_DIR)/glapitemp.h \
  52.         $(XORG_GLAPI_DIR)/glapioffsets.h \
  53.         $(XORG_GLAPI_DIR)/glapitable.h \
  54.         $(XORG_GLAPI_DIR)/glapidispatch.h
  55.  
  56. XORG_OUTPUTS = \
  57.         $(XORG_GLAPI_FILES) \
  58.         $(XORG_GLAPI_OUTPUTS) \
  59.         $(XORG_GLX_DIR)/indirect_dispatch.c \
  60.         $(XORG_GLX_DIR)/indirect_dispatch_swap.c \
  61.         $(XORG_GLX_DIR)/indirect_dispatch.h \
  62.         $(XORG_GLX_DIR)/indirect_reqsize.c \
  63.         $(XORG_GLX_DIR)/indirect_reqsize.h \
  64.         $(XORG_GLX_DIR)/indirect_size.h \
  65.         $(XORG_GLX_DIR)/indirect_size_get.c \
  66.         $(XORG_GLX_DIR)/indirect_size_get.h \
  67.         $(XORG_GLX_DIR)/indirect_table.c
  68.  
  69. ######################################################################
  70.  
  71. API_XML = \
  72.         gl_API.xml \
  73.         ARB_copy_buffer.xml \
  74.         ARB_depth_clamp.xml \
  75.         ARB_draw_elements_base_vertex.xml \
  76.         ARB_draw_instanced.xml \
  77.         ARB_ES2_compatibility.xml \
  78.         ARB_framebuffer_object.xml \
  79.         ARB_geometry_shader4.xml \
  80.         ARB_map_buffer_range.xml \
  81.         ARB_seamless_cube_map.xml \
  82.         ARB_sync.xml \
  83.         ARB_vertex_array_object.xml \
  84.         APPLE_object_purgeable.xml \
  85.         APPLE_vertex_array_object.xml \
  86.         EXT_draw_buffers2.xml \
  87.         EXT_framebuffer_object.xml \
  88.         EXT_gpu_shader4.xml \
  89.         EXT_packed_depth_stencil.xml \
  90.         EXT_provoking_vertex.xml \
  91.         EXT_separate_shader_objects.xml \
  92.         EXT_texture_array.xml \
  93.         EXT_texture_integer.xml \
  94.         EXT_transform_feedback.xml \
  95.         NV_conditional_render.xml \
  96.         NV_primitive_restart.xml \
  97.         OES_EGL_image.xml \
  98.         GL3x.xml
  99.  
  100.  
  101. COMMON = $(API_XML) gl_XML.py glX_XML.py license.py typeexpr.py
  102.  
  103. COMMON_GLX = $(COMMON) glX_API.xml glX_XML.py glX_proto_common.py
  104.  
  105. ######################################################################
  106.  
  107. all: mesa xorg
  108.  
  109. mesa: $(MESA_OUTPUTS)
  110.  
  111. xorg: check-xorg-source $(XORG_OUTPUTS)
  112.  
  113. check-xorg-source:
  114.         @if ! test -d $(XORG_GLX_DIR); then \
  115.                 echo "ERROR: Must specify path to xserver/GL/ checkout; set XORG_BASE env var."; \
  116.                 exit 1; \
  117.         fi
  118.  
  119. clean:
  120.         -rm -f *~ *.pyo
  121.         -rm -f $(MESA_OUTPUTS)
  122.  
  123. ######################################################################
  124.  
  125. $(XORG_GLAPI_DIR)/%.c: $(MESA_GLAPI_DIR)/%.c
  126.         cp $< $@
  127.  
  128. $(XORG_GLAPI_DIR)/%.h: $(MESA_GLAPI_DIR)/%.h
  129.         cp $< $@
  130.  
  131. ######################################################################
  132.  
  133. $(MESA_GLAPI_DIR)/glprocs.h: gl_procs.py $(COMMON)
  134.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  135.  
  136. $(MESA_GLAPI_DIR)/glapitemp.h: gl_apitemp.py $(COMMON)
  137.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  138.  
  139. $(MESA_GLAPI_DIR)/glapitable.h: gl_table.py $(COMMON)
  140.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  141.  
  142. ######################################################################
  143.  
  144. $(MESA_GLAPI_DIR)/glapi_x86.S: gl_x86_asm.py $(COMMON)
  145.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  146.  
  147. $(MESA_GLAPI_DIR)/glapi_x86-64.S: gl_x86-64_asm.py $(COMMON)
  148.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  149.  
  150. $(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON)
  151.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  152.  
  153. ######################################################################
  154.  
  155. $(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(ES_API)
  156.         $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_API.xml \
  157.                 -f $(MESA_GLAPI_DIR)/gen-es/es1_API.xml \
  158.                 -f $(MESA_GLAPI_DIR)/gen-es/es2_API.xml > $@
  159.  
  160. $(MESA_DIR)/main/glapidispatch.h: gl_table.py $(COMMON)
  161.         $(PYTHON2) $(PYTHON_FLAGS) $< -m remap_table > $@
  162.  
  163. $(MESA_DIR)/main/remap_helper.h: remap_helper.py $(COMMON)
  164.         $(PYTHON2) $(PYTHON_FLAGS) $< > $@
  165.  
  166. ######################################################################
  167.  
  168. $(MESA_GLX_DIR)/indirect.c: glX_proto_send.py $(COMMON_GLX)
  169.         $(PYTHON2) $(PYTHON_FLAGS) $< -m proto | $(INDENT) $(INDENT_FLAGS) > $@
  170.  
  171. $(MESA_GLX_DIR)/indirect.h: glX_proto_send.py $(COMMON_GLX)
  172.         $(PYTHON2) $(PYTHON_FLAGS) $< -m init_h > $@
  173.  
  174. $(MESA_GLX_DIR)/indirect_init.c: glX_proto_send.py $(COMMON_GLX)
  175.         $(PYTHON2) $(PYTHON_FLAGS) $< -m init_c > $@
  176.  
  177. $(MESA_GLX_DIR)/indirect_size.h $(XORG_GLX_DIR)/indirect_size.h: glX_proto_size.py $(COMMON_GLX)
  178.         $(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-set -h _INDIRECT_SIZE_H_ \
  179.           | $(INDENT) $(INDENT_FLAGS) > $@
  180.  
  181. $(MESA_GLX_DIR)/indirect_size.c: glX_proto_size.py $(COMMON_GLX)
  182.         $(PYTHON2) $(PYTHON_FLAGS) $< -m size_c --only-set \
  183.           | $(INDENT) $(INDENT_FLAGS) > $@
  184.  
  185. ######################################################################
  186.  
  187. $(XORG_GLX_DIR)/indirect_dispatch.c: glX_proto_recv.py $(COMMON_GLX)
  188.         $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c > $@
  189.  
  190. $(XORG_GLX_DIR)/indirect_dispatch_swap.c: glX_proto_recv.py $(COMMON_GLX)
  191.         $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_c -s > $@
  192.  
  193. $(XORG_GLX_DIR)/indirect_dispatch.h: glX_proto_recv.py gl_and_glX_API.xml $(COMMON_GLX)
  194.         $(PYTHON2) $(PYTHON_FLAGS) $< -m dispatch_h -f gl_and_glX_API.xml -s > $@
  195.  
  196. $(XORG_GLX_DIR)/indirect_size_get.h: glX_proto_size.py $(COMMON_GLX)
  197.         $(PYTHON2) $(PYTHON_FLAGS) $< -m size_h --only-get -h '_INDIRECT_SIZE_GET_H_' \
  198.           | $(INDENT) $(INDENT_FLAGS) > $@
  199.  
  200. $(XORG_GLX_DIR)/indirect_size_get.c: glX_proto_size.py $(COMMON_GLX)
  201.         $(PYTHON2) $(PYTHON_FLAGS) $< -m size_c | $(INDENT) $(INDENT_FLAGS) > $@
  202.  
  203. $(XORG_GLX_DIR)/indirect_reqsize.h: glX_proto_size.py $(COMMON_GLX)
  204.         $(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_h --only-get -h '_INDIRECT_SIZE_GET_H_' \
  205.           | $(INDENT) $(INDENT_FLAGS) -l200 > $@
  206.  
  207. $(XORG_GLX_DIR)/indirect_reqsize.c: glX_proto_size.py $(COMMON_GLX)
  208.         $(PYTHON2) $(PYTHON_FLAGS) $< -m reqsize_c | $(INDENT) $(INDENT_FLAGS) > $@
  209.  
  210. $(XORG_GLX_DIR)/indirect_table.c: glX_server_table.py gl_and_glX_API.xml $(COMMON_GLX)
  211.         $(PYTHON2) $(PYTHON_FLAGS) $< -f gl_and_glX_API.xml > $@
  212.