Android.mk revision 7fc47129cf6a25b01b551816ac58ff3f53320123
1LOCAL_PATH:= $(call my-dir) 2include $(CLEAR_VARS) 3 4TOOLS := \ 5 cat \ 6 chcon \ 7 chmod \ 8 chown \ 9 clear \ 10 cmp \ 11 date \ 12 dd \ 13 df \ 14 dmesg \ 15 du \ 16 getenforce \ 17 getevent \ 18 getprop \ 19 getsebool \ 20 hd \ 21 id \ 22 ifconfig \ 23 iftop \ 24 insmod \ 25 ioctl \ 26 ionice \ 27 kill \ 28 ln \ 29 load_policy \ 30 log \ 31 ls \ 32 lsmod \ 33 lsof \ 34 md5 \ 35 mkdir \ 36 mkswap \ 37 mount \ 38 mv \ 39 nandread \ 40 netstat \ 41 newfs_msdos \ 42 notify \ 43 printenv \ 44 ps \ 45 readlink \ 46 renice \ 47 restorecon \ 48 rm \ 49 rmdir \ 50 rmmod \ 51 route \ 52 runcon \ 53 schedtop \ 54 sendevent \ 55 setenforce \ 56 setprop \ 57 setsebool \ 58 sleep \ 59 smd \ 60 start \ 61 stop \ 62 swapoff \ 63 swapon \ 64 sync \ 65 top \ 66 touch \ 67 umount \ 68 uptime \ 69 vmstat \ 70 watchprops \ 71 wipe \ 72 73ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 74TOOLS += r 75endif 76 77ALL_TOOLS = $(TOOLS) 78ALL_TOOLS += \ 79 cp \ 80 grep 81 82LOCAL_SRC_FILES := \ 83 cp/cp.c \ 84 cp/utils.c \ 85 dynarray.c \ 86 grep/fastgrep.c \ 87 grep/file.c \ 88 grep/grep.c \ 89 grep/queue.c \ 90 grep/util.c \ 91 $(patsubst %,%.c,$(TOOLS)) \ 92 toolbox.c \ 93 uid_from_user.c \ 94 95LOCAL_CFLAGS += \ 96 -std=gnu99 \ 97 -Werror -Wno-unused-parameter \ 98 -include bsd-compatibility.h \ 99 100LOCAL_C_INCLUDES += external/openssl/include 101 102LOCAL_SHARED_LIBRARIES := \ 103 libcrypto \ 104 libcutils \ 105 libselinux \ 106 107# libusbhost is only used by lsusb, and that isn't usually included in toolbox. 108# The linker strips out all the unused library code in the normal case. 109LOCAL_STATIC_LIBRARIES := \ 110 libusbhost \ 111 112LOCAL_MODULE := toolbox 113LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk 114 115# Including this will define $(intermediates). 116# 117include $(BUILD_EXECUTABLE) 118 119$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h 120 121TOOLS_H := $(intermediates)/tools.h 122$(TOOLS_H): PRIVATE_TOOLS := $(ALL_TOOLS) 123$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done 124$(TOOLS_H): $(LOCAL_PATH)/Android.mk 125$(TOOLS_H): 126 $(transform-generated-source) 127 128# Make #!/system/bin/toolbox launchers for each tool. 129# 130SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(ALL_TOOLS)) 131$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE) 132$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk 133 @echo "Symlink: $@ -> $(TOOLBOX_BINARY)" 134 @mkdir -p $(dir $@) 135 @rm -rf $@ 136 $(hide) ln -sf $(TOOLBOX_BINARY) $@ 137 138ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) 139 140# We need this so that the installed files could be picked up based on the 141# local module name 142ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 143 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) 144