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 \
31cf77331a017f25c2676f224f13d8df7179b2522aRajeev Sharma    pixel_packing.ll \
32f3a719289eba0d2b47830b9e40858ed4a413d25bRajeev Sharma    math.ll \
33f3a719289eba0d2b47830b9e40858ed4a413d25bRajeev Sharma    rsClamp.ll
3477643ba4fb6e93037940294a03149e68c353b4faYing Wang
3543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesclcore_files := \
3643b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines    $(clcore_base_files) \
37a08e47801f1c220fb4ebbd4e9c046e0d30408c4dRajeev Sharma    arch/generic.c
3877643ba4fb6e93037940294a03149e68c353b4faYing Wang
3943b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesclcore_neon_files := \
4043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines    $(clcore_base_files) \
41a08e47801f1c220fb4ebbd4e9c046e0d30408c4dRajeev Sharma    arch/neon.ll
4285b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines
4343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesifeq "REL" "$(PLATFORM_VERSION_CODENAME)"
4443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  RS_VERSION := $(PLATFORM_SDK_VERSION)
4543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hineselse
4643b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  # Increment by 1 whenever this is not a final release build, since we want to
4743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  # be able to see the RS version number change during development.
4843b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  # See build/core/version_defaults.mk for more information about this.
4943b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines  RS_VERSION := "(1 + $(PLATFORM_SDK_VERSION))"
5043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesendif
51dce5985ff48ec9cbf20c4483c43980b73776c033Ying Wang
5243b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines# Build the base version of the library
5343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(CLEAR_VARS)
5443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE := libclcore.bc
5543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_TAGS := optional
5643b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES
5743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_SRC_FILES := $(clcore_files)
580e570cb2c49ba66caa171a8e97158016bceed08eYing Wang
5943b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(LOCAL_PATH)/build_bc_lib.mk
6085b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines
6143b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hines# Build a NEON-enabled version of the library (if possible)
6243b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesifeq ($(ARCH_ARM_HAVE_NEON),true)
6343b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(CLEAR_VARS)
6443b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE := libclcore_neon.bc
6543b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_TAGS := optional
6643b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_MODULE_CLASS := SHARED_LIBRARIES
6743b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen HinesLOCAL_SRC_FILES := $(clcore_neon_files)
6877643ba4fb6e93037940294a03149e68c353b4faYing Wang
6943b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesinclude $(LOCAL_PATH)/build_bc_lib.mk
7043b3727e5c4f6bcd03ea4fdfbae1c205ace798a6Stephen Hinesendif
71