Android.mk revision 03275a865cd0481a74d09951295455c6e706e085
1d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
2d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# Copyright (C) 2014 The Android Open Source Project
3d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
4d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# Licensed under the Apache License, Version 2.0 (the "License");
5d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# you may not use this file except in compliance with the License.
6d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# You may obtain a copy of the License at
7d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
8d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#      http://www.apache.org/licenses/LICENSE-2.0
9d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
10d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# Unless required by applicable law or agreed to in writing, software
11d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# distributed under the License is distributed on an "AS IS" BASIS,
12d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# See the License for the specific language governing permissions and
14d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# limitations under the License.
15d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
16d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
17d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesLOCAL_PATH := $(call my-dir)
18d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
19d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
20d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# To update:
21d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
22d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
23d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  git remote add toybox https://github.com/gfto/toybox.git
24d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  git fetch toybox
25d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  git merge toybox/master
26d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  mm -j32
27d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  # (Make any necessary Android.mk changes and test the new toybox.)
28d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  git push aosp HEAD:master  # Push directly, avoiding gerrit.
29d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  git push aosp HEAD:refs/for/master  # Push to gerrit.
30d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#
31d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  # Now commit any necessary Android.mk changes like normal:
32d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  repo start post-sync .
33d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#  git commit -a
34d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
35d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
36d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesinclude $(CLEAR_VARS)
37d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
38d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesLOCAL_SRC_FILES := \
39d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/args.c \
40d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/dirtree.c \
41d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/getmountlist.c \
42d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/help.c \
43d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/lib.c \
44d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/llist.c \
45d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/net.c \
46d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/portability.c \
47d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lib/xwrap.c \
48d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    main.c \
49d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/dmesg.c \
50d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/hostname.c \
51d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/killall.c \
52d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/md5sum.c \
53d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/mknod.c \
54d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/mktemp.c \
55d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/mount.c \
56d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/pidof.c \
57d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/seq.c \
58d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/sync.c \
59d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/lsb/umount.c \
60d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/acpi.c \
61d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/blkid.c \
62d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/blockdev.c \
63d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/bzcat.c \
64d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/catv.c \
65d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/chroot.c \
66d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/chvt.c \
67d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/clear.c \
68d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/count.c \
69d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/dos2unix.c \
70d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/factor.c \
71d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/fallocate.c \
72d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/free.c \
73d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/freeramdisk.c \
74d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/fsfreeze.c \
75d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/help.c \
76d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/ifconfig.c \
77d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/inotifyd.c \
78d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/insmod.c \
79d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/losetup.c \
80d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/lsattr.c \
81d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/lsmod.c \
82d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/lspci.c \
83d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/lsusb.c \
84d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/makedevs.c \
85d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/mkswap.c \
86d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/modinfo.c \
87d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/mountpoint.c \
88d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/nbd_client.c \
89d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/netcat.c \
90d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/oneit.c \
91d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/partprobe.c \
92d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/pivot_root.c \
93d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/pmap.c \
94d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/printenv.c \
95d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/pwdx.c \
96d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/readahead.c \
97d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/readlink.c \
98d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/realpath.c \
99d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/reboot.c \
100d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/rev.c \
101d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/rfkill.c \
102d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/rmmod.c \
103d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/setsid.c \
104d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/stat.c \
105d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/swapoff.c \
106d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/swapon.c \
107d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/switch_root.c \
108d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/sysctl.c \
109d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/tac.c \
110d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/taskset.c \
111d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/timeout.c \
112d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/truncate.c \
113d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/unshare.c \
114d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/usleep.c \
115d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/vconfig.c \
116d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/vmstat.c \
117d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/which.c \
118d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/other/yes.c \
119d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/basename.c \
120d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cal.c \
121d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cat.c \
122d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/chgrp.c \
123d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/chmod.c \
124d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cksum.c \
125d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cmp.c \
126d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/comm.c \
127d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cp.c \
128d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cpio.c \
129d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/cut.c \
130d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/date.c \
131d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/df.c \
132d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/dirname.c \
133d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/du.c \
134d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/echo.c \
135d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/env.c \
136d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/expand.c \
137d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/false.c \
138d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/find.c \
139d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/grep.c \
140d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/head.c \
141d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/id.c \
142d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/kill.c \
143d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/link.c \
144d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/ln.c \
145d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/ls.c \
146d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/mkdir.c \
147d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/mkfifo.c \
148d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/nice.c \
149d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/nl.c \
150d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/nohup.c \
151d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/od.c \
152d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/paste.c \
153d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/patch.c \
154d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/pwd.c \
155d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/renice.c \
156d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/rm.c \
157d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/rmdir.c \
158d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/sleep.c \
159d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/sort.c \
160d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/split.c \
161d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/strings.c \
162d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/tail.c \
163d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/tee.c \
164d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/time.c \
165d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/touch.c \
166d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/true.c \
167d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/tty.c \
168d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/uname.c \
169d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/uniq.c \
170d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/unlink.c \
171d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/uudecode.c \
172d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/uuencode.c \
173d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/wc.c \
174d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    toys/posix/xargs.c \
175d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
176d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesLOCAL_CFLAGS += \
177d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    -Os \
178d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    -Wno-char-subscripts \
179d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    -Wno-sign-compare \
180d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    -Wno-uninitialized \
181d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    -Wno-unused-parameter \
182d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    -funsigned-char -ffunction-sections -fdata-sections -fno-asynchronous-unwind-tables \
183d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
184d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesLOCAL_MODULE := toybox
185d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesLOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
186d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesinclude $(BUILD_EXECUTABLE)
187d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
18803275a865cd0481a74d09951295455c6e706e085Elliott Hughes# dupes: cat chmod chown cmp cp date df dmesg du grep id ifconfig insmod kill ls lsmod mkdir
18910bd49ec5e24231eb94746e601349f1d5a3c0658Elliott Hughes#        mknod mkswap mount mv nc netcat nohup notify(inotifyd) printenv readlink renice rm rmdir rmmod
19003275a865cd0481a74d09951295455c6e706e085Elliott Hughes#        sleep swapoff swapon sync touch umount vmstat
191d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# obsolete?: cpio killall5 link unlink
19210bd49ec5e24231eb94746e601349f1d5a3c0658Elliott Hughes# non-Linux: count freeramdisk fstype nbd-client oneit vconfig
193d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# useless?: chvt fsfreeze halt install makedevs mkfifo mktemp partprobe pivot_root poweroff pwdx reboot rev
194d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes#           rfkill switch_root tty unshare
195d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# prefer efs2progs instead?: blkid chattr lsattr
196d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
197d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesALL_TOOLS := \
198d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    acpi \
199d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    basename \
200d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    blockdev \
201d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    bzcat \
202d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    cal \
203d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    catv \
204d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    chgrp \
205d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    chroot \
206d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    cksum \
20703275a865cd0481a74d09951295455c6e706e085Elliott Hughes    clear \
208d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    comm \
209d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    cut \
210d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    dirname \
211d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    dos2unix \
212d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    echo \
213d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    egrep \
214d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    env \
215d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    expand \
216d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    factor \
217d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    fallocate \
21803275a865cd0481a74d09951295455c6e706e085Elliott Hughes    false \
219d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    fgrep \
220d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    find \
221d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    free \
222d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    groups \
223d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    head \
224d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    hostname \
225d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    killall \
226d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    ln \
227d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    logname \
228d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    losetup \
229d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lspci \
230d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    lsusb \
231d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    md5sum \
232d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    modinfo \
233d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    mountpoint \
234d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    nice \
235d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    nl \
236d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    od \
237d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    paste \
238d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    patch \
239d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    pidof \
240d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    pmap \
241d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    pwd \
242d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    readahead \
243d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    realpath \
244d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    seq \
245d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    setsid \
246d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    sha1sum \
247d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    sort \
248d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    split \
249d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    stat \
250d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    strings \
251d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    sysctl \
252d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    tac \
253d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    tail \
254d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    taskset \
255d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    tee \
256d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    time \
257d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    timeout \
25803275a865cd0481a74d09951295455c6e706e085Elliott Hughes    true \
259d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    truncate \
260d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    uname \
261d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    uniq \
262d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unix2dos \
26310bd49ec5e24231eb94746e601349f1d5a3c0658Elliott Hughes    usleep \
264d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    uudecode \
265d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    uuencode \
266d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    wc \
267d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    which \
268d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    whoami \
269d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    xargs \
270d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    yes \
271d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
272d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# Make symbolic link launchers for each tool.
273d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesSYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(ALL_TOOLS))
274d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes$(SYMLINKS): TOYBOX_BINARY := $(LOCAL_MODULE)
275d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
276d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	@echo "Symlink: $@ -> $(TOYBOX_BINARY)"
277d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	@mkdir -p $(dir $@)
278d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	@rm -rf $@
279d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	$(hide) ln -sf $(TOYBOX_BINARY) $@
280d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
281d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
282d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
283d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes# We need this so that the installed files can be picked up based on the local module name.
284d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott HughesALL_MODULES.$(LOCAL_MODULE).INSTALLED := $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)
285