Home | History | Annotate | Download | only in goldfish-opengl
      1 # This is the top-level build file for the Android HW OpenGL ES emulation
      2 # in Android.
      3 #
      4 # You must define BUILD_EMULATOR_OPENGL to 'true' in your environment to
      5 # build the following files.
      6 #
      7 # Also define BUILD_EMULATOR_OPENGL_DRIVER to 'true' to build the gralloc
      8 # stuff as well.
      9 #
     10 ifeq (true,$(BUILD_EMULATOR_OPENGL))
     11 
     12 # Top-level for all modules
     13 EMUGL_PATH := $(call my-dir)
     14 
     15 # Directory containing common headers used by several modules
     16 # This is always set to a module's LOCAL_C_INCLUDES
     17 # See the definition of emugl-begin-module in common.mk
     18 #
     19 EMUGL_COMMON_INCLUDES := $(EMUGL_PATH)/host/include/libOpenglRender $(EMUGL_PATH)/system/include
     20 
     21 # common cflags used by several modules
     22 # This is always set to a module's LOCAL_CFLAGS
     23 # See the definition of emugl-begin-module in common.mk
     24 #
     25 EMUGL_COMMON_CFLAGS := -DWITH_GLES2 -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
     26 
     27 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 18 && echo PreJellyBeanMr2),PreJellyBeanMr2)
     28     ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
     29         EMUGL_COMMON_CFLAGS += -DHAVE_ARM_TLS_REGISTER
     30     endif
     31 endif
     32 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 16 && echo PreJellyBean),PreJellyBean)
     33     EMUGL_COMMON_CFLAGS += -DALOG_ASSERT=LOG_ASSERT
     34     EMUGL_COMMON_CFLAGS += -DALOGE=LOGE
     35     EMUGL_COMMON_CFLAGS += -DALOGW=LOGW
     36     EMUGL_COMMON_CFLAGS += -DALOGD=LOGD
     37 endif
     38 
     39 # Uncomment the following line if you want to enable debug traces
     40 # in the GLES emulation libraries.
     41 # EMUGL_COMMON_CFLAGS += -DEMUGL_DEBUG=1
     42 
     43 # Include common definitions used by all the modules included later
     44 # in this build file. This contains the definition of all useful
     45 # emugl-xxxx functions.
     46 #
     47 include $(EMUGL_PATH)/common.mk
     48 
     49 # IMPORTANT: ORDER IS CRUCIAL HERE
     50 #
     51 # For the import/export feature to work properly, you must include
     52 # modules below in correct order. That is, if module B depends on
     53 # module A, then it must be included after module A below.
     54 #
     55 # This ensures that anything exported by module A will be correctly
     56 # be imported by module B when it is declared.
     57 #
     58 # Note that the build system will complain if you try to import a
     59 # module that hasn't been declared yet anyway.
     60 #
     61 
     62 include $(EMUGL_PATH)/shared/OpenglCodecCommon/Android.mk
     63 
     64 # System static libraries
     65 include $(EMUGL_PATH)/system/GLESv1_enc/Android.mk
     66 include $(EMUGL_PATH)/system/GLESv2_enc/Android.mk
     67 include $(EMUGL_PATH)/system/renderControl_enc/Android.mk
     68 include $(EMUGL_PATH)/system/OpenglSystemCommon/Android.mk
     69 
     70 # System shared libraries
     71 include $(EMUGL_PATH)/system/GLESv1/Android.mk
     72 include $(EMUGL_PATH)/system/GLESv2/Android.mk
     73 
     74 include $(EMUGL_PATH)/system/gralloc/Android.mk
     75 include $(EMUGL_PATH)/system/egl/Android.mk
     76 
     77 endif # BUILD_EMULATOR_OPENGL == true
     78