Home | History | Annotate | Download | only in init
      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