• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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