Android.mk revision 5922d3b5be786d768515043a818413f890814094
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 -std=gnu99 \ 99 -Wno-unused-parameter \ 100 -include bsd-compatibility.h \ 101 102LOCAL_SHARED_LIBRARIES := \ 103 libcutils \ 104 liblog \ 105 libc \ 106 libusbhost \ 107 libselinux 108 109LOCAL_MODULE := toolbox 110 111# Including this will define $(intermediates). 112# 113include $(BUILD_EXECUTABLE) 114 115$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h 116 117TOOLS_H := $(intermediates)/tools.h 118$(TOOLS_H): PRIVATE_TOOLS := $(ALL_TOOLS) 119$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done 120$(TOOLS_H): $(LOCAL_PATH)/Android.mk 121$(TOOLS_H): 122 $(transform-generated-source) 123 124# Make #!/system/bin/toolbox launchers for each tool. 125# 126SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(ALL_TOOLS)) 127$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE) 128$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk 129 @echo "Symlink: $@ -> $(TOOLBOX_BINARY)" 130 @mkdir -p $(dir $@) 131 @rm -rf $@ 132 $(hide) ln -sf $(TOOLBOX_BINARY) $@ 133 134ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) 135 136# We need this so that the installed files could be picked up based on the 137# local module name 138ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 139 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) 140