blob: b0c241e7de5ac3e7b1cf614a34de95beab2904de [file] [log] [blame]
The Android Open Source Project4f6e8d72008-10-21 07:00:00 -07001LOCAL_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 mkdosfs \
45 netstat \
46 ioctl \
47 mv \
48 schedtop \
49 top \
50 iftop \
51 id \
52 vmstat
53
54LOCAL_SRC_FILES:= \
55 toolbox.c \
56 $(patsubst %,%.c,$(TOOLS))
57
58LOCAL_SHARED_LIBRARIES := libcutils libc
59
60LOCAL_MODULE:= toolbox
61
62# Including this will define $(intermediates).
63#
64include $(BUILD_EXECUTABLE)
65
66$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h
67
68TOOLS_H := $(intermediates)/tools.h
69$(TOOLS_H): PRIVATE_TOOLS := $(TOOLS)
70$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done
71$(TOOLS_H): $(LOCAL_PATH)/Android.mk
72$(TOOLS_H):
73 $(transform-generated-source)
74
75# Make #!/system/bin/toolbox launchers for each tool.
76#
77SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(TOOLS))
78$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE)
79$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
80 @echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
81 @mkdir -p $(dir $@)
82 @rm -rf $@
83 $(hide) ln -sf $(TOOLBOX_BINARY) $@
84
85ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
The Android Open Source Project35237d12008-12-17 18:08:08 -080086
87# We need this so that the installed files could be picked up based on the
88# local module name
89ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
90 $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)