The Android Open Source Project | 34d6eab | 2009-03-03 19:30:45 -0800 | [diff] [blame] | 1 | # Copyright 2006 The Android Open Source Project |
| 2 | |
The Android Open Source Project | 34d6eab | 2009-03-03 19:30:45 -0800 | [diff] [blame] | 3 | LOCAL_PATH := $(my-dir) |
| 4 | include $(CLEAR_VARS) |
| 5 | |
| 6 | # From autoconf-generated Makefile |
| 7 | strace_SOURCES = strace.c syscall.c util.c desc.c file.c \ |
| 8 | io.c ioctl.c mem.c net.c process.c bjm.c \ |
| 9 | resource.c signal.c sock.c system.c term.c time.c \ |
| 10 | proc.c stream.c |
| 11 | |
| 12 | #excluded_sources = ipc.c |
| 13 | |
| 14 | LOCAL_SRC_FILES:= $(strace_SOURCES) |
| 15 | |
| 16 | LOCAL_SHARED_LIBRARIES := |
| 17 | |
Lorenzo Colitti | a0b125c | 2009-08-20 15:06:43 -0700 | [diff] [blame] | 18 | # Hack for ARM devices. This version of strace does not support ARM, and the |
| 19 | # patch that was used to add ARM support actually adds the ARM syscalls to |
| 20 | # linux/sh/ (Sega Megadrive/Dreamcast/...) instead of linux/arm/ . The proper |
| 21 | # way to fix this would be to upgrade to a version of strace that does support |
| 22 | # ARM (e.g. 4.5.1.8), but that would mean having to reapply all Android-specific |
| 23 | # changes. Sigh. |
| 24 | ifeq ($(TARGET_ARCH),arm) |
Tony SIM | ed9483a | 2010-04-15 15:35:52 +0900 | [diff] [blame] | 25 | STRACE_ARCH_HEADERS := $(LOCAL_PATH)/strace/linux/sh |
| 26 | else |
| 27 | STRACE_ARCH_HEADERS := $(LOCAL_PATH)/strace/linux/$(TARGET_ARCH) |
Lorenzo Colitti | a0b125c | 2009-08-20 15:06:43 -0700 | [diff] [blame] | 28 | endif |
| 29 | |
The Android Open Source Project | 34d6eab | 2009-03-03 19:30:45 -0800 | [diff] [blame] | 30 | LOCAL_C_INCLUDES := \ |
Tony SIM | ed9483a | 2010-04-15 15:35:52 +0900 | [diff] [blame] | 31 | $(STRACE_ARCH_HEADERS) \ |
The Android Open Source Project | 34d6eab | 2009-03-03 19:30:45 -0800 | [diff] [blame] | 32 | $(KERNEL_HEADERS) \ |
| 33 | $(LOCAL_PATH)/linux \ |
| 34 | $(LOCAL_PATH)/android/arch/$(TARGET_ARCH) |
| 35 | |
| 36 | LOCAL_CFLAGS := -DHAVE_CONFIG_H -Dd_fileno=d_ino -D_LFS64_LARGEFILE=1 |
| 37 | |
| 38 | ifeq ($(TARGET_ARCH),x86) |
| 39 | LOCAL_CFLAGS += -Ulinux |
| 40 | endif |
| 41 | |
| 42 | LOCAL_MODULE := strace |
| 43 | |
| 44 | LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) |
| 45 | |
| 46 | LOCAL_MODULE_TAGS := debug |
| 47 | |
| 48 | include $(BUILD_EXECUTABLE) |