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