| # |
| # Copyright (C) 2014 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # If you actually want to use ltrace, let android-bionic@ know. |
| # One of its dependencies (libelf) won't build with clang, |
| # and we want to know whether anyone actually cares... |
| ifeq (true,false) |
| |
| LOCAL_PATH := $(call my-dir) |
| |
| # ------------------------------------------------------------------------- |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_SRC_FILES := \ |
| bits.c \ |
| breakpoints.c \ |
| debug.c \ |
| demangle.c \ |
| dict.c \ |
| execute_program.c \ |
| expr.c \ |
| fetch.c \ |
| filter.c \ |
| glob.c \ |
| handle_event.c \ |
| lens.c \ |
| lens_default.c \ |
| lens_enum.c \ |
| libltrace.c \ |
| library.c \ |
| ltrace-elf.c \ |
| main.c \ |
| memstream.c \ |
| options.c \ |
| output.c \ |
| param.c \ |
| printf.c \ |
| proc.c \ |
| prototype.c \ |
| read_config_file.c \ |
| summary.c \ |
| type.c \ |
| value.c \ |
| value_dict.c \ |
| vect.c \ |
| zero.c \ |
| sysdeps/linux-gnu/breakpoint.c \ |
| sysdeps/linux-gnu/events.c \ |
| sysdeps/linux-gnu/hooks.c \ |
| sysdeps/linux-gnu/proc.c \ |
| sysdeps/linux-gnu/trace.c \ |
| |
| LOCAL_C_INCLUDES := \ |
| $(LOCAL_PATH)/ \ |
| $(LOCAL_PATH)/sysdeps/ \ |
| $(LOCAL_PATH)/sysdeps/linux-gnu \ |
| |
| arm_path := sysdeps/linux-gnu/arm |
| LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/$(arm_path) |
| LOCAL_SRC_FILES_arm := \ |
| $(arm_path)/breakpoint.c \ |
| $(arm_path)/fetch.c \ |
| $(arm_path)/plt.c \ |
| $(arm_path)/regs.c \ |
| $(arm_path)/trace.c \ |
| |
| arm64_path := sysdeps/linux-gnu/aarch64 |
| LOCAL_C_INCLUDES_arm64 := $(LOCAL_PATH)/$(arm64_path) |
| LOCAL_SRC_FILES_arm64 := \ |
| $(arm64_path)/fetch.c \ |
| $(arm64_path)/plt.c \ |
| $(arm64_path)/regs.c \ |
| $(arm64_path)/trace.c \ |
| |
| mips_path := sysdeps/linux-gnu/mips |
| LOCAL_C_INCLUDES_mips := $(LOCAL_PATH)/$(mips_path) |
| LOCAL_SRC_FILES_mips := \ |
| $(mips_path)/plt.c \ |
| $(mips_path)/regs.c \ |
| $(mips_path)/trace.c \ |
| |
| x86_path := sysdeps/linux-gnu/x86 |
| LOCAL_C_INCLUDES_x86 := $(LOCAL_PATH)/$(x86_path) |
| LOCAL_SRC_FILES_x86 := \ |
| $(x86_path)/fetch.c \ |
| $(x86_path)/plt.c \ |
| $(x86_path)/regs.c \ |
| $(x86_path)/trace.c \ |
| |
| # x86_64 uses the same source as x86. |
| LOCAL_C_INCLUDES_x86_64 := $(LOCAL_C_INCLUDES_x86) |
| LOCAL_SRC_FILES_x86_64 := $(LOCAL_SRC_FILES_x86) |
| |
| LOCAL_CFLAGS += \ |
| -DELF_HASH_TAKES_CHARP=1 \ |
| -DHAVE_ALARM=1 \ |
| -DHAVE_ATEXIT=1 \ |
| -DHAVE_DLFCN_H=1 \ |
| -DHAVE_ELF_C_READ_MMAP=1 \ |
| -DHAVE_ELF_H=1 \ |
| -DHAVE_FCNTL_H=1 \ |
| -DHAVE_FORK=1 \ |
| -DHAVE_GELF_H=1 \ |
| -DHAVE_GETOPT_LONG=1 \ |
| -DHAVE_GETTIMEOFDAY=1 \ |
| -DHAVE_INTTYPES_H=1 \ |
| -DHAVE_LIBELF=1 \ |
| -DHAVE_LIBSELINUX=1 \ |
| -DHAVE_LIBSTDC__=1 \ |
| -DHAVE_LIBUNWIND=1 \ |
| -DHAVE_LIBUNWIND_PTRACE=1 \ |
| -DHAVE_LIMITS_H=1 \ |
| -DHAVE_MEMORY_H=1 \ |
| -DHAVE_MEMSET=1 \ |
| -DHAVE_OPEN_MEMSTREAM=1 \ |
| -DHAVE_SELINUX_SELINUX_H=1 \ |
| -DHAVE_STDDEF_H=1 \ |
| -DHAVE_STDINT_H=1 \ |
| -DHAVE_STDLIB_H=1 \ |
| -DHAVE_STRCHR=1 \ |
| -DHAVE_STRDUP=1 \ |
| -DHAVE_STRERROR=1 \ |
| -DHAVE_STRINGS_H=1 \ |
| -DHAVE_STRING_H=1 \ |
| -DHAVE_STRSIGNAL=1 \ |
| -DHAVE_STRTOL=1 \ |
| -DHAVE_STRTOUL=1 \ |
| -DHAVE_SYS_IOCTL_H=1 \ |
| -DHAVE_SYS_PARAM_H=1 \ |
| -DHAVE_SYS_STAT_H=1 \ |
| -DHAVE_SYS_TIME_H=1 \ |
| -DHAVE_SYS_TYPES_H=1 \ |
| -DHAVE_UNISTD_H=1 \ |
| -DHAVE_UNWINDER=1 \ |
| -DHAVE_VFORK=1 \ |
| -DHAVE_WORKING_FORK=1 \ |
| -DHAVE_WORKING_VFORK=1 \ |
| -DLT_OBJDIR='".libs"' \ |
| -DPACKAGE='"ltrace"' \ |
| -DPACKAGE_BUGREPORT='"[email protected]"' \ |
| -DPACKAGE_NAME='"ltrace"' \ |
| -DPACKAGE_STRING='"ltrace 0.7.91"' \ |
| -DPACKAGE_TARNAME='"ltrace"' \ |
| -DPACKAGE_URL='"http://ltrace.alioth.debian.org/"' \ |
| -DPACKAGE_VERSION='"0.7.91"' \ |
| -DVERSION='"0.7.91"' \ |
| -D_FILE_OFFSET_BITS=64 \ |
| -D_LARGE_FILES=1 \ |
| -DPKGDATADIR=NULL \ |
| -DSYSCONFDIR='"/etc/"' \ |
| -Drindex=strrchr \ |
| |
| LOCAL_CFLAGS_32 += -DSIZEOF_LONG=4 |
| LOCAL_CFLAGS_64 += -DSIZEOF_LONG=8 |
| |
| LOCAL_CFLAGS += \ |
| -Wall \ |
| -Wno-missing-field-initializers \ |
| -Wno-unused-parameter \ |
| -Wno-sign-compare \ |
| |
| LOCAL_STATIC_LIBRARIES := libelf |
| |
| LOCAL_SHARED_LIBRARIES := \ |
| libcutils \ |
| libselinux \ |
| libunwind \ |
| |
| LOCAL_MODULE := ltrace |
| |
| LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) |
| |
| LOCAL_MODULE_TAGS := debug |
| |
| LOCAL_MODULE_TARGET_ARCH := arm arm64 x86 x86_64 |
| |
| LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk |
| |
| include $(BUILD_EXECUTABLE) |
| |
| endif |