2009-03-04 11:32:55 +08:00
|
|
|
# Copyright 2005 The Android Open Source Project
|
|
|
|
|
|
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
|
2015-02-05 06:46:36 +08:00
|
|
|
# --
|
|
|
|
|
|
|
|
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
|
2017-03-11 06:46:38 +08:00
|
|
|
init_options += \
|
|
|
|
-DALLOW_LOCAL_PROP_OVERRIDE=1 \
|
|
|
|
-DALLOW_PERMISSIVE_SELINUX=1 \
|
2017-03-29 04:07:15 +08:00
|
|
|
-DREBOOT_BOOTLOADER_ON_PANIC=1 \
|
2017-03-30 03:54:40 +08:00
|
|
|
-DWORLD_WRITABLE_KMSG=1 \
|
|
|
|
-DDUMP_ON_UMOUNT_FAILURE=1
|
2015-02-05 06:46:36 +08:00
|
|
|
else
|
2017-03-11 06:46:38 +08:00
|
|
|
init_options += \
|
|
|
|
-DALLOW_LOCAL_PROP_OVERRIDE=0 \
|
|
|
|
-DALLOW_PERMISSIVE_SELINUX=0 \
|
2017-03-29 04:07:15 +08:00
|
|
|
-DREBOOT_BOOTLOADER_ON_PANIC=0 \
|
2017-03-30 03:54:40 +08:00
|
|
|
-DWORLD_WRITABLE_KMSG=0 \
|
|
|
|
-DDUMP_ON_UMOUNT_FAILURE=0
|
2015-02-05 06:46:36 +08:00
|
|
|
endif
|
|
|
|
|
2017-03-29 00:41:36 +08:00
|
|
|
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
|
|
|
init_options += \
|
|
|
|
-DSHUTDOWN_ZERO_TIMEOUT=1
|
|
|
|
else
|
|
|
|
init_options += \
|
|
|
|
-DSHUTDOWN_ZERO_TIMEOUT=0
|
|
|
|
endif
|
|
|
|
|
2015-02-07 04:19:48 +08:00
|
|
|
init_options += -DLOG_UEVENTS=0
|
|
|
|
|
|
|
|
init_cflags += \
|
|
|
|
$(init_options) \
|
|
|
|
-Wall -Wextra \
|
|
|
|
-Wno-unused-parameter \
|
|
|
|
-Werror \
|
2015-02-05 06:46:36 +08:00
|
|
|
|
|
|
|
# --
|
|
|
|
|
2018-11-07 06:12:05 +08:00
|
|
|
# Do not build this even with mmma if we're system-as-root, otherwise it will overwrite the symlink.
|
|
|
|
ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
|
2015-02-07 04:19:48 +08:00
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_CPPFLAGS := $(init_cflags)
|
2018-07-21 05:57:00 +08:00
|
|
|
LOCAL_SRC_FILES := \
|
|
|
|
devices.cpp \
|
2018-11-07 06:12:05 +08:00
|
|
|
first_stage_init.cpp \
|
|
|
|
first_stage_main.cpp \
|
2018-07-21 05:57:00 +08:00
|
|
|
first_stage_mount.cpp \
|
|
|
|
reboot_utils.cpp \
|
|
|
|
selinux.cpp \
|
2018-08-08 01:22:01 +08:00
|
|
|
switch_root.cpp \
|
2018-07-21 05:57:00 +08:00
|
|
|
uevent_listener.cpp \
|
|
|
|
util.cpp \
|
2015-02-04 09:12:07 +08:00
|
|
|
|
2018-10-16 08:47:16 +08:00
|
|
|
LOCAL_MODULE := init_first_stage
|
|
|
|
LOCAL_MODULE_STEM := init
|
2018-07-21 05:57:00 +08:00
|
|
|
|
|
|
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
2015-05-08 23:30:33 +08:00
|
|
|
|
2018-08-08 01:22:01 +08:00
|
|
|
LOCAL_MODULE_PATH := $(TARGET_RAMDISK_OUT)
|
|
|
|
LOCAL_UNSTRIPPED_PATH := $(TARGET_RAMDISK_OUT_UNSTRIPPED)
|
|
|
|
|
|
|
|
# Set up the same mount points on the ramdisk that system-as-root contains.
|
|
|
|
LOCAL_POST_INSTALL_CMD := \
|
|
|
|
mkdir -p $(TARGET_RAMDISK_OUT)/dev \
|
2018-09-18 05:20:16 +08:00
|
|
|
$(TARGET_RAMDISK_OUT)/mnt \
|
|
|
|
$(TARGET_RAMDISK_OUT)/proc \
|
|
|
|
$(TARGET_RAMDISK_OUT)/sys \
|
2009-03-04 11:32:55 +08:00
|
|
|
|
2012-10-17 14:07:05 +08:00
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
2018-11-26 17:49:23 +08:00
|
|
|
libfs_avb \
|
2015-02-07 04:19:48 +08:00
|
|
|
libfs_mgr \
|
2015-05-22 22:43:50 +08:00
|
|
|
libfec \
|
|
|
|
libfec_rs \
|
2015-04-09 08:59:19 +08:00
|
|
|
libsquashfs_utils \
|
2015-02-07 04:19:48 +08:00
|
|
|
liblogwrap \
|
2017-01-12 06:03:11 +08:00
|
|
|
libext4_utils \
|
2018-10-24 04:10:33 +08:00
|
|
|
libfscrypt \
|
2017-07-18 06:14:02 +08:00
|
|
|
libseccomp_policy \
|
2016-08-06 06:47:57 +08:00
|
|
|
libcrypto_utils \
|
2017-01-12 06:37:50 +08:00
|
|
|
libsparse \
|
2017-05-10 08:09:06 +08:00
|
|
|
libavb \
|
|
|
|
libkeyutils \
|
2018-07-28 07:05:31 +08:00
|
|
|
liblp \
|
2018-06-01 18:26:42 +08:00
|
|
|
libcutils \
|
|
|
|
libbase \
|
|
|
|
liblog \
|
|
|
|
libcrypto \
|
|
|
|
libdl \
|
|
|
|
libz \
|
2018-06-19 15:55:05 +08:00
|
|
|
libselinux \
|
2018-07-21 05:57:00 +08:00
|
|
|
libcap \
|
2019-01-04 10:16:56 +08:00
|
|
|
libgsi \
|
2018-06-01 18:26:42 +08:00
|
|
|
|
2017-07-27 05:17:09 +08:00
|
|
|
LOCAL_SANITIZE := signed-integer-overflow
|
2018-11-02 04:38:38 +08:00
|
|
|
# First stage init is weird: it may start without stdout/stderr, and no /proc.
|
|
|
|
LOCAL_NOSANITIZE := hwaddress
|
2009-03-04 11:32:55 +08:00
|
|
|
include $(BUILD_EXECUTABLE)
|
2018-11-07 06:12:05 +08:00
|
|
|
endif
|
2018-10-16 08:47:16 +08:00
|
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
|
|
|
LOCAL_MODULE := init_system
|
|
|
|
LOCAL_REQUIRED_MODULES := \
|
|
|
|
init_second_stage \
|
|
|
|
|
|
|
|
include $(BUILD_PHONY_PACKAGE)
|
|
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
|
|
|
|
LOCAL_MODULE := init_vendor
|
|
|
|
ifneq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true)
|
|
|
|
LOCAL_REQUIRED_MODULES := \
|
|
|
|
init_first_stage \
|
|
|
|
|
|
|
|
endif
|
|
|
|
include $(BUILD_PHONY_PACKAGE)
|