1 # Copyright 2005 The Android Open Source Project 2 3 LOCAL_PATH:= $(call my-dir) 4 5 # -- 6 7 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 8 init_options += \ 9 -DALLOW_LOCAL_PROP_OVERRIDE=1 \ 10 -DALLOW_PERMISSIVE_SELINUX=1 \ 11 -DREBOOT_BOOTLOADER_ON_PANIC=1 \ 12 -DDUMP_ON_UMOUNT_FAILURE=1 13 else 14 init_options += \ 15 -DALLOW_LOCAL_PROP_OVERRIDE=0 \ 16 -DALLOW_PERMISSIVE_SELINUX=0 \ 17 -DREBOOT_BOOTLOADER_ON_PANIC=0 \ 18 -DDUMP_ON_UMOUNT_FAILURE=0 19 endif 20 21 ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT))) 22 init_options += \ 23 -DSHUTDOWN_ZERO_TIMEOUT=1 24 else 25 init_options += \ 26 -DSHUTDOWN_ZERO_TIMEOUT=0 27 endif 28 29 init_options += -DLOG_UEVENTS=0 30 31 ifeq ($(TARGET_USER_MODE_LINUX), true) 32 init_cflags += -DUSER_MODE_LINUX 33 endif 34 35 init_cflags += \ 36 $(init_options) \ 37 -Wall -Wextra \ 38 -Wno-unused-parameter \ 39 -Werror \ 40 -std=gnu++1z \ 41 42 # -- 43 44 include $(CLEAR_VARS) 45 LOCAL_CPPFLAGS := $(init_cflags) 46 LOCAL_SRC_FILES:= \ 47 bootchart.cpp \ 48 builtins.cpp \ 49 init.cpp \ 50 init_first_stage.cpp \ 51 keychords.cpp \ 52 property_service.cpp \ 53 reboot.cpp \ 54 signal_handler.cpp \ 55 ueventd.cpp \ 56 watchdogd.cpp \ 57 58 LOCAL_MODULE:= init 59 LOCAL_C_INCLUDES += \ 60 system/core/mkbootimg 61 62 LOCAL_FORCE_STATIC_EXECUTABLE := true 63 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) 64 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED) 65 66 LOCAL_STATIC_LIBRARIES := \ 67 libinit \ 68 libbootloader_message \ 69 libfs_mgr \ 70 libfec \ 71 libfec_rs \ 72 libsquashfs_utils \ 73 liblogwrap \ 74 libext4_utils \ 75 libcutils \ 76 libbase \ 77 libc \ 78 libselinux \ 79 liblog \ 80 libcrypto_utils \ 81 libcrypto \ 82 libc++_static \ 83 libdl \ 84 libsparse \ 85 libz \ 86 libprocessgroup \ 87 libavb \ 88 libkeyutils \ 89 90 LOCAL_REQUIRED_MODULES := \ 91 e2fsdroid \ 92 mke2fs \ 93 94 # Create symlinks. 95 LOCAL_POST_INSTALL_CMD := $(hide) mkdir -p $(TARGET_ROOT_OUT)/sbin; \ 96 ln -sf ../init $(TARGET_ROOT_OUT)/sbin/ueventd; \ 97 ln -sf ../init $(TARGET_ROOT_OUT)/sbin/watchdogd 98 99 LOCAL_SANITIZE := signed-integer-overflow 100 LOCAL_CLANG := true 101 include $(BUILD_EXECUTABLE) 102