aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaesoo Lee <jaesoo@google.com>2017-03-16 01:29:13 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-16 01:29:13 +0000
commitb4e8d532b0de9b83c0e2d04aee74355df518acc1 (patch)
tree7307f20470dcdfae4fc2274859a8130ea5f327d5
parent145bcb8708c1975d6d5a7b8b7c8c26b07f9d1e08 (diff)
parent8b1c7e9956737cfe3e010f53819264beabfdae91 (diff)
downloadtoybox-b4e8d532b0de9b83c0e2d04aee74355df518acc1.tar.gz
added a new build module for statically linked toybox (toybox_static) am: 95a47feaf3
am: 8b1c7e9956 Change-Id: Idb8917581eaaf092d248e9023da19a293d26a7a5
-rw-r--r--Android.mk47
1 files changed, 42 insertions, 5 deletions
diff --git a/Android.mk b/Android.mk
index b0c6ae44..92c8e42b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -44,9 +44,7 @@ LOCAL_PATH := $(call my-dir)
# # If you just want to use it as "toybox x" rather than "x", you can stop now.
# # If you want this toy to have a symbolic link in /system/bin, add the toy to ALL_TOOLS.
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := \
+common_SRC_FILES := \
lib/args.c \
lib/dirtree.c \
lib/getmountlist.c \
@@ -210,7 +208,7 @@ LOCAL_SRC_FILES := \
toys/posix/wc.c \
toys/posix/xargs.c \
-LOCAL_CFLAGS += \
+common_CFLAGS := \
-std=c99 \
-Os \
-Wno-char-subscripts \
@@ -226,7 +224,16 @@ toybox_upstream_version := $(shell awk 'match($$0, /TOYBOX_VERSION.*"(.*)"/, ary
toybox_sha := $(shell git -C $(LOCAL_PATH) rev-parse --short=12 HEAD 2>/dev/null)
toybox_version := $(toybox_upstream_version)-$(toybox_sha)-android
-LOCAL_CFLAGS += -DTOYBOX_VERSION='"$(toybox_version)"'
+
+common_CFLAGS += -DTOYBOX_VERSION='"$(toybox_version)"'
+
+############################################
+# toybox for /system
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(common_SRC_FILES)
+
+LOCAL_CFLAGS := $(common_CFLAGS)
LOCAL_CLANG := true
@@ -395,3 +402,33 @@ ALL_TOOLS := \
LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf toybox $(TARGET_OUT)/bin/$(t);)
include $(BUILD_EXECUTABLE)
+
+############################################
+# static version to be installed in recovery
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(common_SRC_FILES)
+
+LOCAL_CFLAGS := $(common_CFLAGS)
+
+LOCAL_CLANG := true
+
+LOCAL_STATIC_LIBRARIES := liblog libcutils libselinux libcrypto libm libc
+
+# libc++_static is needed by static liblog
+LOCAL_CXX_STL := libc++_static
+
+LOCAL_MODULE := toybox_static
+
+LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)/sbin
+
+LOCAL_FORCE_STATIC_EXECUTABLE := true
+
+ALL_TOOLS := \
+ modprobe \
+
+# Install the symlinks.
+LOCAL_POST_INSTALL_CMD := $(hide) $(foreach t,$(ALL_TOOLS),ln -sf ${LOCAL_MODULE} $(LOCAL_MODULE_PATH)/$(t);)
+
+include $(BUILD_EXECUTABLE)