blob: d93784eadfdbf930f8ed7a13275059c2e159584b [file] [log] [blame]
Mohamad Ayyash10316142014-04-04 13:23:15 -07001#
2# Copyright (C) 2014 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
19# -------------------------------------------------------------------------
20
21include $(CLEAR_VARS)
22
23LOCAL_SRC_FILES := \
24 bits.c \
25 breakpoints.c \
26 debug.c \
27 demangle.c \
28 dict.c \
29 execute_program.c \
30 expr.c \
31 fetch.c \
32 filter.c \
33 glob.c \
34 handle_event.c \
35 lens.c \
36 lens_default.c \
37 lens_enum.c \
38 libltrace.c \
39 library.c \
40 ltrace-elf.c \
41 main.c \
42 memstream.c \
43 options.c \
44 output.c \
45 param.c \
46 printf.c \
47 proc.c \
48 prototype.c \
49 read_config_file.c \
50 summary.c \
51 type.c \
52 value.c \
53 value_dict.c \
54 vect.c \
55 zero.c \
56 sysdeps/linux-gnu/breakpoint.c \
57 sysdeps/linux-gnu/events.c \
58 sysdeps/linux-gnu/hooks.c \
59 sysdeps/linux-gnu/proc.c \
60 sysdeps/linux-gnu/trace.c \
61
62LOCAL_C_INCLUDES := \
63 $(LOCAL_PATH)/ \
64 $(LOCAL_PATH)/sysdeps/ \
65 $(LOCAL_PATH)/sysdeps/linux-gnu \
66 external/elfutils \
67 external/elfutils/0.153/libelf \
68 external/libunwind/include \
69
70arm_path := sysdeps/linux-gnu/arm
71LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/$(arm_path)
72LOCAL_SRC_FILES_arm := \
73 $(arm_path)/breakpoint.c \
74 $(arm_path)/fetch.c \
75 $(arm_path)/plt.c \
76 $(arm_path)/regs.c \
77 $(arm_path)/trace.c \
78
79arm64_path := sysdeps/linux-gnu/aarch64
80LOCAL_C_INCLUDES_arm64 := $(LOCAL_PATH)/$(arm64_path)
81LOCAL_SRC_FILES_arm64 := \
82 $(arm64_path)/fetch.c \
83 $(arm64_path)/plt.c \
84 $(arm64_path)/regs.c \
85 $(arm64_path)/trace.c \
86
87mips_path := sysdeps/linux-gnu/mips
88LOCAL_C_INCLUDES_mips := $(LOCAL_PATH)/$(mips_path)
89LOCAL_SRC_FILES_mips := \
90 $(mips_path)/plt.c \
91 $(mips_path)/regs.c \
92 $(mips_path)/trace.c \
93
94x86_path := sysdeps/linux-gnu/x86
95LOCAL_C_INCLUDES_x86 := $(LOCAL_PATH)/$(x86_path)
96LOCAL_SRC_FILES_x86 := \
97 $(x86_path)/fetch.c \
98 $(x86_path)/plt.c \
99 $(x86_path)/regs.c \
100 $(x86_path)/trace.c \
101
Elliott Hughes82ae1842014-04-09 16:38:06 -0700102# x86_64 uses the same source as x86.
103LOCAL_C_INCLUDES_x86_64 := $(LOCAL_C_INCLUDES_x86)
104LOCAL_SRC_FILES_x86_64 := $(LOCAL_SRC_FILES_x86)
105
Mohamad Ayyash10316142014-04-04 13:23:15 -0700106LOCAL_CFLAGS := -D_GNU_SOURCE=1 -D_POSIX_SOURCE=1
107
108LOCAL_CFLAGS += \
109 -DELF_HASH_TAKES_CHARP=1 \
110 -DHAVE_ALARM=1 \
111 -DHAVE_ATEXIT=1 \
112 -DHAVE_DLFCN_H=1 \
113 -DHAVE_ELF_C_READ_MMAP=1 \
114 -DHAVE_ELF_H=1 \
115 -DHAVE_FCNTL_H=1 \
116 -DHAVE_FORK=1 \
117 -DHAVE_GELF_H=1 \
118 -DHAVE_GETOPT_LONG=1 \
119 -DHAVE_GETTIMEOFDAY=1 \
120 -DHAVE_INTTYPES_H=1 \
121 -DHAVE_LIBELF=1 \
122 -DHAVE_LIBSELINUX=1 \
123 -DHAVE_LIBSTDC__=1 \
124 -DHAVE_LIBUNWIND=1 \
125 -DHAVE_LIBUNWIND_PTRACE=1 \
126 -DHAVE_LIMITS_H=1 \
127 -DHAVE_MEMORY_H=1 \
128 -DHAVE_MEMSET=1 \
129 -DHAVE_OPEN_MEMSTREAM=1 \
130 -DHAVE_SELINUX_SELINUX_H=1 \
131 -DHAVE_STDDEF_H=1 \
132 -DHAVE_STDINT_H=1 \
133 -DHAVE_STDLIB_H=1 \
134 -DHAVE_STRCHR=1 \
135 -DHAVE_STRDUP=1 \
136 -DHAVE_STRERROR=1 \
137 -DHAVE_STRINGS_H=1 \
138 -DHAVE_STRING_H=1 \
139 -DHAVE_STRSIGNAL=1 \
140 -DHAVE_STRTOL=1 \
141 -DHAVE_STRTOUL=1 \
142 -DHAVE_SYS_IOCTL_H=1 \
143 -DHAVE_SYS_PARAM_H=1 \
144 -DHAVE_SYS_STAT_H=1 \
145 -DHAVE_SYS_TIME_H=1 \
146 -DHAVE_SYS_TYPES_H=1 \
147 -DHAVE_UNISTD_H=1 \
148 -DHAVE_UNWINDER=1 \
149 -DHAVE_VFORK=1 \
150 -DHAVE_WORKING_FORK=1 \
151 -DHAVE_WORKING_VFORK=1 \
152 -DLT_OBJDIR='".libs"' \
153 -DPACKAGE='"ltrace"' \
154 -DPACKAGE_BUGREPORT='"ltrace-devel@lists.alioth.debian.org"' \
155 -DPACKAGE_NAME='"ltrace"' \
156 -DPACKAGE_STRING='"ltrace 0.7.91"' \
157 -DPACKAGE_TARNAME='"ltrace"' \
158 -DPACKAGE_URL='"http://ltrace.alioth.debian.org/"' \
159 -DPACKAGE_VERSION='"0.7.91"' \
160 -DVERSION='"0.7.91"' \
161 -D_FILE_OFFSET_BITS=64 \
162 -D_LARGE_FILES=1 \
163 -DPKGDATADIR=NULL \
164 -DSYSCONFDIR='"/etc/"' \
165 -Drindex=strrchr \
166
167LOCAL_CFLAGS_32 += -DSIZEOF_LONG=4
168LOCAL_CFLAGS_64 += -DSIZEOF_LONG=8
169
170LOCAL_CFLAGS += \
171 -Wall \
172 -Wno-missing-field-initializers \
173 -Wno-unused-parameter \
174 -Wno-sign-compare \
175
176LOCAL_STATIC_LIBRARIES := libelf
177
178LOCAL_SHARED_LIBRARIES := \
179 libcutils \
180 libgccdemangle \
181 libselinux \
182 libunwind \
183 libunwind-ptrace \
184
185LOCAL_MODULE := ltrace
186
187LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
188
189LOCAL_MODULE_TAGS := debug
190
Elliott Hughes82ae1842014-04-09 16:38:06 -0700191LOCAL_MODULE_TARGET_ARCH := arm arm64 x86 x86_64
Mohamad Ayyash55720812014-04-07 18:31:23 -0700192
Mohamad Ayyash10316142014-04-04 13:23:15 -0700193LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
194
195include $(BUILD_EXECUTABLE)