Android.mk revision e1c25bd8014a6c13e6b849ae8ad347d1f506471b
1e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# 2e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# Copyright (C) 2010 The Android Open Source Project 3e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# 4e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# Licensed under the Apache License, Version 2.0 (the "License"); 5e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# you may not use this file except in compliance with the License. 6e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# You may obtain a copy of the License at 7e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# 8e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# http://www.apache.org/licenses/LICENSE-2.0 9e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# 10e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# Unless required by applicable law or agreed to in writing, software 11e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# distributed under the License is distributed on an "AS IS" BASIS, 12e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# See the License for the specific language governing permissions and 14e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# limitations under the License. 15e86245a09bb8b9e72f5dc68083444ec938865798Zonr Chang# 16a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang 17a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang# The prebuilt tools should be used when we are doing app-only build. 18a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wangifeq ($(TARGET_BUILD_APPS),) 19a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang 20462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_PATH := $(call my-dir) 21462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 225abbe0e9ca2508260b627ffef2bf01e2554e8357Chris Waileslocal_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter \ 235abbe0e9ca2508260b627ffef2bf01e2554e8357Chris Wailes -Wno-return-type -Werror -std=c++11 24881abe9f9491361f6980077f0457c7ddfbd42201Tim Murrayifeq ($(TARGET_BUILD_VARIANT),eng) 25881abe9f9491361f6980077f0457c7ddfbd42201Tim Murraylocal_cflags_for_slang += -O0 26881abe9f9491361f6980077f0457c7ddfbd42201Tim Murrayelse 27432439488464171534f16c1fe013927373e3c579Jean-Luc Brouilletifeq ($(TARGET_BUILD_VARIANT),userdebug) 28432439488464171534f16c1fe013927373e3c579Jean-Luc Brouilletelse 299be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchouklocal_cflags_for_slang += -D__DISABLE_ASSERTS 309be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchoukendif 31432439488464171534f16c1fe013927373e3c579Jean-Luc Brouilletendif 32ba7c6dc08e1ab8486ccaf842e8ae87dc5c99d8cfStephen Hineslocal_cflags_for_slang += -DTARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT) 339be9360d8e02b52ed669afbd69f9becb575c3f0dAlex Sakhartchouk 34483f47c87b2f69a766b5a33845091f7c800846b0Stephen Hinesinclude $(LOCAL_PATH)/rs_version.mk 35483f47c87b2f69a766b5a33845091f7c800846b0Stephen Hineslocal_cflags_for_slang += $(RS_VERSION_DEFINE) 366b201eb3306b9609a991728a52ce948974bd4aedStephen Hines 37000c307d2115160200c4efa849d3e36c0267cd7aYing Wangstatic_libraries_needed_by_slang := \ 389207a2e495c8363606861e4f034504ec5c153dabLogan Chien libLLVMBitWriter_2_9 \ 399b044ec938fd56355012851890c63974c8042c9fStephen Hines libLLVMBitWriter_2_9_func \ 40bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libLLVMBitWriter_3_2 41835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao 42000c307d2115160200c4efa849d3e36c0267cd7aYing Wang# Static library libslang for host 43000c307d2115160200c4efa849d3e36c0267cd7aYing Wang# ======================================================== 44000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLEAR_VARS) 45000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLEAR_TBLGEN_VARS) 46000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 47000c307d2115160200c4efa849d3e36c0267cd7aYing WangLLVM_ROOT_PATH := external/llvm 48000c307d2115160200c4efa849d3e36c0267cd7aYing WangCLANG_ROOT_PATH := external/clang 49000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 50000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLANG_ROOT_PATH)/clang.mk 51000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 52000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_MODULE := libslang 53000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_MODULE_TAGS := optional 54231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienifneq ($(HOST_OS),windows) 5519bb5f5a3fd5146956de28127b88089f3538a4cdAndrew HsiehLOCAL_CLANG := true 56231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienendif 57000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 589be9360d8e02b52ed669afbd69f9becb575c3f0dAlex SakhartchoukLOCAL_CFLAGS += $(local_cflags_for_slang) 59000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 60000c307d2115160200c4efa849d3e36c0267cd7aYing WangTBLGEN_TABLES := \ 61000c307d2115160200c4efa849d3e36c0267cd7aYing Wang AttrList.inc \ 62000c307d2115160200c4efa849d3e36c0267cd7aYing Wang Attrs.inc \ 630da7f6c8201b27938d3b9f048d71fd784cd1df9aStephen Hines CommentCommandList.inc \ 6443730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao CommentNodes.inc \ 65000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DeclNodes.inc \ 66000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DiagnosticCommonKinds.inc \ 67000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DiagnosticFrontendKinds.inc \ 68000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DiagnosticSemaKinds.inc \ 69000c307d2115160200c4efa849d3e36c0267cd7aYing Wang StmtNodes.inc 70000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 71000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_SRC_FILES := \ 72000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang.cpp \ 73000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_utils.cpp \ 74000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_backend.cpp \ 75000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_pragma_recorder.cpp \ 76000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_diagnostic_buffer.cpp 77000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 785e6d0d5a911fff0b7b4bce216a213a4cf8a811f5Stephen HinesLOCAL_C_INCLUDES += frameworks/compile/libbcc/include 795e6d0d5a911fff0b7b4bce216a213a4cf8a811f5Stephen Hines 80231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan ChienLOCAL_LDLIBS := -ldl -lpthread 81231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienifneq ($(HOST_OS),windows) 82e1c25bd8014a6c13e6b849ae8ad347d1f506471bStephen HinesLOCAL_CXX_STL := libc++ 83231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienendif 84835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao 8508df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLANG_HOST_BUILD_MK) 8608df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLANG_TBLGEN_RULES_MK) 8708df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(LLVM_GEN_INTRINSICS_MK) 88e2201c0362dd68c316cec670e1607b1d3d77c5c5Ying Wanginclude $(BUILD_HOST_STATIC_LIBRARY) 8908df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang 90c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser# ======================================================== 91c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosserinclude $(CLEAR_VARS) 92c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 93c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_MODULE := llvm-rs-as 94c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_MODULE_TAGS := optional 95c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 96c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_MODULE_CLASS := EXECUTABLES 97c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 98c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_SRC_FILES := \ 99c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser llvm-rs-as.cpp 100c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 101c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_CFLAGS += $(local_cflags_for_slang) 102c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_STATIC_LIBRARIES := \ 103c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser libslang \ 104c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser $(static_libraries_needed_by_slang) 105c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_SHARED_LIBRARIES := \ 106c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser libLLVM 107c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 108c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosserinclude $(CLANG_HOST_BUILD_MK) 109c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosserinclude $(BUILD_HOST_EXECUTABLE) 110c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 111ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liao# Executable llvm-rs-cc for host 112835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao# ======================================================== 113835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(CLEAR_VARS) 114835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(CLEAR_TBLGEN_VARS) 115835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao 116b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_IS_HOST_MODULE := true 117b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_MODULE := llvm-rs-cc 118231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienifneq ($(HOST_OS),windows) 11919bb5f5a3fd5146956de28127b88089f3538a4cdAndrew HsiehLOCAL_CLANG := true 120231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienendif 121b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_MODULE_TAGS := optional 122462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 123bdd788877b3f18980836a3ed0d46627169483653Shih-wei LiaoLOCAL_MODULE_CLASS := EXECUTABLES 124bdd788877b3f18980836a3ed0d46627169483653Shih-wei Liao 1259be9360d8e02b52ed669afbd69f9becb575c3f0dAlex SakhartchoukLOCAL_CFLAGS += $(local_cflags_for_slang) 126cecd11d2af5d45d8ba322bed61fb48a99c305528Shih-wei Liao 127462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoTBLGEN_TABLES := \ 128f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao AttrList.inc \ 129f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao Attrs.inc \ 1300da7f6c8201b27938d3b9f048d71fd784cd1df9aStephen Hines CommentCommandList.inc \ 13143730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao CommentNodes.inc \ 132f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao DeclNodes.inc \ 133f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao DiagnosticCommonKinds.inc \ 134b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao DiagnosticDriverKinds.inc \ 135cf6af6abc1de499920571308b14a27e19cf57097Zonr Chang DiagnosticFrontendKinds.inc \ 136b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao DiagnosticSemaKinds.inc \ 13792b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang StmtNodes.inc \ 138b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao RSCCOptions.inc 139462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 140462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_SRC_FILES := \ 141b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao llvm-rs-cc.cpp \ 1428b5c5c6566078d49c4dcd8d8c7a6364c33c09037Stephen Hines rs_cc_options.cpp \ 1433a9ca1f0d6bd8f12c2bb2adea51f95c255996180Zonr Chang slang_rs.cpp \ 144292e00a0259ac28cac1055cb6077cf6fc7c6743cStephen Hines slang_rs_ast_replace.cpp \ 14511274a7324b478ec13e1d10a1b81350b34a65ab1Stephen Hines slang_rs_check_ast.cpp \ 146462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_context.cpp \ 147462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_pragma_handler.cpp \ 148462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_backend.cpp \ 149641558f02fe6ce0ee3ae5076eb366c25e2ad5903Zonr Chang slang_rs_exportable.cpp \ 150462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_type.cpp \ 151462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_element.cpp \ 152462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_var.cpp \ 153462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_func.cpp \ 154593a894650e81be54173106ec266f0311cebebd3Stephen Hines slang_rs_export_foreach.cpp \ 1554b32ffdfc1ac766f8932e7effbcdf7484e804a8eStephen Hines slang_rs_object_ref_count.cpp \ 1563f8b44dba57685b437cecc208f2a20a4ed93ed36Ying Wang slang_rs_reflection.cpp \ 1571b6a0883cd6984e11e59b0c847fb334df1f41afcJason Sams slang_rs_reflection_cpp.cpp \ 158552d872e5cdc883d9f8e76d8c67d3a82e3ece488Stephen Hines slang_rs_reflect_utils.cpp \ 159552d872e5cdc883d9f8e76d8c67d3a82e3ece488Stephen Hines strip_unknown_attributes.cpp 160462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 161462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_STATIC_LIBRARIES := \ 162bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libslang \ 163000c307d2115160200c4efa849d3e36c0267cd7aYing Wang $(static_libraries_needed_by_slang) 164e2201c0362dd68c316cec670e1607b1d3d77c5c5Ying Wang 165bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen HinesLOCAL_SHARED_LIBRARIES := \ 166bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libclang \ 167bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libLLVM 168bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines 16911e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelifeq ($(HOST_OS),windows) 17011e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphael LOCAL_LDLIBS := -limagehlp -lpsapi 17111e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelelse 17211e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphael LOCAL_LDLIBS := -ldl -lpthread 17311e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelendif 174462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 175b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao# For build RSCCOptions.inc from RSCCOptions.td 176d1e54f507e6d27924f8aa4024648309819df7435Ying Wangintermediates := $(call local-generated-sources-dir) 177b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_GENERATED_SOURCES += $(intermediates)/RSCCOptions.inc 1780e3f8c70bb16eaae98d68828ffffca36788570caTim Murray$(intermediates)/RSCCOptions.inc: $(LOCAL_PATH)/RSCCOptions.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(LLVM_TBLGEN) 179b7d1269f983f28d9fe625a96439fa88b39dc96f6Stephen Hines @echo "Building Renderscript compiler (llvm-rs-cc) Option tables with tblgen" 180a1f95ee8df425089100148a42954cf61dc285015Stephen Hines $(call transform-host-td-to-out,opt-parser-defs) 181b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 182462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(CLANG_HOST_BUILD_MK) 183462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(CLANG_TBLGEN_RULES_MK) 184462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(BUILD_HOST_EXECUTABLE) 185a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang 186a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wangendif # TARGET_BUILD_APPS 1874cc499d6e5ec602309501873449c938af61170b2Stephen Hines 1884cc499d6e5ec602309501873449c938af61170b2Stephen Hines#===================================================================== 1894cc499d6e5ec602309501873449c938af61170b2Stephen Hines# Include Subdirectories 1904cc499d6e5ec602309501873449c938af61170b2Stephen Hines#===================================================================== 1914cc499d6e5ec602309501873449c938af61170b2Stephen Hinesinclude $(call all-makefiles-under,$(LOCAL_PATH)) 192