Android.mk revision a08e47801f1c220fb4ebbd4e9c046e0d30408c4d
177643ba4fb6e93037940294a03149e68c353b4faYing Wang#
285b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines# Copyright (C) 2011-2012 The Android Open Source Project
377643ba4fb6e93037940294a03149e68c353b4faYing Wang#
477643ba4fb6e93037940294a03149e68c353b4faYing Wang# Licensed under the Apache License, Version 2.0 (the "License");
577643ba4fb6e93037940294a03149e68c353b4faYing Wang# you may not use this file except in compliance with the License.
677643ba4fb6e93037940294a03149e68c353b4faYing Wang# You may obtain a copy of the License at
777643ba4fb6e93037940294a03149e68c353b4faYing Wang#
877643ba4fb6e93037940294a03149e68c353b4faYing Wang#      http://www.apache.org/licenses/LICENSE-2.0
977643ba4fb6e93037940294a03149e68c353b4faYing Wang#
1077643ba4fb6e93037940294a03149e68c353b4faYing Wang# Unless required by applicable law or agreed to in writing, software
1177643ba4fb6e93037940294a03149e68c353b4faYing Wang# distributed under the License is distributed on an "AS IS" BASIS,
1277643ba4fb6e93037940294a03149e68c353b4faYing Wang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1377643ba4fb6e93037940294a03149e68c353b4faYing Wang# See the License for the specific language governing permissions and
1477643ba4fb6e93037940294a03149e68c353b4faYing Wang# limitations under the License.
1577643ba4fb6e93037940294a03149e68c353b4faYing Wang#
1677643ba4fb6e93037940294a03149e68c353b4faYing Wang
1777643ba4fb6e93037940294a03149e68c353b4faYing WangLOCAL_PATH := $(call my-dir)
1877643ba4fb6e93037940294a03149e68c353b4faYing Wang
1943b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines# C/LLVM-IR source files for the library
2043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesclcore_base_files := \
214a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk    rs_allocation.c \
2277643ba4fb6e93037940294a03149e68c353b4faYing Wang    rs_cl.c \
238e7b2839549af7aa96da2ba503238a245e08c2b3Alex Sakhartchouk    rs_core.c \
244a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk    rs_element.c \
254a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk    rs_mesh.c \
264a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk    rs_program.c \
274a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk    rs_sample.c \
2843b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines    rs_sampler.c \
295bc951cd1b1e504e19c8625fcab00712c123484bJason Sams    convert.ll \
30f7ab3778dfe2be557fb457fdc842408fb9a2a261Jason Sams    matrix.ll \
31f7ab3778dfe2be557fb457fdc842408fb9a2a261Jason Sams    pixel_packing.ll
3277643ba4fb6e93037940294a03149e68c353b4faYing Wang
3343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesclcore_files := \
3443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines    $(clcore_base_files) \
35a08e47801f1c220fb4ebbd4e9c046e0d30408c4dRajeev Sharma    arch/generic.c
3677643ba4fb6e93037940294a03149e68c353b4faYing Wang
3743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesclcore_neon_files := \
3843b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines    $(clcore_base_files) \
39a08e47801f1c220fb4ebbd4e9c046e0d30408c4dRajeev Sharma    arch/neon.ll
4085b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines
4143b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesifeq "REL" "$(PLATFORM_VERSION_CODENAME)"
4243b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  RS_VERSION := $(PLATFORM_SDK_VERSION)
4343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hineselse
4443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  # Increment by 1 whenever this is not a final release build, since we want to
4543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  # be able to see the RS version number change during development.
4643b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  # See build/core/version_defaults.mk for more information about this.
4743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  RS_VERSION := "(1 + $(PLATFORM_SDK_VERSION))"
4843b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesendif
49dce5985ff48ec9cbf20c4483c43980b73776c033Ying Wang
5043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines# Build the base version of the library
5143b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(CLEAR_VARS)
5243b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE := libclcore.bc
5343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_TAGS := optional
5443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES
5543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_SRC_FILES := $(clcore_files)
560e570cb2c49ba66caa171a8e97158016bceed08eYing Wang
5743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(LOCAL_PATH)/build_bc_lib.mk
5885b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines
5943b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines# Build a NEON-enabled version of the library (if possible)
6043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesifeq ($(ARCH_ARM_HAVE_NEON),true)
6143b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(CLEAR_VARS)
6243b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE := libclcore_neon.bc
6343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_TAGS := optional
6443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES
6543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_SRC_FILES := $(clcore_neon_files)
6677643ba4fb6e93037940294a03149e68c353b4faYing Wang
6743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(LOCAL_PATH)/build_bc_lib.mk
6843b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesendif
69