android_system_core/toolbox/Android.mk
Elliott Hughes 7fc47129cf Switch md5 over to openssl rather than libc.
It doesn't make any sense for the C library to contain private stuff
that's only used by toolbox. Rather than move that stuff out of bionic
and into here, let's just use the same MD5 implementation the rest of
the system's using.

Change-Id: Ia1c73164124094b532af3453b90c4bd1ebfdaa24
2014-06-09 16:10:42 -07:00

143 lines
2.5 KiB
Makefile

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
TOOLS := \
cat \
chcon \
chmod \
chown \
clear \
cmp \
date \
dd \
df \
dmesg \
du \
getenforce \
getevent \
getprop \
getsebool \
hd \
id \
ifconfig \
iftop \
insmod \
ioctl \
ionice \
kill \
ln \
load_policy \
log \
ls \
lsmod \
lsof \
md5 \
mkdir \
mkswap \
mount \
mv \
nandread \
netstat \
newfs_msdos \
notify \
printenv \
ps \
readlink \
renice \
restorecon \
rm \
rmdir \
rmmod \
route \
runcon \
schedtop \
sendevent \
setenforce \
setprop \
setsebool \
sleep \
smd \
start \
stop \
swapoff \
swapon \
sync \
top \
touch \
umount \
uptime \
vmstat \
watchprops \
wipe \
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
TOOLS += r
endif
ALL_TOOLS = $(TOOLS)
ALL_TOOLS += \
cp \
grep
LOCAL_SRC_FILES := \
cp/cp.c \
cp/utils.c \
dynarray.c \
grep/fastgrep.c \
grep/file.c \
grep/grep.c \
grep/queue.c \
grep/util.c \
$(patsubst %,%.c,$(TOOLS)) \
toolbox.c \
uid_from_user.c \
LOCAL_CFLAGS += \
-std=gnu99 \
-Werror -Wno-unused-parameter \
-include bsd-compatibility.h \
LOCAL_C_INCLUDES += external/openssl/include
LOCAL_SHARED_LIBRARIES := \
libcrypto \
libcutils \
libselinux \
# libusbhost is only used by lsusb, and that isn't usually included in toolbox.
# The linker strips out all the unused library code in the normal case.
LOCAL_STATIC_LIBRARIES := \
libusbhost \
LOCAL_MODULE := toolbox
LOCAL_ADDITIONAL_DEPENDENCIES += $(LOCAL_PATH)/Android.mk
# Including this will define $(intermediates).
#
include $(BUILD_EXECUTABLE)
$(LOCAL_PATH)/toolbox.c: $(intermediates)/tools.h
TOOLS_H := $(intermediates)/tools.h
$(TOOLS_H): PRIVATE_TOOLS := $(ALL_TOOLS)
$(TOOLS_H): PRIVATE_CUSTOM_TOOL = echo "/* file generated automatically */" > $@ ; for t in $(PRIVATE_TOOLS) ; do echo "TOOL($$t)" >> $@ ; done
$(TOOLS_H): $(LOCAL_PATH)/Android.mk
$(TOOLS_H):
$(transform-generated-source)
# Make #!/system/bin/toolbox launchers for each tool.
#
SYMLINKS := $(addprefix $(TARGET_OUT)/bin/,$(ALL_TOOLS))
$(SYMLINKS): TOOLBOX_BINARY := $(LOCAL_MODULE)
$(SYMLINKS): $(LOCAL_INSTALLED_MODULE) $(LOCAL_PATH)/Android.mk
@echo "Symlink: $@ -> $(TOOLBOX_BINARY)"
@mkdir -p $(dir $@)
@rm -rf $@
$(hide) ln -sf $(TOOLBOX_BINARY) $@
ALL_DEFAULT_INSTALLED_MODULES += $(SYMLINKS)
# We need this so that the installed files could be picked up based on the
# local module name
ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
$(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) $(SYMLINKS)