No description
Find a file
Ricardo Cerqueira 3329a204d2
build: Squash of allowing a device to generically define its own headers
Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date:   2011-04-12 10:57:22 +0100
    Allow a device to generically define its own headers

    We have a few cases of devices including specific versions of projects
    just because of modified headers (msm_mdp.h comes to mind), and I just
    had enough of ifdeffing header files for specific cases (the P990 needs
    a lot of these).
    Now... if a target defines a TARGET_SPECIFIC_HEADER_PATH, any headers in
    there will take precedence over the standard ones; for example, on the
    p990, I have

    TARGET_SPECIFIC_HEADER_PATH := device/lge/p990/include

    which makes, for example, the
    device/lge/p990/include/hardware_legacy/AudioHardwareInterface.h be
    used instead of
    hardware/libhardware_legacy/include/hardware_legacy/AudioHardwareInterface.h
    whenever a source file uses <hardware_legacy/AudioHardwareInterface.h>

    Change-Id: I41b62668b60e3f62a6ebd3738d8d2675103a81e6a

    build: fix target header overlay

    LOCAL_C_INCLUDES as defined by the makefile should be put AFTER
    the overlay includes so the overlay always takes precedence.

    Change-Id: I489b2aab6dbacd9122d834f85e07b63ed1271f07

Author: Jan Altensen <info@stricted.net>
Date:   2020-09-10 15:18:49 +0200
    soong: add TARGET_SPECIFIC_HEADER_PATH

    Change-Id: I582ae8e6e010016b33fd9b020b723e5fc2dc442b

Change-Id: I3c885fe504ce4f646001697119cffd674db9ec49
2024-10-24 19:28:26 +02:00
ci Add optimized build features in build_test_suites 2024-06-07 15:01:18 -07:00
common math.mk supports larger number comparison 2023-10-30 10:58:25 +09:00
core build: Squash of allowing a device to generically define its own headers 2024-10-24 19:28:26 +02:00
packaging Trace time spent in cp rules for dist targets. 2023-06-26 23:31:30 +00:00
target Unset BOARD_EXT4_SHARE_DUP_BLOCKS 2024-10-24 19:27:38 +02:00
teams Add Attack Tools team 2024-06-13 22:35:25 +00:00
tests Remove run_tool_with_logging function from envsetup.sh 2024-06-06 23:53:36 +00:00
tools Add build support for XZ ramdisks 2024-10-24 19:28:26 +02:00
.gitignore ignore .iml files (IntelliJ) 2022-06-17 12:17:53 -04:00
Android.bp Add a facility to log tool invocations 2024-04-17 22:41:58 +00:00
banchanHelp.sh Allow selecting a different product in banchan. 2021-04-19 18:32:00 +01:00
buildspec.mk.default Add TARGET_PLATFORM_VERSION to lunch 2017-03-23 09:44:08 -07:00
Changes.md Revert^2 "Enable genrule sandboxing by default" 2023-10-18 22:50:28 +00:00
CleanSpec.mk Prevent implicit outputs created during dexpreopt_config.zip 2024-06-07 17:45:19 +00:00
cogsetup.sh Do not fail cogsetup.sh if repo is not in PATH 2024-04-26 07:09:41 +00:00
Deprecation.md Obsolete unused module types 2020-04-18 21:00:18 -07:00
envsetup.sh build: Add tequila build support 2024-10-24 19:25:10 +02:00
help.sh Add sync to m help 2022-09-22 02:26:10 +00:00
navbar.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
OWNERS Remove lberki@google.com from OWNERS 2023-11-30 16:41:22 +00:00
PREUPLOAD.cfg check-flagged-apis: add new CLI to verify @FlaggedApi APIs 2024-04-16 10:32:17 +02:00
rbesetup.sh fix RE for metalava actions 2023-11-15 20:39:45 +00:00
README.md Mark envsetup.sh vars as deprecated in makefiles 2017-11-28 14:19:50 -08:00
shell_utils.sh Move the impl of run_tool_with_logging into shell_utils.sh 2024-06-07 22:54:41 +00:00
tapasHelp.sh Add a keys argument to tapas 2022-02-07 18:50:22 +00:00
Usage.txt Remove the PRODUCT-* goal 2019-07-29 14:27:04 -07:00

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.