Android編譯系統(tǒng)參考手冊

TARGET_PRODUCT

示例:cm_i9100

UNAME

操作系統(tǒng)+體系結構
例:Linux x86_64

HOST_OS

主機操作系統(tǒng)
linux darwin windows

BUILD_OS

編譯所在主機的操作系統(tǒng)
BUILD_OS := $(HOST_OS)

HOST_ARCH

主機體系結構
x86 ppc

BUILD_ARCH

編譯系統(tǒng)所在主機的操作系統(tǒng)
$(BUILD_OS)
x86 ppc

HOST_BUILD_TYPE

主機編譯類型 release 或者debug

HOST_PREBUILT_TAG

This is the standard way to name a directory containing prebuilt host
objects. E.g., prebuilt/$(HOST_PREBUILT_TAG)/cc
ifeq ($(HOST_OS),windows)
  HOST_PREBUILT_TAG := windows
else
  HOST_PREBUILT_TAG := $(HOST_OS)-$(HOST_ARCH)
endif
linux-x86

TARGET_COPY_OUT_SYSTEM

TARGET_COPY_OUT_SYSTEM := system

TARGET_COPY_OUT_DATA

TARGET_COPY_OUT_DATA := data

TARGET_COPY_OUT_VENDOR

TARGET_COPY_OUT_VENDOR := system/vendor

TARGET_COPY_OUT_ROOT

TARGET_COPY_OUT_ROOT := root

TARGET_COPY_OUT_RECOVERY

TARGET_COPY_OUT_RECOVERY := recovery

TARGET_OS

TARGET_OS := linux

TARGET_BUILD_TYPE

ifneq ($(TARGET_BUILD_TYPE),debug)
  TARGET_BUILD_TYPE := release
endif   

OUT_DIR

ifeq (,$(strip $(OUT_DIR)))
    ifeq (,$(strip $(OUT_DIR_COMMON_BASE)))
        ifneq ($(TOPDIR),)
            OUT_DIR := $(TOPDIR)out
        else
            OUT_DIR := $(CURDIR)/out
        endif
    else
        OUT_DIR := $(OUT_DIR_COMMON_BASE)/$(notdir $(PWD))
    endif
endif

DEBUG_OUT_DIR

DEBUG_OUT_DIR := $(OUT_DIR)/debug

示例:out/debug

TARGET_OUT_ROOT_release

TARGET_OUT_ROOT_release := $(OUT_DIR)/target

示例:out/target

TARGET_OUT_ROOT_debug

TARGET_OUT_ROOT_debug := $(DEBUG_OUT_DIR)/target

示例:out/debug/target

TARGET_OUT_ROOT

TARGET_OUT_ROOT := $(TARGET_OUT_ROOT_$(TARGET_BUILD_TYPE))

示例:out/target 或者out/debug/target

HOST_OUT_ROOT_release

HOST_OUT_ROOT_release := $(OUT_DIR)/host

示例:out/host

HOST_OUT_ROOT_debug

HOST_OUT_ROOT_debug := $(DEBUG_OUT_DIR)/host

示例:out/debug/host

HOST_OUT_ROOT

HOST_OUT_ROOT := $(HOST_OUT_ROOT_$(HOST_BUILD_TYPE))

示例:out/host或者out/debug/host

HOST_OUT_release

HOST_OUT_release := $(HOST_OUT_ROOT_release)/$(HOST_OS)-$(HOST_ARCH)

示例:oust/host/linux-x86

HOST_OUT_debug

HOST_OUT_debug := $(HOST_OUT_ROOT_debug)/$(HOST_OS)-$(HOST_ARCH)

示例:out/debug/host/linux-x86

HOST_OUT

HOST_OUT := $(HOST_OUT_$(HOST_BUILD_TYPE))

示例:oust/host/linux-x86

BUILD_OUT

BUILD_OUT := $(OUT_DIR)/host/$(BUILD_OS)-$(BUILD_ARCH)

示例:out/host/linux-x86

TARGET_PRODUCT_OUT_ROOT

TARGET_PRODUCT_OUT_ROOT := $(TARGET_OUT_ROOT)/product

示例:out/target/product

TARGET_COMMON_OUT_ROOT

TARGET_COMMON_OUT_ROOT := $(TARGET_OUT_ROOT)/common

示例:out/target/common

HOST_COMMON_OUT_ROOT

HOST_COMMON_OUT_ROOT := $(HOST_OUT_ROOT)/common

示例:out/target/common

PRODUCT_OUT

PRODUCT_OUT := $(TARGET_PRODUCT_OUT_ROOT)/$(TARGET_DEVICE)

示例:out/target/product/i9100

OUT_DOCS

OUT_DOCS := $(TARGET_COMMON_OUT_ROOT)/docs

示例:out/target/common/docs

BUILD_OUT

示例:out/host/linux-x86

BUILD_OUT_EXECUTABLES

BUILD_OUT_EXECUTABLES:= $(BUILD_OUT)/bin

示例:out/host/linux-x86/bin

HOST_OUT_EXECUTABLES

HOST_OUT_EXECUTABLES:= $(HOST_OUT)/bin
示例:out/host/linux-x86/bin

HOST_OUT_SHARED_LIBRARIES

HOST_OUT_SHARED_LIBRARIES:= $(HOST_OUT)/lib

示例:out/host/linux-x86/lib

HOST_OUT_JAVA_LIBRARIES

HOST_OUT_JAVA_LIBRARIES:= $(HOST_OUT)/framework

示例:out/host/linux-x86/framework

HOST_OUT_SDK_ADDON

HOST_OUT_SDK_ADDON := $(HOST_OUT)/sdk_addon

示例:out/host/linux-x86/sdk_addon

HOST_OUT_INTERMEDIATES

HOST_OUT_INTERMEDIATES := $(HOST_OUT)/obj

示例:out/host/linux-x86/obj

HOST_OUT_HEADERS

HOST_OUT_HEADERS:= $(HOST_OUT_INTERMEDIATES)/include

示例:out/host/linux-x86/obj/include

HOST_OUT_INTERMEDIATE_LIBRARIES

HOST_OUT_INTERMEDIATE_LIBRARIES := $(HOST_OUT_INTERMEDIATES)/lib

示例:out/host/linux-x86/obj/lib

HOST_OUT_NOTICE_FILES

HOST_OUT_NOTICE_FILES:=$(HOST_OUT_INTERMEDIATES)/NOTICE_FILES

示例:out/host/linux-x86/obj/NOTICE_FILES

HOST_OUT_COMMON_INTERMEDIATES

HOST_OUT_COMMON_INTERMEDIATES := $(HOST_COMMON_OUT_ROOT)/obj

示例:out/host/linux-x86/obj

TARGET_OUT_INTERMEDIATES

TARGET_OUT_INTERMEDIATES := $(PRODUCT_OUT)/obj

示例:out/target/product/i9100/obj

TARGET_OUT_HEADERS:=

TARGET_OUT_HEADERS:= $(TARGET_OUT_INTERMEDIATES)/include

示例:out/target/product/i9100/obj/include

TARGET_OUT_INTERMEDIATE_LIBRARIES

TARGET_OUT_INTERMEDIATE_LIBRARIES := $(TARGET_OUT_INTERMEDIATES)/lib

示例:out/target/product/i9100/obj/lib

TARGET_OUT_COMMON_INTERMEDIATES

TARGET_OUT_COMMON_INTERMEDIATES := $(TARGET_COMMON_OUT_ROOT)/obj

示例:out/target/common/obj

TARGET_OUT

TARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_SYSTEM)

示例:out/target/product/i9100/system

TARGET_OUT_EXECUTABLES

TARGET_OUT_EXECUTABLES:= $(TARGET_OUT)/bin

示例:out/target/product/i9100/system/bin

TARGET_OUT_OPTIONAL_EXECUTABLES:=

TARGET_OUT_OPTIONAL_EXECUTABLES:= $(TARGET_OUT)/xbin

示例:out/target/product/i9100/system/xbin

TARGET_OUT_SHARED_LIBRARIES:=

TARGET_OUT_SHARED_LIBRARIES:= $(TARGET_OUT)/lib

示例:out/target/product/i9100/system/lib

TARGET_OUT_JAVA_LIBRARIES:=

TARGET_OUT_JAVA_LIBRARIES:= $(TARGET_OUT)/framework

示例:out/target/product/i9100/system/framework

TARGET_OUT_APPS:=

TARGET_OUT_APPS:= $(TARGET_OUT)/app

示例:out/target/product/i9100/system/app

TARGET_OUT_KEYLAYOUT

TARGET_OUT_KEYLAYOUT := $(TARGET_OUT)/usr/keylayout

示例:out/target/product/i9100/system/usr/keylayout

TARGET_OUT_KEYCHARS

TARGET_OUT_KEYCHARS := $(TARGET_OUT)/usr/keychars

示例:out/target/product/i9100/system/usr/keychars

TARGET_OUT_ETC

TARGET_OUT_ETC := $(TARGET_OUT)/etc

示例:out/target/product/i9100/system/etc

TARGET_OUT_NOTICE_FILES

TARGET_OUT_NOTICE_FILES:=$(TARGET_OUT_INTERMEDIATES)/NOTICE_FILES

示例:out/target/product/i9100/obj/NOTICE_FILES

TARGET_OUT_FAKE

TARGET_OUT_FAKE := $(PRODUCT_OUT)/fake_packages

示例:out/target/product/i9100/fake_packages

TARGET_OUT_DATA

TARGET_OUT_DATA := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_DATA)

示例:out/target/product/i9100/data

TARGET_OUT_DATA_EXECUTABLES:=

TARGET_OUT_DATA_EXECUTABLES:= $(TARGET_OUT_EXECUTABLES)

示例:out/target/product/i9100/system/bin

TARGET_OUT_DATA_SHARED_LIBRARIES:=

TARGET_OUT_DATA_SHARED_LIBRARIES:= $(TARGET_OUT_SHARED_LIBRARIES)

示例:out/target/product/i9100/system/lib

TARGET_OUT_DATA_JAVA_LIBRARIES:=

TARGET_OUT_DATA_JAVA_LIBRARIES:= $(TARGET_OUT_JAVA_LIBRARIES)

示例:out/target/product/i9100/system/framework

TARGET_OUT_DATA_APPS:=

TARGET_OUT_DATA_APPS:= $(TARGET_OUT_DATA)/app

示例:out/target/product/i9100/data/app

TARGET_OUT_DATA_KEYLAYOUT

TARGET_OUT_DATA_KEYLAYOUT := $(TARGET_OUT_KEYLAYOUT)

示例:out/target/product/i9100/system/usr/keylayout

TARGET_OUT_DATA_KEYCHARS

TARGET_OUT_DATA_KEYCHARS := $(TARGET_OUT_KEYCHARS)

示例:out/target/product/i9100/system/usr/keychars

TARGET_OUT_DATA_ETC

TARGET_OUT_DATA_ETC := $(TARGET_OUT_ETC)

示例:out/target/product/i9100/system/etc

TARGET_OUT_DATA_NATIVE_TESTS

TARGET_OUT_DATA_NATIVE_TESTS := $(TARGET_OUT_DATA)/nativetest

示例:out/target/product/i9100/data/nativetest

TARGET_OUT_CACHE

TARGET_OUT_CACHE := $(PRODUCT_OUT)/cache

示例:out/target/product/i9100/cache

TARGET_OUT_VENDOR

TARGET_OUT_VENDOR := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)

示例:out/target/product/i9100/system/vendor

TARGET_OUT_VENDOR_EXECUTABLES:=

TARGET_OUT_VENDOR_EXECUTABLES:= $(TARGET_OUT_VENDOR)/bin

示例:out/target/product/i9100/system/vendor/bin

TARGET_OUT_VENDOR_OPTIONAL_EXECUTABLES:=

TARGET_OUT_VENDOR_OPTIONAL_EXECUTABLES:= $(TARGET_OUT_VENDOR)/xbin

示例:out/target/product/i9100/system/vendor/xbin

TARGET_OUT_VENDOR_SHARED_LIBRARIES:=

TARGET_OUT_VENDOR_SHARED_LIBRARIES:= $(TARGET_OUT_VENDOR)/lib

示例:out/target/product/i9100/system/vendor/lib

TARGET_OUT_VENDOR_JAVA_LIBRARIES:=

TARGET_OUT_VENDOR_JAVA_LIBRARIES:= $(TARGET_OUT_VENDOR)/framework

示例:out/target/product/i9100/system/vendor/framework

TARGET_OUT_VENDOR_APPS:=

TARGET_OUT_VENDOR_APPS:= $(TARGET_OUT_VENDOR)/app

示例:out/target/product/i9100/system/vendor/app

TARGET_OUT_VENDOR_ETC

TARGET_OUT_VENDOR_ETC := $(TARGET_OUT_VENDOR)/etc

示例:out/target/product/i9100/system/vendor/etc

TARGET_OUT_UNSTRIPPED

TARGET_OUT_UNSTRIPPED := $(PRODUCT_OUT)/symbols

示例:out/target/product/i9100/system/symbols

TARGET_OUT_EXECUTABLES_UNSTRIPPED

TARGET_OUT_EXECUTABLES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/bin

示例:out/target/product/i9100/sysmbols/system/bin

TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED

TARGET_OUT_SHARED_LIBRARIES_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/system/lib

示例:out/target/product/i9100/sysmbols/system/lib

TARGET_ROOT_OUT_UNSTRIPPED

TARGET_ROOT_OUT_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)

示例:out/target/product/i9100/sysmbols

TARGET_ROOT_OUT_SBIN_UNSTRIPPED

TARGET_ROOT_OUT_SBIN_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/sbin

示例:out/target/product/i9100/sysmbols/sbin

TARGET_ROOT_OUT_BIN_UNSTRIPPED

TARGET_ROOT_OUT_BIN_UNSTRIPPED := $(TARGET_OUT_UNSTRIPPED)/bin

示例:out/target/product/i9100/sysmbols/bin

TARGET_ROOT_OUT

TARGET_ROOT_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ROOT)

示例:out/target/product/i9100/root

TARGET_ROOT_OUT_BIN

TARGET_ROOT_OUT_BIN := $(TARGET_ROOT_OUT)/bin

示例:out/target/product/i9100/root/bin

TARGET_ROOT_OUT_SBIN

TARGET_ROOT_OUT_SBIN := $(TARGET_ROOT_OUT)/sbin

示例:out/target/product/i9100/root/sbin

TARGET_ROOT_OUT_ETC

TARGET_ROOT_OUT_ETC := $(TARGET_ROOT_OUT)/etc

示例:out/target/product/i9100/root/etc

TARGET_ROOT_OUT_USR

TARGET_ROOT_OUT_USR := $(TARGET_ROOT_OUT)/usr

示例:out/target/product/i9100/root/usr

TARGET_RECOVERY_OUT

TARGET_RECOVERY_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_RECOVERY)

示例:out/target/product/i9100/recovery

TARGET_RECOVERY_ROOT_OUT

TARGET_RECOVERY_ROOT_OUT := $(TARGET_RECOVERY_OUT)/root

示例:out/target/product/i9100/recovery/root

TARGET_SYSLOADER_OUT

TARGET_SYSLOADER_OUT := $(PRODUCT_OUT)/sysloader

示例:out/target/product/i9100/sysloader

TARGET_SYSLOADER_ROOT_OUT

TARGET_SYSLOADER_ROOT_OUT := $(TARGET_SYSLOADER_OUT)/root

示例:out/target/product/i9100/sysloader/root

TARGET_SYSLOADER_SYSTEM_OUT

TARGET_SYSLOADER_SYSTEM_OUT := $(TARGET_SYSLOADER_OUT)/root/system

示例:out/target/product/i9100/sysloader/root/system

TARGET_INSTALLER_OUT

TARGET_INSTALLER_OUT := $(PRODUCT_OUT)/installer

示例:out/target/product/i9100/installer

TARGET_INSTALLER_DATA_OUT

TARGET_INSTALLER_DATA_OUT := $(TARGET_INSTALLER_OUT)/data

示例:out/target/product/i9100/installer/data

TARGET_INSTALLER_ROOT_OUT

TARGET_INSTALLER_ROOT_OUT := $(TARGET_INSTALLER_OUT)/root

示例:out/target/product/i9100/installer/root

TARGET_INSTALLER_SYSTEM_OUT

TARGET_INSTALLER_SYSTEM_OUT := $(TARGET_INSTALLER_OUT)/root/system

示例:out/target/product/i9100/installer/root/system

TARGET_FACTORY_RAMDISK_OUT

TARGET_FACTORY_RAMDISK_OUT := $(PRODUCT_OUT)/factory_ramdisk

示例:out/target/product/i9100/factory_ramdisk

COMMON_MODULE_CLASSES

COMMON_MODULE_CLASSES := TARGET-NOTICE_FILES HOST-NOTICE_FILES HOST-JAVA_LIBRARIES

DIST_DIR

ifeq (,$(strip $(DIST_DIR)))
    DIST_DIR := $(OUT_DIR)/dist
endif

示例:out/dist

PRINT_BUILD_CONFIG

ifeq ($(PRINT_BUILD_CONFIG),)
    PRINT_BUILD_CONFIG := true
endif
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末译隘,一起剝皮案震驚了整個濱河市侦锯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖淋硝,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機突颊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來潘悼,“玉大人律秃,你說我怎么就攤上這事≈位剑” “怎么了棒动?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宾添。 經常有香客問我迁客,道長,這世上最難降的妖魔是什么辞槐? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮粘室,結果婚禮上榄檬,老公的妹妹穿的比我還像新娘。我一直安慰自己衔统,他們只是感情好鹿榜,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锦爵,像睡著了一般舱殿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上险掀,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天沪袭,我揣著相機與錄音,去河邊找鬼樟氢。 笑死冈绊,一個胖子當著我的面吹牛侠鳄,可吹牛的內容都是我干的。 我是一名探鬼主播死宣,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼伟恶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了毅该?” 一聲冷哼從身側響起博秫,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎眶掌,沒想到半個月后挡育,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡畏线,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年静盅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寝殴。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒿叠,死狀恐怖,靈堂內的尸體忽然破棺而出蚣常,到底是詐尸還是另有隱情市咽,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布抵蚊,位于F島的核電站施绎,受9級特大地震影響,放射性物質發(fā)生泄漏贞绳。R本人自食惡果不足惜谷醉,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望冈闭。 院中可真熱鬧俱尼,春花似錦、人聲如沸萎攒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耍休。三九已至刃永,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間羊精,已是汗流浹背斯够。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雳刺。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓劫灶,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掖桦。 傳聞我的和親對象是個殘疾皇子本昏,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內容