188b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# config.mk
2e01100c7ac15bd884ca02c64f42b908b93e37c26Doug Zongker#
388b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# Product-specific compile-time definitions.
488b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project#
588b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project
688b607994a148f4af5bffee163e39ce8296750c6The Android Open Source Project# The generic product target doesn't have any hardware-specific pieces.
788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectTARGET_NO_BOOTLOADER := true
888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectTARGET_NO_KERNEL := true
98da4310646da498255173b475915aa066de4200aRaghu GandhamTARGET_ARCH := arm
105f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner
115f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# Note: we build the platform images for ARMv7-A _without_ NEON.
125f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner#
135f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# Technically, the emulator supports ARMv7-A _and_ NEON instructions, but
145f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# emulated NEON code paths typically ends up 2x slower than the normal C code
155f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# it is supposed to replace (unlike on real devices where it is 2x to 3x
165f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# faster).
175f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner#
185f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# What this means is that the platform image will not use NEON code paths
195f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# that are slower to emulate. On the other hand, it is possible to emulate
205f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner# application code generated with the NDK that uses NEON in the emulator.
215f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner#
225f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' TurnerTARGET_ARCH_VARIANT := armv7-a
236103fd7ac35e4c1443fa42eb8d464f2a1950135dChristopher FerrisTARGET_CPU_VARIANT := generic
245f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' TurnerTARGET_CPU_ABI := armeabi-v7a
255f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' TurnerTARGET_CPU_ABI2 := armeabi
265f5056f503e8643fc5e2eeffd6382aadded4c32dDavid 'Digit' Turner
2788b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectHAVE_HTC_AUDIO_DRIVER := true
2888b607994a148f4af5bffee163e39ce8296750c6The Android Open Source ProjectBOARD_USES_GENERIC_AUDIO := true
29b9e030e52da61c5f6e20bade2411745baf449a04Chih-Chung Chang
30b9e030e52da61c5f6e20bade2411745baf449a04Chih-Chung Chang# no hardware camera
31b9e030e52da61c5f6e20bade2411745baf449a04Chih-Chung ChangUSE_CAMERA_STUB := true
32f7a6ead075a9b1edc85eeeca646ced42f112f331Jean-Baptiste Queru
3394431144cf1ef0a9887fc3065af9b29e62579353David Turner# Enable dex-preoptimization to speed up the first boot sequence
3494431144cf1ef0a9887fc3065af9b29e62579353David Turner# of an SDK AVD. Note that this operation only works on Linux for now
3594431144cf1ef0a9887fc3065af9b29e62579353David Turnerifeq ($(HOST_OS),linux)
36b53cc7a82b6c96402b02f4e45be50718f23182dbRaghu Gandham  ifeq ($(WITH_DEXPREOPT),)
37b53cc7a82b6c96402b02f4e45be50718f23182dbRaghu Gandham    WITH_DEXPREOPT := true
38b53cc7a82b6c96402b02f4e45be50718f23182dbRaghu Gandham  endif
3994431144cf1ef0a9887fc3065af9b29e62579353David Turnerendif
4094431144cf1ef0a9887fc3065af9b29e62579353David Turner
4143dd89d2a0c166525db0af4162b9b08aaa186aedDavid 'Digit' Turner# Build OpenGLES emulation guest and host libraries
4243dd89d2a0c166525db0af4162b9b08aaa186aedDavid 'Digit' TurnerBUILD_EMULATOR_OPENGL := true
43615d2ffa926d03ba44fbc58b4593ce96ef831783Jesse Hall
44615d2ffa926d03ba44fbc58b4593ce96ef831783Jesse Hall# Build and enable the OpenGL ES View renderer. When running on the emulator,
45615d2ffa926d03ba44fbc58b4593ce96ef831783Jesse Hall# the GLES renderer disables itself if host GL acceleration isn't available.
46615d2ffa926d03ba44fbc58b4593ce96ef831783Jesse HallUSE_OPENGL_RENDERER := true
473c9fae2840862c788554b129fa405a7d06594b5dNick Kralevich
48782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# Set the phase offset of the system's vsync event relative to the hardware
49782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# vsync. The system's vsync event drives Choreographer and SurfaceFlinger's
50782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# rendering. This value is the number of nanoseconds after the hardware vsync
51782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# that the system vsync event will occur.
52782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis#
53782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# This phase offset allows adjustment of the minimum latency from application
54782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# wake-up (by Choregographer) time to the time at which the resulting window
55782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# image is displayed.  This value may be either positive (after the HW vsync)
56782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# or negative (before the HW vsync).  Setting it to 0 will result in a
57782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# minimum latency of two vsync periods because the app and SurfaceFlinger
58782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# will run just after the HW vsync.  Setting it to a positive number will
59782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# result in the minimum latency being:
60782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis#
61782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis#     (2 * VSYNC_PERIOD - (vsyncPhaseOffsetNs % VSYNC_PERIOD))
62782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis#
63782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# Note that reducing this latency makes it more likely for the applications
64782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# to not have their window content image ready in time.  When this happens
65782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# the latency will end up being an additional vsync period, and animations
66782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# will hiccup.  Therefore, this latency should be tuned somewhat
67782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis# conservatively (or at least with awareness of the trade-off being made).
68782f2ad37538c8decfbe8cac48f26c593182c358Jamie GennisVSYNC_EVENT_PHASE_OFFSET_NS := 0
69782f2ad37538c8decfbe8cac48f26c593182c358Jamie Gennis
703c9fae2840862c788554b129fa405a7d06594b5dNick KralevichTARGET_USERIMAGES_USE_EXT4 := true
71865ffd4efedb09c19ad50342a05dced65f5f1117Nick KralevichBOARD_SYSTEMIMAGE_PARTITION_SIZE := 576716800
7227a026c802ec10a71cca3530270e2f0433de3569Tsu Chiang ChuangBOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
733c9fae2840862c788554b129fa405a7d06594b5dNick KralevichBOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
743c9fae2840862c788554b129fa405a7d06594b5dNick KralevichBOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
753c9fae2840862c788554b129fa405a7d06594b5dNick KralevichBOARD_FLASH_BLOCK_SIZE := 512
763c9fae2840862c788554b129fa405a7d06594b5dNick KralevichTARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
771d5352eaa3983736d1374c9c4f0f9d075cc8b4c7Stephen Smalley
781d5352eaa3983736d1374c9c4f0f9d075cc8b4c7Stephen SmalleyBOARD_SEPOLICY_DIRS += build/target/board/generic/sepolicy
7961c7107df3c20a1298c8ad92f88f1e907e2242b2Stephen SmalleyBOARD_SEPOLICY_UNION += \
8061c7107df3c20a1298c8ad92f88f1e907e2242b2Stephen Smalley        bootanim.te \
81768ff518f03a0d0cb181d7a5b7f7aff0038ccd78Stephen Smalley        device.te \
8261c7107df3c20a1298c8ad92f88f1e907e2242b2Stephen Smalley        domain.te \
83768ff518f03a0d0cb181d7a5b7f7aff0038ccd78Stephen Smalley        file.te \
84768ff518f03a0d0cb181d7a5b7f7aff0038ccd78Stephen Smalley        file_contexts \
85768ff518f03a0d0cb181d7a5b7f7aff0038ccd78Stephen Smalley        qemud.te \
86768ff518f03a0d0cb181d7a5b7f7aff0038ccd78Stephen Smalley        rild.te \
87b20966f803e18c4cfbeb46af784fc2a553dd21b2Nick Kralevich        shell.te \
88768ff518f03a0d0cb181d7a5b7f7aff0038ccd78Stephen Smalley        surfaceflinger.te \
8938a261a82b671dadd370ae0ebdc3de36013de05ddcashman        system_server.te
904e5e5825222dc5f3608a4b8a61c0ff46f0cdceceDeepanshu Gupta
914e5e5825222dc5f3608a4b8a61c0ff46f0cdceceDeepanshu Guptaifeq ($(TARGET_PRODUCT),sdk)
924e5e5825222dc5f3608a4b8a61c0ff46f0cdceceDeepanshu Gupta  # include an expanded selection of fonts for the SDK.
934e5e5825222dc5f3608a4b8a61c0ff46f0cdceceDeepanshu Gupta  EXTENDED_FONT_FOOTPRINT := true
944e5e5825222dc5f3608a4b8a61c0ff46f0cdceceDeepanshu Guptaendif
95