X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;ds=sidebyside;f=Android.mk;h=0b9d2689252732ab37d486c41ab649d3c45ab49f;hb=866fe2c61cceb82108ab94b832db87afe903d543;hp=7d0f4b429132cee802cdd490bac5174545374a3b;hpb=d3d9d44ca28a9cdffcc0a7365eee12462cedc305;p=android-x86%2Fexternal-koush-Superuser.git diff --git a/Android.mk b/Android.mk index 7d0f4b4..0b9d268 100644 --- a/Android.mk +++ b/Android.mk @@ -14,16 +14,58 @@ endif LOCAL_PATH := $(my_path) - include $(CLEAR_VARS) LOCAL_MODULE := su -LOCAL_MODULE_TAGS := eng debug +LOCAL_MODULE_TAGS := eng debug optional LOCAL_FORCE_STATIC_EXECUTABLE := true -LOCAL_STATIC_LIBRARIES := libc +LOCAL_STATIC_LIBRARIES := libc libcutils LOCAL_C_INCLUDES := external/sqlite/dist -LOCAL_SRC_FILES := Superuser/jni/su/su.c Superuser/jni/su/activity.c Superuser/jni/su/db.c Superuser/jni/su/utils.c ../../sqlite/dist/sqlite3.c +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 Superuser/jni/su/pts.c ../../sqlite/dist/sqlite3.c LOCAL_CFLAGS := -DSQLITE_OMIT_LOAD_EXTENSION -DREQUESTOR=\"$(SUPERUSER_PACKAGE)\" + +ifdef SUPERUSER_PACKAGE_PREFIX + LOCAL_CFLAGS += -DREQUESTOR_PREFIX=\"$(SUPERUSER_PACKAGE_PREFIX)\" +endif + +ifdef SUPERUSER_EMBEDDED + LOCAL_CFLAGS += -DSUPERUSER_EMBEDDED +endif + LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) include $(BUILD_EXECUTABLE) + +SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,su) +$(SYMLINKS): + @echo "Symlink: $@ -> /system/xbin/su" + @mkdir -p $(dir $@) + @rm -rf $@ + $(hide) ln -sf ../xbin/su $@ + +ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) + +# We need this so that the installed files could be picked up based on the +# local module name +ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ + $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) + +ifdef SUPERUSER_EMBEDDED + +# make sure init.superuser.rc is imported from +# init.rc or similar + +SUPERUSER_RC := $(TARGET_ROOT_OUT)/init.superuser.rc +$(SUPERUSER_RC): $(LOCAL_PATH)/init.superuser.rc | $(ACP) + $(copy-file-to-new-target) + +SUPERUSER_MARKER := $(TARGET_OUT_ETC)/.has_su_daemon +$(SUPERUSER_MARKER): $(LOCAL_INSTALLED_MODULE) + @mkdir -p $(dir $@) + @rm -rf $@ + $(hide) touch $@ + +ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ + $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SUPERUSER_RC) $(SUPERUSER_MARKER) + +endif