Android.mk revision 9901f89f9dc9648c3837711d6e9234bd3a985151
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_SHARED_LIBRARY) 104 105# Executable slang-data for host 106# ======================================================== 107include $(CLEAR_VARS) 108 109LOCAL_MODULE := slang-data 110LOCAL_MODULE_TAGS := optional 111 112LOCAL_MODULE_CLASS := EXECUTABLES 113 114LOCAL_SRC_FILES := slang-data.c 115 116include $(BUILD_HOST_EXECUTABLE) 117 118# Executable llvm-rs-link for host 119# ======================================================== 120include $(CLEAR_VARS) 121include $(CLEAR_TBLGEN_VARS) 122 123include $(LLVM_ROOT_PATH)/llvm.mk 124 125LOCAL_MODULE := llvm-rs-link 126LOCAL_MODULE_TAGS := optional 127 128LOCAL_MODULE_CLASS := EXECUTABLES 129 130LOCAL_SRC_FILES := \ 131 llvm-rs-link.cpp 132 133LOCAL_STATIC_LIBRARIES := \ 134 librslib libslang 135 136LOCAL_LDLIBS := -ldl -lpthread 137 138include $(LLVM_HOST_BUILD_MK) 139include $(LLVM_GEN_INTRINSICS_MK) 140include $(BUILD_HOST_EXECUTABLE) 141 142# Executable rs-spec-gen for host 143# ======================================================== 144include $(CLEAR_VARS) 145 146LOCAL_MODULE := rs-spec-gen 147LOCAL_MODULE_TAGS := optional 148 149LOCAL_MODULE_CLASS := EXECUTABLES 150 151LOCAL_SRC_FILES := \ 152 slang_rs_spec_table.cpp 153 154include $(BUILD_HOST_EXECUTABLE) 155 156# Executable llvm-rs-cc for host 157# ======================================================== 158include $(CLEAR_VARS) 159include $(CLEAR_TBLGEN_VARS) 160 161LOCAL_IS_HOST_MODULE := true 162LOCAL_MODULE := llvm-rs-cc 163LOCAL_MODULE_TAGS := optional 164 165LOCAL_MODULE_CLASS := EXECUTABLES 166 167LOCAL_CFLAGS += -Wno-sign-promo 168 169TBLGEN_TABLES := \ 170 AttrList.inc \ 171 Attrs.inc \ 172 DeclNodes.inc \ 173 DiagnosticCommonKinds.inc \ 174 DiagnosticDriverKinds.inc \ 175 DiagnosticFrontendKinds.inc \ 176 DiagnosticSemaKinds.inc \ 177 StmtNodes.inc \ 178 RSCCOptions.inc 179 180RS_SPEC_TABLES := \ 181 RSClangBuiltinEnums.inc \ 182 RSDataTypeEnums.inc \ 183 RSDataElementEnums.inc \ 184 RSDataKindEnums.inc \ 185 RSMatrixTypeEnums.inc \ 186 RSObjectTypeEnums.inc 187 188LOCAL_SRC_FILES := \ 189 llvm-rs-cc.cpp \ 190 slang_rs.cpp \ 191 slang_rs_context.cpp \ 192 slang_rs_pragma_handler.cpp \ 193 slang_rs_backend.cpp \ 194 slang_rs_exportable.cpp \ 195 slang_rs_export_type.cpp \ 196 slang_rs_export_element.cpp \ 197 slang_rs_export_var.cpp \ 198 slang_rs_export_func.cpp \ 199 slang_rs_object_ref_count.cpp \ 200 slang_rs_reflection.cpp \ 201 slang_rs_reflect_utils.cpp \ 202 slang_rs_metadata_spec_encoder.cpp 203 204LOCAL_STATIC_LIBRARIES := \ 205 libclangDriver libslang 206 207LOCAL_LDLIBS := -ldl -lpthread 208 209# For build RSCCOptions.inc from RSCCOptions.td 210intermediates := $(call local-intermediates-dir) 211LOCAL_GENERATED_SOURCES += $(intermediates)/RSCCOptions.inc 212$(intermediates)/RSCCOptions.inc: $(LOCAL_PATH)/RSCCOptions.td $(CLANG_ROOT_PATH)/include/clang/Driver/OptParser.td $(TBLGEN) 213 @echo "Building RenderScript compiler (llvm-rs-cc) Option tables with tblgen" 214 $(call transform-host-td-to-out,opt-parser-defs) 215 216include frameworks/compile/slang/RSSpec.mk 217include $(CLANG_HOST_BUILD_MK) 218include $(CLANG_TBLGEN_RULES_MK) 219include $(BUILD_HOST_EXECUTABLE) 220