Android.mk revision 4a048eb11457407771e77039e169f6d38d64874e
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 1977643ba4fb6e93037940294a03149e68c353b4faYing Wanginclude $(CLEAR_VARS) 2077643ba4fb6e93037940294a03149e68c353b4faYing WangLOCAL_MODULE := libclcore.bc 2177643ba4fb6e93037940294a03149e68c353b4faYing WangLOCAL_MODULE_TAGS := optional 2277643ba4fb6e93037940294a03149e68c353b4faYing WangLOCAL_MODULE_CLASS := SHARED_LIBRARIES 2377643ba4fb6e93037940294a03149e68c353b4faYing Wang 2485b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines# C source files for the library 2585b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hinesclcore_c_files := \ 264a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk rs_allocation.c \ 2777643ba4fb6e93037940294a03149e68c353b4faYing Wang rs_cl.c \ 288e7b2839549af7aa96da2ba503238a245e08c2b3Alex Sakhartchouk rs_core.c \ 294a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk rs_element.c \ 304a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk rs_mesh.c \ 314a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk rs_program.c \ 324a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk rs_sample.c \ 334a048eb11457407771e77039e169f6d38d64874eAlex Sakhartchouk rs_sampler.c 3477643ba4fb6e93037940294a03149e68c353b4faYing Wang 3585b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines# Hand-written bitcode for the library 3685b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hinesclcore_ll_files := \ 375bc951cd1b1e504e19c8625fcab00712c123484bJason Sams clamp.ll \ 385bc951cd1b1e504e19c8625fcab00712c123484bJason Sams convert.ll \ 39f7ab3778dfe2be557fb457fdc842408fb9a2a261Jason Sams matrix.ll \ 40f7ab3778dfe2be557fb457fdc842408fb9a2a261Jason Sams pixel_packing.ll 4177643ba4fb6e93037940294a03149e68c353b4faYing Wang 4277643ba4fb6e93037940294a03149e68c353b4faYing Wanginclude $(BUILD_SYSTEM)/base_rules.mk 4377643ba4fb6e93037940294a03149e68c353b4faYing Wang 4477643ba4fb6e93037940294a03149e68c353b4faYing Wangclcore_CLANG := $(HOST_OUT_EXECUTABLES)/clang$(HOST_EXECUTABLE_SUFFIX) 4577643ba4fb6e93037940294a03149e68c353b4faYing Wangclcore_LLVM_LINK := $(HOST_OUT_EXECUTABLES)/llvm-link$(HOST_EXECUTABLE_SUFFIX) 4692686fed0265dcb48c6e857830879b36be892416Shih-wei Liaoclcore_LLVM_LD := $(HOST_OUT_EXECUTABLES)/llvm-ld$(HOST_EXECUTABLE_SUFFIX) 4760307ed7acbee1cce27551334e2b35839e47aee8Stephen Hinesclcore_LLVM_AS := $(HOST_OUT_EXECUTABLES)/llvm-as$(HOST_EXECUTABLE_SUFFIX) 4860307ed7acbee1cce27551334e2b35839e47aee8Stephen Hinesclcore_LLVM_DIS := $(HOST_OUT_EXECUTABLES)/llvm-dis$(HOST_EXECUTABLE_SUFFIX) 4977643ba4fb6e93037940294a03149e68c353b4faYing Wang 5085b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hinesclcore_c_bc_files := $(patsubst %.c,%.bc, \ 5185b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines $(addprefix $(intermediates)/, $(clcore_c_files))) 5277643ba4fb6e93037940294a03149e68c353b4faYing Wang 5385b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hinesclcore_ll_bc_files := $(patsubst %.ll,%.bc, \ 5485b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines $(addprefix $(intermediates)/, $(clcore_ll_files))) 5585b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines 5685b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines$(clcore_c_bc_files): PRIVATE_INCLUDES := \ 57dce5985ff48ec9cbf20c4483c43980b73776c033Ying Wang frameworks/base/libs/rs/scriptc \ 58dce5985ff48ec9cbf20c4483c43980b73776c033Ying Wang external/clang/lib/Headers 59dce5985ff48ec9cbf20c4483c43980b73776c033Ying Wang 6085b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines$(clcore_c_bc_files): $(intermediates)/%.bc: $(LOCAL_PATH)/%.c $(clcore_CLANG) 6177643ba4fb6e93037940294a03149e68c353b4faYing Wang @mkdir -p $(dir $@) 62f7d573d03c76eb32be372cb7391fa39d3cc349e3Stephen Hines $(hide) $(clcore_CLANG) $(addprefix -I, $(PRIVATE_INCLUDES)) -MD -std=c99 -c -O3 -fno-builtin -emit-llvm -ccc-host-triple armv7-none-linux-gnueabi -fsigned-char $< -o $@ 630e570cb2c49ba66caa171a8e97158016bceed08eYing Wang 6485b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines$(clcore_ll_bc_files): $(intermediates)/%.bc: $(LOCAL_PATH)/%.ll $(clcore_LLVM_AS) 6585b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines @mkdir -p $(dir $@) 6685b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines $(hide) $(clcore_LLVM_AS) $< -o $@ 6785b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines 6885b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines-include $(clcore_c_bc_files:%.bc=%.d) 6985b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines-include $(clcore_ll_bc_files:%.bc=%.d) 7077643ba4fb6e93037940294a03149e68c353b4faYing Wang 7185b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines$(LOCAL_BUILT_MODULE): PRIVATE_BC_FILES := $(clcore_c_bc_files) $(clcore_ll_bc_files) 7285b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines$(LOCAL_BUILT_MODULE): $(clcore_c_bc_files) $(clcore_ll_bc_files) 7385b860c2e503d6b7401fbc96dffc71e65c2c2d70Stephen Hines$(LOCAL_BUILT_MODULE): $(clcore_LLVM_LINK) $(clcore_LLVM_LD) 7460307ed7acbee1cce27551334e2b35839e47aee8Stephen Hines$(LOCAL_BUILT_MODULE): $(clcore_LLVM_AS) $(clcore_LLVM_DIS) 7577643ba4fb6e93037940294a03149e68c353b4faYing Wang @mkdir -p $(dir $@) 7677643ba4fb6e93037940294a03149e68c353b4faYing Wang $(hide) $(clcore_LLVM_LINK) $(PRIVATE_BC_FILES) -o $@ 77