Files
android_development/tools/emulator/opengl/Android.mk
David 'Digit' Turner 6efe381c82 emulator: opengl: build gralloc driver by default
This patch forces the default definition of BUILD_EMULATOR_OPENGL_DRIVER
to true by default, which is the common case where we will build the
goldfish-specific gralloc hardware module to allow SurfaceFlinger to
use GLES emulation exclusively.

The only reason to define thi to 'false' today is to debug specific
apps, but this requires displaying the GL output in a different window
than the emulator to be usable.

Change-Id: Iaf03a9c780449bb6b991928d324a088021a73203
2011-08-24 16:06:21 +02:00

110 lines
4.0 KiB
Makefile

# This is the top-level build file for the Android HW OpenGL ES emulation
# in Android.
#
# You must define BUILD_EMULATOR_OPENGL to 'true' in your environment to
# build the following files.
#
# Also define BUILD_EMULATOR_OPENGL_DRIVER to 'true' to build the gralloc
# stuff as well.
#
ifeq (true,$(BUILD_EMULATOR_OPENGL))
# By default, always build the gralloc.goldfish support library to ensure
# that SurfaceFlinger always uses our GLES emulation libraries. If you
# don't want this, explicitely set BUILD_EMULATOR_OPENGL_DRIVER to 'false'
# in your environment or your BoardConfig.mk. For the record, this should
# only be done for debugging specific applications and requires remoting
# the GL window from the emulator UI to be usable.
#
BUILD_EMULATOR_OPENGL_DRIVER ?= true
# Top-level for all modules
EMUGL_PATH := $(call my-dir)
# Directory containing common headers used by several modules
# This is always set to a module's LOCAL_C_INCLUDES
# See the definition of emugl-begin-module in common.mk
#
EMUGL_COMMON_INCLUDES := $(EMUGL_PATH)/host/include/libOpenglRender
# common cflags used by several modules
# This is always set to a module's LOCAL_CFLAGS
# See the definition of emugl-begin-module in common.mk
#
EMUGL_COMMON_CFLAGS := -DWITH_GLES2
# Include common definitions used by all the modules included later
# in this build file. This contains the definition of all useful
# emugl-xxxx functions.
#
include $(EMUGL_PATH)/common.mk
# IMPORTANT: ORDER IS CRUCIAL HERE
#
# For the import/export feature to work properly, you must include
# modules below in correct order. That is, if module B depends on
# module A, then it must be included after module A below.
#
# This ensures that anything exported by module A will be correctly
# be imported by module B when it is declared.
#
# Note that the build system will complain if you try to import a
# module that hasn't been declared yet anyway.
#
# First, build the emugen host source-generation tool
#
# It will be used by other modules to generate wire protocol encode/decoder
# source files (see all emugl-gen-decoder/encoder in common.mk)
#
include $(EMUGL_PATH)/host/tools/emugen/Android.mk
include $(EMUGL_PATH)/shared/OpenglOsUtils/Android.mk
include $(EMUGL_PATH)/shared/OpenglCodecCommon/Android.mk
# System static libraries
include $(EMUGL_PATH)/system/GLESv1_enc/Android.mk
include $(EMUGL_PATH)/system/GLESv2_enc/Android.mk
include $(EMUGL_PATH)/system/renderControl_enc/Android.mk
include $(EMUGL_PATH)/system/OpenglSystemCommon/Android.mk
# System shared libraries
include $(EMUGL_PATH)/system/GLESv1/Android.mk
include $(EMUGL_PATH)/system/GLESv2/Android.mk
ifeq (false,$(BUILD_EMULATOR_OPENGL_DRIVER))
include $(EMUGL_PATH)/tests/ut_rendercontrol_enc/Android.mk
include $(EMUGL_PATH)/tests/gles_android_wrapper/Android.mk
else
include $(EMUGL_PATH)/system/gralloc/Android.mk
include $(EMUGL_PATH)/system/egl/Android.mk
endif
# Host static libraries
include $(EMUGL_PATH)/host/libs/GLESv1_dec/Android.mk
include $(EMUGL_PATH)/host/libs/GLESv2_dec/Android.mk
include $(EMUGL_PATH)/host/libs/renderControl_dec/Android.mk
include $(EMUGL_PATH)/tests/ut_rendercontrol_dec/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/GLcommon/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/GLES_CM/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/GLES_V2/Android.mk
include $(EMUGL_PATH)/host/libs/Translator/EGL/Android.mk
# Host shared libraries
include $(EMUGL_PATH)/host/libs/libOpenglRender/Android.mk
# Host executables
include $(EMUGL_PATH)/host/renderer/Android.mk
# Host unit-test for the renderer. this one uses its own small
# EGL host wrapper.
include $(EMUGL_PATH)/tests/event_injector/Android.mk
include $(EMUGL_PATH)/tests/EGL_host_wrapper/Android.mk
include $(EMUGL_PATH)/tests/emulator_test_renderer/Android.mk
include $(EMUGL_PATH)/tests/ut_renderer/Android.mk
include $(EMUGL_PATH)/tests/translator_tests/MacCommon/Android.mk
include $(EMUGL_PATH)/tests/translator_tests/GLES_CM/Android.mk
include $(EMUGL_PATH)/tests/translator_tests/GLES_V2/Android.mk
endif # BUILD_EMULATOR_OPENGL == true