1 # Root AOSP source makefile
2 # su is built here, and
4 my_path := $(call my-dir)
6 ifdef SUPERUSER_EMBEDDED
7 SUPERUSER_PACKAGE := com.android.settings
9 ifeq ($(SUPERUSER_PACKAGE),)
10 SUPERUSER_PACKAGE := com.thirdparty.superuser
12 include $(my_path)/Superuser/Android.mk
16 LOCAL_PATH := $(my_path)
20 LOCAL_MODULE_TAGS := eng debug optional
21 LOCAL_FORCE_STATIC_EXECUTABLE := true
22 LOCAL_STATIC_LIBRARIES := libc
23 LOCAL_C_INCLUDES := external/sqlite/dist
24 LOCAL_SRC_FILES := Superuser/jni/su/su.c Superuser/jni/su/daemon.c Superuser/jni/su/activity.c Superuser/jni/su/db.c Superuser/jni/su/utils.c ../../sqlite/dist/sqlite3.c
25 LOCAL_CFLAGS := -DSQLITE_OMIT_LOAD_EXTENSION -DREQUESTOR=\"$(SUPERUSER_PACKAGE)\"
27 ifdef SUPERUSER_PACKAGE_PREFIX
28 LOCAL_CFLAGS += -DREQUESTOR_PREFIX=\"$(SUPERUSER_PACKAGE_PREFIX)\"
31 LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
32 include $(BUILD_EXECUTABLE)
35 SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,su)
36 $(SYMLINKS): $(LOCAL_MODULE)
37 $(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
38 @echo "Symlink: $@ -> /system/xbin/su"
41 $(hide) ln -sf /system/xbin/su $@
43 ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
45 # We need this so that the installed files could be picked up based on the
47 ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
48 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
50 ifdef SUPERUSER_EMBEDDED
52 # make sure init.superuser.rc is imported from
55 SUPERUSER_RC := $(TARGET_ROOT_OUT)/init.superuser.rc
56 $(SUPERUSER_RC): $(LOCAL_MODULE)
57 $(SUPERUSER_RC): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
60 $(hide) cp external/koush/Superuser/init.superuser.rc $@
63 SUPERUSER_MARKER := $(TARGET_OUT_ETC)/.has_su_daemon
64 $(SUPERUSER_MARKER): $(LOCAL_MODULE)
65 $(SUPERUSER_MARKER): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
70 ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
71 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(TARGET_ROOT_OUT)/init.superuser.rc $(TARGET_OUT_ETC)/.has_su_daemon