| LOCAL_PATH:= $(call my-dir) |
| |
| app_process_common_shared_libs := \ |
| libandroid_runtime \ |
| libbinder \ |
| libcutils \ |
| libdl \ |
| libhwbinder \ |
| liblog \ |
| libnativeloader \ |
| libutils \ |
| |
| # This is a list of libraries that need to be included in order to avoid |
| # bad apps. This prevents a library from having a mismatch when resolving |
| # new/delete from an app shared library. |
| # See b/21032018 for more details. |
| app_process_common_shared_libs += \ |
| libwilhelm \ |
| |
| app_process_common_static_libs := \ |
| libsigchain \ |
| |
| app_process_src_files := \ |
| app_main.cpp \ |
| |
| app_process_cflags := \ |
| -Wall -Werror -Wunused -Wunreachable-code |
| |
| app_process_ldflags_32 := \ |
| -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic |
| app_process_ldflags_64 := \ |
| -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_SRC_FILES:= $(app_process_src_files) |
| |
| LOCAL_LDFLAGS_32 := $(app_process_ldflags_32) |
| LOCAL_LDFLAGS_64 := $(app_process_ldflags_64) |
| |
| LOCAL_SHARED_LIBRARIES := $(app_process_common_shared_libs) |
| |
| LOCAL_WHOLE_STATIC_LIBRARIES := $(app_process_common_static_libs) |
| |
| LOCAL_MODULE:= app_process |
| LOCAL_MULTILIB := both |
| LOCAL_MODULE_STEM_32 := app_process32 |
| LOCAL_MODULE_STEM_64 := app_process64 |
| |
| LOCAL_CFLAGS += $(app_process_cflags) |
| |
| # In SANITIZE_LITE mode, we create the sanitized binary in a separate location (but reuse |
| # the same module). Using the same module also works around an issue with make: binaries |
| # that depend on sanitized libraries will be relinked, even if they set LOCAL_SANITIZE := never. |
| # |
| # Also pull in the asanwrapper helper. |
| ifeq ($(SANITIZE_LITE),true) |
| LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan |
| LOCAL_REQUIRED_MODULES := asanwrapper |
| endif |
| |
| include $(BUILD_EXECUTABLE) |
| |
| # Create a symlink from app_process to app_process32 or 64 |
| # depending on the target configuration. |
| ifneq ($(SANITIZE_LITE),true) |
| include $(BUILD_SYSTEM)/executable_prefer_symlink.mk |
| endif |