Android.mk revision 3f6b63e74d78ab259b55513a933bab3c5c1cc165
1LOCAL_PATH:= $(call my-dir) 2include $(CLEAR_VARS) 3 4TOOLS := \ 5 ls \ 6 mount \ 7 cat \ 8 ps \ 9 kill \ 10 ln \ 11 insmod \ 12 rmmod \ 13 lsmod \ 14 ifconfig \ 15 rm \ 16 mkdir \ 17 rmdir \ 18 getevent \ 19 sendevent \ 20 date \ 21 wipe \ 22 sync \ 23 umount \ 24 start \ 25 stop \ 26 notify \ 27 cmp \ 28 dmesg \ 29 route \ 30 hd \ 31 dd \ 32 df \ 33 getprop \ 34 setprop \ 35 watchprops \ 36 log \ 37 sleep \ 38 renice \ 39 printenv \ 40 smd \ 41 chmod \ 42 chown \ 43 newfs_msdos \ 44 netstat \ 45 ioctl \ 46 mv \ 47 schedtop \ 48 top \ 49 iftop \ 50 id \ 51 uptime \ 52 vmstat \ 53 nandread \ 54 ionice \ 55 touch \ 56 lsof \ 57 du \ 58 md5 \ 59 clear \ 60 getenforce \ 61 setenforce \ 62 chcon \ 63 restorecon \ 64 runcon \ 65 getsebool \ 66 setsebool \ 67 load_policy \ 68 swapon \ 69 swapoff \ 70 mkswap \ 71 readlink 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_C_INCLUDES := bionic/libc/bionic 96 97LOCAL_CFLAGS += \ 98 -Wno-unused-parameter \ 99 -include bsd-compatibility.h \ 100 101LOCAL_SHARED_LIBRARIES := \ 102 libcutils \ 103 liblog \ 104 libc \ 105 libusbhost \ 106 libselinux 107 108LOCAL_MODULE := toolbox 109 110# Including this will define $(intermediates). 111# 112include $(BUILD_EXECUTABLE) 113 114$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h 115 116TOOLS_H := $(intermediates)/tools.h 117$(TOOLS_H): PRIVATE_TOOLS := $(ALL_TOOLS) 118$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done 119$(TOOLS_H): $(LOCAL_PATH)/Android.mk 120$(TOOLS_H): 121 $(transform-generated-source) 122 123# Make #!/system/bin/toolbox launchers for each tool. 124# 125SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(ALL_TOOLS)) 126$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE) 127$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk 128 @echo "Symlink: $@ -> $(TOOLBOX_BINARY)" 129 @mkdir -p $(dir $@) 130 @rm -rf $@ 131 $(hide) ln -sf $(TOOLBOX_BINARY) $@ 132 133ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) 134 135# We need this so that the installed files could be picked up based on the 136# local module name 137ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 138 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) 139