blob: f4314fb9d6e36ea24836e7266e00c2a7e699cee2 [file] [log] [blame]
Mike Lockwoode0e9e942012-10-24 11:52:57 -07001LOCAL_PATH:= $(call my-dir)
Colin Cross2764fce2014-03-19 17:47:39 -07002
Andreas Gampe622f5112016-11-29 19:28:13 -08003app_process_common_shared_libs := \
4 libandroid_runtime \
5 libbinder \
6 libcutils \
7 libdl \
8 liblog \
9 libnativeloader \
10 libutils \
11
Christopher Ferrisad817912015-06-17 15:03:20 -070012# This is a list of libraries that need to be included in order to avoid
13# bad apps. This prevents a library from having a mismatch when resolving
14# new/delete from an app shared library.
15# See b/21032018 for more details.
Andreas Gampe622f5112016-11-29 19:28:13 -080016app_process_common_shared_libs += \
Christopher Ferrisad817912015-06-17 15:03:20 -070017 libwilhelm \
18
Andreas Gampe622f5112016-11-29 19:28:13 -080019app_process_common_static_libs := \
20 libsigchain \
21
22app_process_src_files := \
23 app_main.cpp \
24
25app_process_cflags := \
26 -Wall -Werror -Wunused -Wunreachable-code
27
28app_process_ldflags_32 := \
29 -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
30app_process_ldflags_64 := \
31 -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
32
Mike Lockwoode0e9e942012-10-24 11:52:57 -070033include $(CLEAR_VARS)
34
Andreas Gampe622f5112016-11-29 19:28:13 -080035LOCAL_SRC_FILES:= $(app_process_src_files)
Dmitriy Ivanov96e0cfa2014-10-07 13:34:42 -070036
Andreas Gampe622f5112016-11-29 19:28:13 -080037LOCAL_LDFLAGS_32 := $(app_process_ldflags_32)
38LOCAL_LDFLAGS_64 := $(app_process_ldflags_64)
Mike Lockwoode0e9e942012-10-24 11:52:57 -070039
Andreas Gampe622f5112016-11-29 19:28:13 -080040LOCAL_SHARED_LIBRARIES := $(app_process_common_shared_libs)
Mike Lockwoode0e9e942012-10-24 11:52:57 -070041
Andreas Gampe622f5112016-11-29 19:28:13 -080042LOCAL_WHOLE_STATIC_LIBRARIES := $(app_process_common_static_libs)
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070043
Mike Lockwoode0e9e942012-10-24 11:52:57 -070044LOCAL_MODULE:= app_process
Colin Crossf130f0a2014-03-27 10:20:29 -070045LOCAL_MULTILIB := both
Yongqin Liu559484e2014-05-06 23:30:40 +080046LOCAL_MODULE_STEM_32 := app_process32
Colin Crossf130f0a2014-03-27 10:20:29 -070047LOCAL_MODULE_STEM_64 := app_process64
Andreas Gampecfedceb2014-09-30 21:48:18 -070048
Andreas Gampe622f5112016-11-29 19:28:13 -080049LOCAL_CFLAGS += $(app_process_cflags)
50
51# In SANITIZE_LITE mode, the main app_process is not sanitized - special
52# binaries below do that.
53ifeq ($(SANITIZE_LITE),true)
54LOCAL_SANITIZE := never
55endif
Andreas Gampecfedceb2014-09-30 21:48:18 -070056
Mike Lockwoode0e9e942012-10-24 11:52:57 -070057include $(BUILD_EXECUTABLE)
58
Yongqin Liu559484e2014-05-06 23:30:40 +080059# Create a symlink from app_process to app_process32 or 64
60# depending on the target configuration.
61include $(BUILD_SYSTEM)/executable_prefer_symlink.mk
62
Mike Lockwoode0e9e942012-10-24 11:52:57 -070063# Build a variant of app_process binary linked with ASan runtime.
Andreas Gampe622f5112016-11-29 19:28:13 -080064# Built when SANITIZE_LITE is enabled.
65ifeq ($(SANITIZE_LITE),true)
Mike Lockwoode0e9e942012-10-24 11:52:57 -070066
67include $(CLEAR_VARS)
68
Andreas Gampe622f5112016-11-29 19:28:13 -080069LOCAL_SRC_FILES:= $(app_process_src_files)
Mike Lockwoode0e9e942012-10-24 11:52:57 -070070
Andreas Gampe622f5112016-11-29 19:28:13 -080071LOCAL_LDFLAGS_32 := $(app_process_ldflags_32)
72LOCAL_LDFLAGS_64 := $(app_process_ldflags_64)
Mike Lockwoode0e9e942012-10-24 11:52:57 -070073
Andreas Gampe622f5112016-11-29 19:28:13 -080074LOCAL_SHARED_LIBRARIES := $(app_process_common_shared_libs)
Dmitriy Ivanov5ba317c2014-10-20 14:14:39 -070075
Andreas Gampe622f5112016-11-29 19:28:13 -080076LOCAL_WHOLE_STATIC_LIBRARIES := $(app_process_common_static_libs)
Dmitriy Ivanov96e0cfa2014-10-07 13:34:42 -070077
Mike Lockwoode0e9e942012-10-24 11:52:57 -070078LOCAL_MODULE := app_process__asan
Evgenii Stepanove740b172015-05-07 10:55:59 -070079LOCAL_MULTILIB := both
80LOCAL_MODULE_STEM_32 := app_process32
81LOCAL_MODULE_STEM_64 := app_process64
Evgenii Stepanove740b172015-05-07 10:55:59 -070082LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
Mike Lockwoode0e9e942012-10-24 11:52:57 -070083
Andreas Gampe622f5112016-11-29 19:28:13 -080084LOCAL_CFLAGS += $(app_process_cflags)
Andreas Gampecfedceb2014-09-30 21:48:18 -070085
Mike Lockwoode0e9e942012-10-24 11:52:57 -070086include $(BUILD_EXECUTABLE)
87
Andreas Gampe622f5112016-11-29 19:28:13 -080088endif # SANITIZE_LITE