Subversion Repositories Kolibri OS

Rev

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

  1. TOP = ../../../..
  2. GLAPI = ../gen
  3. include $(TOP)/configs/current
  4.  
  5. OUTPUTS :=                      \
  6.         glapi/glapitable.h      \
  7.         glapi/glapitemp.h       \
  8.         glapi/glprocs.h         \
  9.         glapi/glapi_sparc.S     \
  10.         glapi/glapi_x86-64.S    \
  11.         glapi/glapi_x86.S       \
  12.         main/glapidispatch.h    \
  13.         main/remap_helper.h
  14.  
  15. COMMON = gl_XML.py glX_XML.py license.py typeexpr.py
  16. COMMON := $(addprefix $(GLAPI)/, $(COMMON))
  17.  
  18. ES1_APIXML := es1_API.xml
  19. ES2_APIXML := es2_API.xml
  20. ES1_OUTPUT_DIR := $(TOP)/src/mapi/es1api
  21. ES2_OUTPUT_DIR := $(TOP)/src/mapi/es2api
  22.  
  23. ES1_DEPS = $(ES1_APIXML) base1_API.xml es1_EXT.xml es_EXT.xml \
  24.            es1_COMPAT.xml es_COMPAT.xml
  25. ES2_DEPS = $(ES2_APIXML) base2_API.xml es2_EXT.xml es_EXT.xml \
  26.            es2_COMPAT.xml es_COMPAT.xml
  27.  
  28. ES1_OUTPUTS := $(addprefix $(ES1_OUTPUT_DIR)/, $(OUTPUTS))
  29. ES2_OUTPUTS := $(addprefix $(ES2_OUTPUT_DIR)/, $(OUTPUTS))
  30.  
  31. all: es1 es2
  32.  
  33. es1: $(ES1_OUTPUTS)
  34. es2: $(ES2_OUTPUTS)
  35.  
  36. $(ES1_OUTPUTS): APIXML := $(ES1_APIXML)
  37. $(ES2_OUTPUTS): APIXML := $(ES2_APIXML)
  38. $(ES1_OUTPUTS): $(ES1_DEPS)
  39. $(ES2_OUTPUTS): $(ES2_DEPS)
  40.  
  41. define gen-glapi
  42.         @mkdir -p $(dir $@)
  43.         $(PYTHON2) $(PYTHON_FLAGS) $< -f $(APIXML) $(1) > $@
  44. endef
  45.  
  46. %/glapidispatch.h: $(GLAPI)/gl_table.py $(COMMON)
  47.         $(call gen-glapi,-c -m remap_table)
  48.  
  49. %/glapitable.h: $(GLAPI)/gl_table.py $(COMMON)
  50.         $(call gen-glapi,-c)
  51.  
  52. %/glapitemp.h: $(GLAPI)/gl_apitemp.py $(COMMON)
  53.         $(call gen-glapi,-c)
  54.  
  55. %/glprocs.h: $(GLAPI)/gl_procs.py $(COMMON)
  56.         $(call gen-glapi,-c)
  57.  
  58. %/glapi_sparc.S: $(GLAPI)/gl_SPARC_asm.py $(COMMON)
  59.         $(call gen-glapi)
  60.  
  61. %/glapi_x86-64.S: $(GLAPI)/gl_x86-64_asm.py $(COMMON)
  62.         $(call gen-glapi)
  63.  
  64. %/glapi_x86.S: $(GLAPI)/gl_x86_asm.py $(COMMON)
  65.         $(call gen-glapi)
  66.  
  67. %/main/remap_helper.h: $(GLAPI)/remap_helper.py $(COMMON)
  68.         $(call gen-glapi)
  69.  
  70. verify_xml:
  71.         @if [ ! -f gl.h ]; then \
  72.                 echo "Please copy gl.h and gl2.h to this directory"; \
  73.                 exit 1; \
  74.         fi
  75.         @echo "Verifying that es1_API.xml covers OpenGL ES 1.1..."
  76.         @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl.h > tmp.xml
  77.         @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es1_API.xml
  78.         @echo "Verifying that es2_API.xml covers OpenGL ES 2.0..."
  79.         @$(PYTHON2) $(PYTHON_FLAGS) gl_parse_header.py gl2.h > tmp.xml
  80.         @$(PYTHON2) $(PYTHON_FLAGS) gl_compare.py difference tmp.xml es2_API.xml
  81.         @rm -f tmp.xml
  82.  
  83. clean-es1:
  84.         -rm -rf $(ES1_OUTPUT_DIR)/glapi
  85.         -rm -rf $(ES1_OUTPUT_DIR)/main
  86.  
  87. clean-es2:
  88.         -rm -rf $(ES2_OUTPUT_DIR)/glapi
  89.         -rm -rf $(ES2_OUTPUT_DIR)/main
  90.  
  91. clean: clean-es1 clean-es2
  92.         -rm -f *~ *.pyc *.pyo
  93.