1# 2# Copyright (C) 2011 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# 16 17LOCAL_PATH := $(call my-dir) 18 19LLVM_ROOT_PATH := external/llvm 20 21#============================================================================= 22# android librsloader for libbcc (Device) 23#----------------------------------------------------------------------------- 24 25include $(CLEAR_VARS) 26 27LOCAL_MODULE := librsloader 28 29LOCAL_MODULE_TAGS := optional 30 31LOCAL_SRC_FILES := \ 32 lib/ELFHeader.cpp \ 33 lib/ELFSymbol.cpp \ 34 lib/ELFSectionHeader.cpp \ 35 lib/ELFTypes.cpp \ 36 lib/MemChunk.cpp \ 37 lib/StubLayout.cpp \ 38 lib/GOT.cpp \ 39 utils/raw_ostream.cpp \ 40 utils/rsl_assert.cpp \ 41 utils/helper.cpp \ 42 android/librsloader.cpp 43 44LOCAL_C_INCLUDES := \ 45 $(LOCAL_PATH)/ \ 46 $(LOCAL_PATH)/include \ 47 bionic \ 48 external/elfutils/libelf \ 49 external/stlport/stlport \ 50 $(LOCAL_C_INCLUDES) 51 52include $(LLVM_ROOT_PATH)/llvm-device-build.mk 53include $(BUILD_STATIC_LIBRARY) 54 55 56#============================================================================= 57# android librsloader for libbcc (Host) 58#----------------------------------------------------------------------------- 59 60include $(CLEAR_VARS) 61 62LOCAL_MODULE := librsloader 63 64LOCAL_MODULE_TAGS := optional 65 66LOCAL_SRC_FILES := \ 67 lib/ELFHeader.cpp \ 68 lib/ELFSymbol.cpp \ 69 lib/ELFSectionHeader.cpp \ 70 lib/ELFTypes.cpp \ 71 lib/MemChunk.cpp \ 72 lib/StubLayout.cpp \ 73 lib/GOT.cpp \ 74 utils/raw_ostream.cpp \ 75 utils/rsl_assert.cpp \ 76 utils/helper.cpp \ 77 android/librsloader.cpp 78 79LOCAL_C_INCLUDES := \ 80 $(LOCAL_PATH)/ \ 81 $(LOCAL_PATH)/include \ 82 $(LOCAL_C_INCLUDES) 83 84ifeq (darwin,$(BUILD_OS)) 85LOCAL_CFLAGS += -DMACOSX 86endif 87 88LOCAL_CFLAGS += -D__HOST__ 89 90include $(LLVM_ROOT_PATH)/llvm-host-build.mk 91include $(BUILD_HOST_STATIC_LIBRARY) 92 93 94#============================================================================= 95# librsloader-test (Device) 96#----------------------------------------------------------------------------- 97 98include $(CLEAR_VARS) 99 100LOCAL_MODULE := test-librsloader 101 102LOCAL_MODULE_TAGS := tests 103 104LOCAL_SHARED_LIBRARIES := \ 105 libstlport 106 107LOCAL_STATIC_LIBRARIES := \ 108 librsloader \ 109 libcutils \ 110 libLLVMSupport 111 112LOCAL_SRC_FILES := \ 113 android/test-librsloader.c 114 115include $(LLVM_ROOT_PATH)/llvm-device-build.mk 116include $(BUILD_EXECUTABLE) 117 118 119#============================================================================= 120# librsloader-test (Host) 121#----------------------------------------------------------------------------- 122 123include $(CLEAR_VARS) 124 125LOCAL_MODULE := test-librsloader 126 127LOCAL_MODULE_TAGS := tests 128 129LOCAL_LDLIBS := \ 130 -lpthread \ 131 -ldl 132 133LOCAL_STATIC_LIBRARIES := \ 134 librsloader \ 135 libcutils \ 136 libLLVMSupport 137 138LOCAL_SRC_FILES := \ 139 android/test-librsloader.c 140 141include $(LLVM_ROOT_PATH)/llvm-host-build.mk 142include $(BUILD_HOST_EXECUTABLE) 143 144 145#============================================================================= 146# rsloader 147#----------------------------------------------------------------------------- 148 149ifdef BUILD_RSLOADER_TOOL 150include $(CLEAR_VARS) 151 152LOCAL_MODULE := rsloader 153 154LOCAL_MODULE_TAGS := tests 155 156LOCAL_SHARED_LIBRARIES := \ 157 libstlport 158 159LOCAL_STATIC_LIBRARIES := \ 160 libLLVMSupport 161 162LOCAL_SRC_FILES := \ 163 lib/ELFHeader.cpp \ 164 lib/ELFSymbol.cpp \ 165 lib/ELFSectionHeader.cpp \ 166 lib/ELFTypes.cpp \ 167 lib/StubLayout.cpp \ 168 utils/raw_ostream.cpp \ 169 utils/rsl_assert.cpp \ 170 utils/helper.cpp \ 171 main.cpp 172 173LOCAL_C_INCLUDES := \ 174 $(LOCAL_PATH) \ 175 $(LOCAL_PATH)/include \ 176 bionic \ 177 external/elfutils/libelf \ 178 external/stlport/stlport \ 179 $(LOCAL_C_INCLUDES) 180 181include $(LLVM_ROOT_PATH)/llvm-device-build.mk 182include $(BUILD_EXECUTABLE) 183endif 184 185 186#============================================================================= 187# stub-layout-unit-test 188#----------------------------------------------------------------------------- 189 190ifdef BUILD_STUB_LAYOUT_TEST 191include $(CLEAR_VARS) 192 193LOCAL_MODULE := stub-layout-unit-test 194 195LOCAL_MODULE_TAGS := tests 196 197LOCAL_SHARED_LIBRARIES := \ 198 libstlport 199 200LOCAL_SRC_FILES := \ 201 lib/StubLayout.cpp \ 202 utils/raw_ostream.cpp \ 203 utils/helper.cpp \ 204 tests/stub-test.cpp 205 206LOCAL_C_INCLUDES := \ 207 $(LOCAL_PATH) \ 208 $(LOCAL_PATH)/include \ 209 bionic \ 210 external/elfutils/libelf \ 211 external/stlport/stlport \ 212 $(LOCAL_C_INCLUDES) 213 214include $(LLVM_ROOT_PATH)/llvm-device-build.mk 215include $(BUILD_EXECUTABLE) 216endif 217