summaryrefslogtreecommitdiffstats
path: root/core/static_library_internal.mk
diff options
context:
space:
mode:
authorYing Wang <wangying@google.com>2014-01-15 16:02:16 -0800
committerYing Wang <wangying@google.com>2014-01-24 13:35:09 -0800
commit6ef6519170742bf3d56e17d04194e9cb0ecdead7 (patch)
treeceaaa6c376228045a596bb7250b34155c56ef09a /core/static_library_internal.mk
parent1d274d26869bfe6881d503b2d24f87cc40cf2727 (diff)
downloadbuild-6ef6519170742bf3d56e17d04194e9cb0ecdead7.zip
build-6ef6519170742bf3d56e17d04194e9cb0ecdead7.tar.gz
build-6ef6519170742bf3d56e17d04194e9cb0ecdead7.tar.bz2
Set up rules to build static libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion of static_library_internal.mk. libfoo of the 2nd arch will be built into $(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/libfoo_intermediates/libfoo.a. Bug: 11654773 Change-Id: I1d92733968fc442e9225b4df5bd1b551a81d89f7
Diffstat (limited to 'core/static_library_internal.mk')
-rw-r--r--core/static_library_internal.mk34
1 files changed, 34 insertions, 0 deletions
diff --git a/core/static_library_internal.mk b/core/static_library_internal.mk
new file mode 100644
index 0000000..2d3468c
--- /dev/null
+++ b/core/static_library_internal.mk
@@ -0,0 +1,34 @@
+###########################################################
+## Standard rules for building a static library.
+##
+## Additional inputs from base_rules.make:
+## None.
+##
+## LOCAL_MODULE_SUFFIX will be set for you.
+###########################################################
+
+ifeq ($(strip $(LOCAL_MODULE_CLASS)),)
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+ifeq ($(strip $(LOCAL_MODULE_SUFFIX)),)
+LOCAL_MODULE_SUFFIX := .a
+endif
+LOCAL_UNINSTALLABLE_MODULE := true
+ifneq ($(strip $(LOCAL_MODULE_STEM)$(LOCAL_BUILT_MODULE_STEM)),)
+$(error $(LOCAL_PATH): Cannot set module stem for a library)
+endif
+
+include $(BUILD_SYSTEM)/binary.mk
+
+ifeq ($(LOCAL_RAW_STATIC_LIBRARY),true)
+LOCAL_RAW_STATIC_LIBRARY:=
+$(all_objects) : PRIVATE_TARGET_PROJECT_INCLUDES :=
+$(all_objects) : PRIVATE_TARGET_C_INCLUDES :=
+$(all_objects) : PRIVATE_TARGET_GLOBAL_CFLAGS :=
+$(all_objects) : PRIVATE_TARGET_GLOBAL_CPPFLAGS :=
+endif
+
+$(LOCAL_BUILT_MODULE): PRIVATE_2ND_ARCH_VAR_PREFIX := $(LOCAL_2ND_ARCH_VAR_PREFIX)
+$(LOCAL_BUILT_MODULE) : $(built_whole_libraries)
+$(LOCAL_BUILT_MODULE) : $(all_objects)
+ $(transform-o-to-static-lib)