blob: c7f7b7015607575bae9cdda31cc61e3af22d86a1 [file] [log] [blame]
David 'Digit' Turner8422a112011-06-22 10:29:39 +02001# 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#
10ifeq (true,$(BUILD_EMULATOR_OPENGL))
11
12# Top-level for all modules
13EMUGL_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#
19EMUGL_COMMON_INCLUDES := $(EMUGL_PATH)/host/include/libOpenglRender
20
Stas Gurtovoy62d074d2011-06-16 14:51:21 +030021# 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#
25EMUGL_COMMON_CFLAGS := -DWITH_GLES2
26
David 'Digit' Turner8422a112011-06-22 10:29:39 +020027# Include common definitions used by all the modules included later
28# in this build file. This contains the definition of all useful
29# emugl-xxxx functions.
30#
31include $(EMUGL_PATH)/common.mk
32
33# IMPORTANT: ORDER IS CRUCIAL HERE
34#
35# For the import/export feature to work properly, you must include
36# modules below in correct order. That is, if module B depends on
37# module A, then it must be included after module A below.
38#
39# This ensures that anything exported by module A will be correctly
40# be imported by module B when it is declared.
41#
42# Note that the build system will complain if you try to import a
43# module that hasn't been declared yet anyway.
44#
45
46# First, build the emugen host source-generation tool
47#
48# It will be used by other modules to generate wire protocol encode/decoder
49# source files (see all emugl-gen-decoder/encoder in common.mk)
50#
51include $(EMUGL_PATH)/host/tools/emugen/Android.mk
52include $(EMUGL_PATH)/shared/OpenglOsUtils/Android.mk
53include $(EMUGL_PATH)/shared/OpenglCodecCommon/Android.mk
54
55# System static libraries
56include $(EMUGL_PATH)/system/GLESv1_enc/Android.mk
57include $(EMUGL_PATH)/system/GLESv2_enc/Android.mk
58include $(EMUGL_PATH)/system/renderControl_enc/Android.mk
59include $(EMUGL_PATH)/system/OpenglSystemCommon/Android.mk
60include $(EMUGL_PATH)/tests/ut_rendercontrol_enc/Android.mk
61
62# System shared libraries
63include $(EMUGL_PATH)/system/GLESv1/Android.mk
Stas Gurtovoy62d074d2011-06-16 14:51:21 +030064include $(EMUGL_PATH)/system/GLESv2/Android.mk
David 'Digit' Turner8422a112011-06-22 10:29:39 +020065include $(EMUGL_PATH)/system/egl/Android.mk
66include $(EMUGL_PATH)/tests/gles_android_wrapper/Android.mk
67
68include $(EMUGL_PATH)/system/gralloc/Android.mk
69
70# Host static libraries
71include $(EMUGL_PATH)/host/libs/GLESv1_dec/Android.mk
72include $(EMUGL_PATH)/host/libs/GLESv2_dec/Android.mk
73include $(EMUGL_PATH)/host/libs/renderControl_dec/Android.mk
74include $(EMUGL_PATH)/tests/ut_rendercontrol_dec/Android.mk
75include $(EMUGL_PATH)/host/libs/Translator/GLcommon/Android.mk
76include $(EMUGL_PATH)/host/libs/Translator/GLES_CM/Android.mk
77include $(EMUGL_PATH)/host/libs/Translator/GLES_V2/Android.mk
78include $(EMUGL_PATH)/host/libs/Translator/EGL/Android.mk
79
80# Host shared libraries
81include $(EMUGL_PATH)/host/libs/libOpenglRender/Android.mk
82
83# Host executables
84include $(EMUGL_PATH)/host/renderer/Android.mk
85
86# Host unit-test for the renderer. this one uses its own small
87# EGL host wrapper.
88include $(EMUGL_PATH)/tests/EGL_host_wrapper/Android.mk
89include $(EMUGL_PATH)/tests/emulator_test_renderer/Android.mk
90include $(EMUGL_PATH)/tests/ut_renderer/Android.mk
91
92include $(EMUGL_PATH)/tests/translator_tests/MacCommon/Android.mk
93include $(EMUGL_PATH)/tests/translator_tests/GLES_CM/Android.mk
94include $(EMUGL_PATH)/tests/translator_tests/GLES_V2/Android.mk
95
96endif # BUILD_EMULATOR_OPENGL == true