Home | History | Annotate | Download | only in init
      1 # Copyright 2005 The Android Open Source Project
      2 
      3 LOCAL_PATH:= $(call my-dir)
      4 include $(CLEAR_VARS)
      5 
      6 LOCAL_SRC_FILES:= \
      7 	builtins.c \
      8 	init.c \
      9 	devices.c \
     10 	property_service.c \
     11 	util.c \
     12 	parser.c \
     13 	keychords.c \
     14 	signal_handler.c \
     15 	init_parser.c \
     16 	ueventd.c \
     17 	ueventd_parser.c \
     18 	watchdogd.c
     19 
     20 LOCAL_CFLAGS    += -Wno-unused-parameter
     21 
     22 ifeq ($(strip $(INIT_BOOTCHART)),true)
     23 LOCAL_SRC_FILES += bootchart.c
     24 LOCAL_CFLAGS    += -DBOOTCHART=1
     25 endif
     26 
     27 ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
     28 LOCAL_CFLAGS += -DALLOW_LOCAL_PROP_OVERRIDE=1 -DALLOW_DISABLE_SELINUX=1
     29 endif
     30 
     31 # Enable ueventd logging
     32 #LOCAL_CFLAGS += -DLOG_UEVENTS=1
     33 
     34 LOCAL_MODULE:= init
     35 
     36 LOCAL_FORCE_STATIC_EXECUTABLE := true
     37 LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
     38 LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
     39 
     40 LOCAL_STATIC_LIBRARIES := \
     41 	libfs_mgr \
     42 	liblogwrap \
     43 	libcutils \
     44 	liblog \
     45 	libc \
     46 	libselinux \
     47 	libmincrypt \
     48 	libext4_utils_static
     49 
     50 LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
     51 
     52 include $(BUILD_EXECUTABLE)
     53 
     54 # Make a symlink from /sbin/ueventd and /sbin/watchdogd to /init
     55 SYMLINKS := \
     56 	$(TARGET_ROOT_OUT)/sbin/ueventd \
     57 	$(TARGET_ROOT_OUT)/sbin/watchdogd
     58 
     59 $(SYMLINKS): INIT_BINARY := $(LOCAL_MODULE)
     60 $(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
     61 	@echo "Symlink: $@ -> ../$(INIT_BINARY)"
     62 	@mkdir -p $(dir $@)
     63 	@rm -rf $@
     64 	$(hide) ln -sf ../$(INIT_BINARY) $@
     65 
     66 ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
     67 
     68 # We need this so that the installed files could be picked up based on the
     69 # local module name
     70 ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
     71     $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
     72