executable.mk revision 70dc3e1d3d58647a7c9e4173d7a7fefd28ad81e3
1###########################################################
2## Standard rules for building an executable file.
3##
4## Additional inputs from base_rules.make:
5## None.
6###########################################################
7
8ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
9LOCAL_MODULE_CLASS := EXECUTABLES
10endif
11ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
12LOCAL_MODULE_SUFFIX := $(TARGET_EXECUTABLE_SUFFIX)
13endif
14
15####################################################
16## Add profiling libraries if aprof is turned
17####################################################
18ifeq ($(strip $(LOCAL_ENABLE_APROF)),true)
19  ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE), true)
20    LOCAL_STATIC_LIBRARIES += libaprof libaprof_static libc libcutils
21  else
22    LOCAL_SHARED_LIBRARIES += libaprof libaprof_runtime libc
23  endif
24  LOCAL_WHOLE_STATIC_LIBRARIES += libaprof_aux
25endif
26
27include $(BUILD_SYSTEM)/dynamic_binary.mk
28
29ifeq ($(LOCAL_FORCE_STATIC_EXECUTABLE),true)
30$(linked_module): $(TARGET_CRTBEGIN_STATIC_O) $(all_objects) $(all_libraries) $(TARGET_CRTEND_O)
31	$(transform-o-to-static-executable)
32else	
33$(linked_module): $(TARGET_CRTBEGIN_DYNAMIC_O) $(all_objects) $(all_libraries) $(TARGET_CRTEND_O)
34	$(transform-o-to-executable)
35endif
36