Android.mk revision 8290d1083ec7eee3f32265012f5d6be2774c4afc
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 setconsole \ 16 rm \ 17 mkdir \ 18 rmdir \ 19 reboot \ 20 getevent \ 21 sendevent \ 22 date \ 23 wipe \ 24 sync \ 25 umount \ 26 start \ 27 stop \ 28 notify \ 29 cmp \ 30 dmesg \ 31 route \ 32 hd \ 33 dd \ 34 df \ 35 getprop \ 36 setprop \ 37 watchprops \ 38 log \ 39 sleep \ 40 renice \ 41 printenv \ 42 smd \ 43 chmod \ 44 chown \ 45 newfs_msdos \ 46 netstat \ 47 ioctl \ 48 mv \ 49 schedtop \ 50 top \ 51 iftop \ 52 id \ 53 uptime \ 54 vmstat \ 55 nandread \ 56 ionice \ 57 touch \ 58 lsof 59 60ifeq ($(HAVE_SELINUX),true) 61 62TOOLS += \ 63 getenforce \ 64 setenforce \ 65 chcon \ 66 restorecon \ 67 runcon \ 68 getsebool \ 69 setsebool \ 70 load_policy 71 72endif 73 74 75ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 76TOOLS += r 77endif 78 79LOCAL_SRC_FILES:= \ 80 dynarray.c \ 81 toolbox.c \ 82 $(patsubst %,%.c,$(TOOLS)) 83 84LOCAL_SHARED_LIBRARIES := libcutils libc libusbhost 85 86ifeq ($(HAVE_SELINUX),true) 87 88LOCAL_CFLAGS += -DHAVE_SELINUX 89LOCAL_SHARED_LIBRARIES += libselinux 90LOCAL_C_INCLUDES += external/libselinux/include 91 92endif 93 94LOCAL_MODULE:= toolbox 95 96# Including this will define $(intermediates). 97# 98include $(BUILD_EXECUTABLE) 99 100$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h 101 102TOOLS_H := $(intermediates)/tools.h 103$(TOOLS_H): PRIVATE_TOOLS := $(TOOLS) 104$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done 105$(TOOLS_H): $(LOCAL_PATH)/Android.mk 106$(TOOLS_H): 107 $(transform-generated-source) 108 109# Make #!/system/bin/toolbox launchers for each tool. 110# 111SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(TOOLS)) 112$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE) 113$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk 114 @echo "Symlink: $@ -> $(TOOLBOX_BINARY)" 115 @mkdir -p $(dir $@) 116 @rm -rf $@ 117 $(hide) ln -sf $(TOOLBOX_BINARY) $@ 118 119ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS) 120 121# We need this so that the installed files could be picked up based on the 122# local module name 123ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \ 124 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS) 125