diff options
Diffstat (limited to '')
-rw-r--r-- | toolbox/Android.mk | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/toolbox/Android.mk b/toolbox/Android.mk index ad2e24c5c..2154479a4 100644 --- a/toolbox/Android.mk +++ b/toolbox/Android.mk @@ -1,6 +1,9 @@ LOCAL_PATH:= system/core/toolbox/ +ifeq ($(PLATFORM_VERSION), 5.0) + +# Rule for lollipop common_cflags := \ -std=gnu99 \ -Werror -Wno-unused-parameter \ @@ -187,3 +190,158 @@ SYMLINKS := # local module name ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) + +else + +# Rule for older trees +LOCAL_PATH:= system/core/toolbox/ +include $(CLEAR_VARS) + +TOOLS := \ + start \ + stop \ + getprop \ + setprop + +# If busybox does not have SELinux support, provide these tools with toolbox. +# Note that RECOVERY_BUSYBOX_TOOLS will be empty if TW_USE_TOOLBOX == true. +ifeq ($(TWHAVE_SELINUX), true) + TOOLS_FOR_SELINUX := \ + ls \ + getenforce \ + setenforce \ + chcon \ + restorecon \ + runcon \ + getsebool \ + setsebool \ + load_policy + TOOLS += $(filter-out $(RECOVERY_BUSYBOX_TOOLS), $(TOOLS_FOR_SELINUX)) +endif + +ifeq ($(TW_USE_TOOLBOX), true) + TOOLS += \ + mount \ + cat \ + ps \ + kill \ + ln \ + insmod \ + rmmod \ + lsmod \ + ifconfig \ + setconsole \ + rm \ + mkdir \ + rmdir \ + getevent \ + sendevent \ + date \ + wipe \ + sync \ + umount \ + notify \ + cmp \ + dmesg \ + route \ + hd \ + dd \ + df \ + watchprops \ + log \ + sleep \ + renice \ + printenv \ + smd \ + chmod \ + chown \ + newfs_msdos \ + netstat \ + ioctl \ + mv \ + schedtop \ + top \ + iftop \ + id \ + uptime \ + vmstat \ + nandread \ + ionice \ + touch \ + lsof \ + du \ + md5 \ + clear \ + swapon \ + swapoff \ + mkswap \ + readlink + ifneq ($(TWHAVE_SELINUX), true) + TOOLS += ls + endif +endif + +LOCAL_SRC_FILES := \ + toolbox.c \ + $(patsubst %,%.c,$(TOOLS)) + +ifneq ($(wildcard system/core/toolbox/dynarray.c),) + LOCAL_SRC_FILES += dynarray.c +endif + +# reboot.c was removed in 4.4 kitkat +#TOOLS += reboot + +#ifeq ($(BOARD_USES_BOOTMENU),true) +# LOCAL_SRC_FILES += ../../../external/bootmenu/libreboot/reboot.c +#else +# LOCAL_SRC_FILES += reboot.c +#endif + +LOCAL_C_INCLUDES := bionic/libc/bionic + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + liblog \ + libc + +ifeq ($(TWHAVE_SELINUX), true) + LOCAL_SHARED_LIBRARIES += libselinux +endif + +LOCAL_MODULE := toolbox_recovery +LOCAL_MODULE_STEM := toolbox +LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/sbin +LOCAL_MODULE_TAGS := optional + +# Including this will define $(intermediates). +# +include $(BUILD_EXECUTABLE) + +$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h + +TOOLS_H := $(intermediates)/tools.h +$(TOOLS_H): PRIVATE_TOOLS := $(TOOLS) +$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done +$(TOOLS_H): $(LOCAL_PATH)/Android.mk +$(TOOLS_H): + $(transform-generated-source) + +# Make #!/system/bin/toolbox launchers for each tool. +# +SYMLINKS := $(addprefix $(TARGET_RECOVERY_ROOT_OUT)/sbin/,$(TOOLS)) +$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE_STEM) +$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk + @echo "Symlink: $@ -> $(TOOLBOX_BINARY)" + @mkdir -p $(dir $@) + @rm -rf $@ + $(hide) ln -sf $(TOOLBOX_BINARY) $@ + +include $(CLEAR_VARS) +LOCAL_MODULE := toolbox_symlinks +LOCAL_MODULE_TAGS := optional +LOCAL_ADDITIONAL_DEPENDENCIES := $(SYMLINKS) +include $(BUILD_PHONY_PACKAGE) +SYMLINKS := + +endif |