Android.mk revision 11e2b93b206dbb401077d1fa39b1bcdc6de4d986
1# 2# Copyright (C) 2010 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16LOCAL_PATH := $(call my-dir) 17 18# Static library libslang for host 19# ======================================================== 20include $(CLEAR_VARS) 21include $(CLEAR_TBLGEN_VARS) 22 23LLVM_ROOT_PATH := external/llvm 24CLANG_ROOT_PATH := external/clang 25 26include $(CLANG_ROOT_PATH)/clang.mk 27 28LOCAL_MODULE := libslang 29LOCAL_MODULE_TAGS := optional 30 31LOCAL_CFLAGS += -Wno-sign-promo 32 33TBLGEN_TABLES := \ 34 AttrList.inc \ 35 Attrs.inc \ 36 DeclNodes.inc \ 37 DiagnosticCommonKinds.inc \ 38 DiagnosticFrontendKinds.inc \ 39 DiagnosticSemaKinds.inc \ 40 StmtNodes.inc 41 42LOCAL_SRC_FILES := \ 43 slang.cpp \ 44 slang_utils.cpp \ 45 slang_backend.cpp \ 46 slang_pragma_recorder.cpp \ 47 slang_diagnostic_buffer.cpp 48 49LOCAL_WHOLE_STATIC_LIBRARIES := \ 50 libLLVMLinker \ 51 libLLVMipo \ 52 libLLVMBitWriter \ 53 libLLVMBitReader \ 54 libLLVMARMAsmPrinter \ 55 libLLVMX86AsmPrinter \ 56 libLLVMAsmPrinter \ 57 libLLVMMCParser \ 58 libLLVMARMCodeGen \ 59 libLLVMARMInfo \ 60 libLLVMX86CodeGen \ 61 libLLVMX86Info \ 62 libLLVMSelectionDAG \ 63 libLLVMCodeGen \ 64 libLLVMScalarOpts \ 65 libLLVMInstCombine \ 66 libLLVMTransformUtils \ 67 libLLVMInstrumentation \ 68 libLLVMipa \ 69 libLLVMAnalysis \ 70 libLLVMTarget \ 71 libLLVMMC \ 72 libLLVMCore \ 73 libclangParse \ 74 libclangSema \ 75 libclangAnalysis \ 76 libclangAST \ 77 libclangLex \ 78 libclangFrontend \ 79 libclangCodeGen \ 80 libclangBasic \ 81 libLLVMSupport \ 82 libLLVMSystem 83 84LOCAL_LDLIBS := -ldl -lpthread 85 86include $(CLANG_HOST_BUILD_MK) 87include $(CLANG_TBLGEN_RULES_MK) 88include $(LLVM_GEN_INTRINSICS_MK) 89include $(BUILD_HOST_STATIC_LIBRARY) 90 91# Host static library containing rslib.bc 92# ======================================================== 93include $(CLEAR_VARS) 94 95input_data_file := frameworks/compile/slang/rslib.bc 96slangdata_output_var_name := rslib_bc 97 98LOCAL_IS_HOST_MODULE := true 99LOCAL_MODULE := librslib 100LOCAL_MODULE_TAGS := optional 101 102include $(LOCAL_PATH)/SlangData.mk 103include $(BUILD_HOST_STATIC_LIBRARY) 104 105# Executable llvm-rs-link for host 106# ======================================================== 107include $(CLEAR_VARS) 108include $(CLEAR_TBLGEN_VARS) 109 110include $(LLVM_ROOT_PATH)/llvm.mk 111 112LOCAL_MODULE := llvm-rs-link 113LOCAL_MODULE_TAGS := optional 114 115LOCAL_MODULE_CLASS := EXECUTABLES 116 117LOCAL_SRC_FILES := \ 118 llvm-rs-link.cpp 119 120LOCAL_STATIC_LIBRARIES := \ 121 librslib libslang 122 123LOCAL_LDLIBS := -ldl -lpthread 124 125include $(LLVM_HOST_BUILD_MK) 126include $(LLVM_GEN_INTRINSICS_MK) 127include $(BUILD_HOST_EXECUTABLE) 128 129# Executable rs-spec-gen for host 130# ======================================================== 131include $(CLEAR_VARS) 132 133LOCAL_MODULE := rs-spec-gen 134LOCAL_MODULE_TAGS := optional 135 136LOCAL_MODULE_CLASS := EXECUTABLES 137 138LOCAL_SRC_FILES := \ 139 slang_rs_spec_table.cpp 140 141include $(BUILD_HOST_EXECUTABLE) 142 143# Executable llvm-rs-cc for host 144# ======================================================== 145include $(CLEAR_VARS) 146include $(CLEAR_TBLGEN_VARS) 147 148LOCAL_IS_HOST_MODULE := true 149LOCAL_MODULE := llvm-rs-cc 150LOCAL_MODULE_TAGS := optional 151 152LOCAL_MODULE_CLASS := EXECUTABLES 153 154LOCAL_CFLAGS += -Wno-sign-promo 155 156TBLGEN_TABLES := \ 157 AttrList.inc \ 158 Attrs.inc \ 159 DeclNodes.inc \ 160 DiagnosticCommonKinds.inc \ 161 DiagnosticDriverKinds.inc \ 162 DiagnosticFrontendKinds.inc \ 163 DiagnosticSemaKinds.inc \ 164 StmtNodes.inc \ 165 RSCCOptions.inc 166 167RS_SPEC_TABLES := \ 168 RSClangBuiltinEnums.inc \ 169 RSDataTypeEnums.inc \ 170 RSDataElementEnums.inc \ 171 RSDataKindEnums.inc \ 172 RSMatrixTypeEnums.inc \ 173 RSObjectTypeEnums.inc 174 175LOCAL_SRC_FILES := \ 176 llvm-rs-cc.cpp \ 177 slang_rs.cpp \ 178 slang_rs_context.cpp \ 179 slang_rs_pragma_handler.cpp \ 180 slang_rs_backend.cpp \ 181 slang_rs_exportable.cpp \ 182 slang_rs_export_type.cpp \ 183 slang_rs_export_element.cpp \ 184 slang_rs_export_var.cpp \ 185 slang_rs_export_func.cpp \ 186 slang_rs_object_ref_count.cpp \ 187 slang_rs_reflection.cpp \ 188 slang_rs_reflect_utils.cpp \ 189 slang_rs_metadata_spec_encoder.cpp 190 191LOCAL_STATIC_LIBRARIES := \ 192 libclangDriver libslang 193 194ifeq ($(HOST_OS),windows) 195 LOCAL_LDLIBS := -limagehlp -lpsapi 196else 197 LOCAL_LDLIBS := -ldl -lpthread 198endif 199 200# For build RSCCOptions.inc from RSCCOptions.td 201intermediates := $(call local-intermediates-dir) 202LOCAL_GENERATED_SOURCES += $(intermediates)/RSCCOptions.inc 203$(intermediates)/RSCCOptions.inc: $(LOCAL_PATH)/RSCCOptions.td $(CLANG_ROOT_PATH)/include/clang/Driver/OptParser.td $(TBLGEN) 204 @echo "Building RenderScript compiler (llvm-rs-cc) Option tables with tblgen" 205 $(call transform-host-td-to-out,opt-parser-defs) 206 207include frameworks/compile/slang/RSSpec.mk 208include $(CLANG_HOST_BUILD_MK) 209include $(CLANG_TBLGEN_RULES_MK) 210include $(BUILD_HOST_EXECUTABLE) 211