Android.mk revision 7332039f270d68c6e82012875833d9fe5e76ee66
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# 1694ca20429c0e0ecd2d82e9d1d1637a0207244ac9Ying WangLOCAL_PATH := $(call my-dir) 17f71356cd0a20fb74cf2a61ce3544acae2e222142Pirama Arumuga NainarSLANG_ENABLE_ASSERTIONS := false 18a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang 19a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang# The prebuilt tools should be used when we are doing app-only build. 20a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wangifeq ($(TARGET_BUILD_APPS),) 21a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang 22462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 237332039f270d68c6e82012875833d9fe5e76ee66Stephen Hineslocal_cflags_for_slang := -Wall -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 37f71356cd0a20fb74cf2a61ce3544acae2e222142Pirama Arumuga Nainarifeq ($(SLANG_ENABLE_ASSERTIONS),true) 38f71356cd0a20fb74cf2a61ce3544acae2e222142Pirama Arumuga Nainarlocal_cflags_for_slang += -D_DEBUG -UNDEBUG 39f71356cd0a20fb74cf2a61ce3544acae2e222142Pirama Arumuga Nainarendif 40f71356cd0a20fb74cf2a61ce3544acae2e222142Pirama Arumuga Nainar 41000c307d2115160200c4efa849d3e36c0267cd7aYing Wangstatic_libraries_needed_by_slang := \ 429207a2e495c8363606861e4f034504ec5c153dabLogan Chien libLLVMBitWriter_2_9 \ 439b044ec938fd56355012851890c63974c8042c9fStephen Hines libLLVMBitWriter_2_9_func \ 44bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libLLVMBitWriter_3_2 45835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao 46000c307d2115160200c4efa849d3e36c0267cd7aYing Wang# Static library libslang for host 47000c307d2115160200c4efa849d3e36c0267cd7aYing Wang# ======================================================== 48000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLEAR_VARS) 49000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLEAR_TBLGEN_VARS) 50000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 51000c307d2115160200c4efa849d3e36c0267cd7aYing WangLLVM_ROOT_PATH := external/llvm 52000c307d2115160200c4efa849d3e36c0267cd7aYing WangCLANG_ROOT_PATH := external/clang 53000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 54000c307d2115160200c4efa849d3e36c0267cd7aYing Wanginclude $(CLANG_ROOT_PATH)/clang.mk 55000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 56000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_MODULE := libslang 57000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_MODULE_TAGS := optional 58231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienifneq ($(HOST_OS),windows) 5919bb5f5a3fd5146956de28127b88089f3538a4cdAndrew HsiehLOCAL_CLANG := true 60231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienendif 61000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 629be9360d8e02b52ed669afbd69f9becb575c3f0dAlex SakhartchoukLOCAL_CFLAGS += $(local_cflags_for_slang) 63000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 64000c307d2115160200c4efa849d3e36c0267cd7aYing WangTBLGEN_TABLES := \ 65000c307d2115160200c4efa849d3e36c0267cd7aYing Wang AttrList.inc \ 66000c307d2115160200c4efa849d3e36c0267cd7aYing Wang Attrs.inc \ 670da7f6c8201b27938d3b9f048d71fd784cd1df9aStephen Hines CommentCommandList.inc \ 6843730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao CommentNodes.inc \ 69000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DeclNodes.inc \ 70000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DiagnosticCommonKinds.inc \ 71000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DiagnosticFrontendKinds.inc \ 72000c307d2115160200c4efa849d3e36c0267cd7aYing Wang DiagnosticSemaKinds.inc \ 73000c307d2115160200c4efa849d3e36c0267cd7aYing Wang StmtNodes.inc 74000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 75000c307d2115160200c4efa849d3e36c0267cd7aYing WangLOCAL_SRC_FILES := \ 76000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang.cpp \ 77000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_backend.cpp \ 78000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_pragma_recorder.cpp \ 79000c307d2115160200c4efa849d3e36c0267cd7aYing Wang slang_diagnostic_buffer.cpp 80000c307d2115160200c4efa849d3e36c0267cd7aYing Wang 815e6d0d5a911fff0b7b4bce216a213a4cf8a811f5Stephen HinesLOCAL_C_INCLUDES += frameworks/compile/libbcc/include 825e6d0d5a911fff0b7b4bce216a213a4cf8a811f5Stephen Hines 83231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan ChienLOCAL_LDLIBS := -ldl -lpthread 84231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienifneq ($(HOST_OS),windows) 85e1c25bd8014a6c13e6b849ae8ad347d1f506471bStephen HinesLOCAL_CXX_STL := libc++ 86231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienendif 87835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao 8808df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLANG_HOST_BUILD_MK) 8908df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(CLANG_TBLGEN_RULES_MK) 9008df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Changinclude $(LLVM_GEN_INTRINSICS_MK) 91e2201c0362dd68c316cec670e1607b1d3d77c5c5Ying Wanginclude $(BUILD_HOST_STATIC_LIBRARY) 9208df36e5c0a990306d958c9f6d59a5de23b748f6Zonr Chang 93c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser# ======================================================== 94c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosserinclude $(CLEAR_VARS) 95c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 96c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_MODULE := llvm-rs-as 97c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_MODULE_TAGS := optional 98c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 99c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_MODULE_CLASS := EXECUTABLES 100c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 101c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_SRC_FILES := \ 102c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser llvm-rs-as.cpp 103c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 104c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_CFLAGS += $(local_cflags_for_slang) 105c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_STATIC_LIBRARIES := \ 106c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser libslang \ 107c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser $(static_libraries_needed_by_slang) 108c908b90b45448af6c39ce407b607f46b0e0461d6Tobias GrosserLOCAL_SHARED_LIBRARIES := \ 109c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser libLLVM 110c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 111c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosserinclude $(CLANG_HOST_BUILD_MK) 112c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosserinclude $(BUILD_HOST_EXECUTABLE) 113c908b90b45448af6c39ce407b607f46b0e0461d6Tobias Grosser 114ffa58bb392b79944a1cc23b0d41cbef9a34f8c2eShih-wei Liao# Executable llvm-rs-cc for host 115835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao# ======================================================== 116835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(CLEAR_VARS) 117835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liaoinclude $(CLEAR_TBLGEN_VARS) 118835a7b773631261b9ea2fb448a4c8a7a8cacfaabShih-wei Liao 119b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_IS_HOST_MODULE := true 120b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_MODULE := llvm-rs-cc 121231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienifneq ($(HOST_OS),windows) 12219bb5f5a3fd5146956de28127b88089f3538a4cdAndrew HsiehLOCAL_CLANG := true 123231f578e0b0c2467e1b71e3ba5cd035caf1a9d88Logan Chienendif 124b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_MODULE_TAGS := optional 125462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 126bdd788877b3f18980836a3ed0d46627169483653Shih-wei LiaoLOCAL_MODULE_CLASS := EXECUTABLES 127bdd788877b3f18980836a3ed0d46627169483653Shih-wei Liao 1289be9360d8e02b52ed669afbd69f9becb575c3f0dAlex SakhartchoukLOCAL_CFLAGS += $(local_cflags_for_slang) 129cecd11d2af5d45d8ba322bed61fb48a99c305528Shih-wei Liao 130462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoTBLGEN_TABLES := \ 131f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao AttrList.inc \ 132f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao Attrs.inc \ 1330da7f6c8201b27938d3b9f048d71fd784cd1df9aStephen Hines CommentCommandList.inc \ 13443730fe3c839af391efe6bdf56b0479860121924Shih-wei Liao CommentNodes.inc \ 135f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao DeclNodes.inc \ 136f52a620440fa62257dfdcf2583f0f9df5b855c76Shih-wei Liao DiagnosticCommonKinds.inc \ 137b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao DiagnosticDriverKinds.inc \ 138cf6af6abc1de499920571308b14a27e19cf57097Zonr Chang DiagnosticFrontendKinds.inc \ 139b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao DiagnosticSemaKinds.inc \ 14092b344a51c6c4934e96882bd401e4b13d6d03db8Zonr Chang StmtNodes.inc \ 141b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao RSCCOptions.inc 142462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 143462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_SRC_FILES := \ 144b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao llvm-rs-cc.cpp \ 1458b5c5c6566078d49c4dcd8d8c7a6364c33c09037Stephen Hines rs_cc_options.cpp \ 146292e00a0259ac28cac1055cb6077cf6fc7c6743cStephen Hines slang_rs_ast_replace.cpp \ 14711274a7324b478ec13e1d10a1b81350b34a65ab1Stephen Hines slang_rs_check_ast.cpp \ 148462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_context.cpp \ 149462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_pragma_handler.cpp \ 150641558f02fe6ce0ee3ae5076eb366c25e2ad5903Zonr Chang slang_rs_exportable.cpp \ 151462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_type.cpp \ 152462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_element.cpp \ 153462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_var.cpp \ 154462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao slang_rs_export_func.cpp \ 155593a894650e81be54173106ec266f0311cebebd3Stephen Hines slang_rs_export_foreach.cpp \ 1564b32ffdfc1ac766f8932e7effbcdf7484e804a8eStephen Hines slang_rs_object_ref_count.cpp \ 1573f8b44dba57685b437cecc208f2a20a4ed93ed36Ying Wang slang_rs_reflection.cpp \ 1581b6a0883cd6984e11e59b0c847fb334df1f41afcJason Sams slang_rs_reflection_cpp.cpp \ 159552d872e5cdc883d9f8e76d8c67d3a82e3ece488Stephen Hines slang_rs_reflect_utils.cpp \ 160552d872e5cdc883d9f8e76d8c67d3a82e3ece488Stephen Hines strip_unknown_attributes.cpp 161462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 16218c50ebf6e87a6f51de8f21dce6282d1096e50c2David GrossLOCAL_C_INCLUDES += frameworks/compile/libbcc/include 16318c50ebf6e87a6f51de8f21dce6282d1096e50c2David Gross 164462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei LiaoLOCAL_STATIC_LIBRARIES := \ 165bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libslang \ 166000c307d2115160200c4efa849d3e36c0267cd7aYing Wang $(static_libraries_needed_by_slang) 167e2201c0362dd68c316cec670e1607b1d3d77c5c5Ying Wang 168bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen HinesLOCAL_SHARED_LIBRARIES := \ 169bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libclang \ 170bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines libLLVM 171bfe3e9729efcd5db389cc0e46fff662fd0c1f8b5Stephen Hines 17211e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelifeq ($(HOST_OS),windows) 17311e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphael LOCAL_LDLIBS := -limagehlp -lpsapi 17411e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelelse 17511e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphael LOCAL_LDLIBS := -ldl -lpthread 17611e2b93b206dbb401077d1fa39b1bcdc6de4d986Raphaelendif 177462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liao 178b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao# For build RSCCOptions.inc from RSCCOptions.td 179d1e54f507e6d27924f8aa4024648309819df7435Ying Wangintermediates := $(call local-generated-sources-dir) 180b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei LiaoLOCAL_GENERATED_SOURCES += $(intermediates)/RSCCOptions.inc 1810e3f8c70bb16eaae98d68828ffffca36788570caTim Murray$(intermediates)/RSCCOptions.inc: $(LOCAL_PATH)/RSCCOptions.td $(LLVM_ROOT_PATH)/include/llvm/Option/OptParser.td $(LLVM_TBLGEN) 182b7d1269f983f28d9fe625a96439fa88b39dc96f6Stephen Hines @echo "Building Renderscript compiler (llvm-rs-cc) Option tables with tblgen" 183a1f95ee8df425089100148a42954cf61dc285015Stephen Hines $(call transform-host-td-to-out,opt-parser-defs) 184b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ecShih-wei Liao 185462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(CLANG_HOST_BUILD_MK) 186462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(CLANG_TBLGEN_RULES_MK) 187462aefd62cc646d2ff753c1d003ef3cd7bbea26Shih-wei Liaoinclude $(BUILD_HOST_EXECUTABLE) 188a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wang 189a20a2fdbf5baedc7fac36707e1e052e1697f52a1Ying Wangendif # TARGET_BUILD_APPS 1904cc499d6e5ec602309501873449c938af61170b2Stephen Hines 1914cc499d6e5ec602309501873449c938af61170b2Stephen Hines#===================================================================== 1924cc499d6e5ec602309501873449c938af61170b2Stephen Hines# Include Subdirectories 1934cc499d6e5ec602309501873449c938af61170b2Stephen Hines#===================================================================== 1944cc499d6e5ec602309501873449c938af61170b2Stephen Hinesinclude $(call all-makefiles-under,$(LOCAL_PATH)) 195