blob: 341f6f10d051c7cd3d092a018203f6c0c729e16a [file] [log] [blame]
The Android Open Source Project34d6eab2009-03-03 19:30:45 -08001# Copyright 2006 The Android Open Source Project
2
The Android Open Source Project34d6eab2009-03-03 19:30:45 -08003LOCAL_PATH := $(my-dir)
4include $(CLEAR_VARS)
5
6# From autoconf-generated Makefile
Jeff Brownf76f96e2012-03-02 16:23:23 -08007strace_SOURCES = strace.c syscall.c count.c util.c desc.c file.c ipc.c \
8 io.c ioctl.c mem.c net.c process.c bjm.c quota.c \
The Android Open Source Project34d6eab2009-03-03 19:30:45 -08009 resource.c signal.c sock.c system.c term.c time.c \
Jeff Brownf76f96e2012-03-02 16:23:23 -080010 proc.c stream.c block.c
The Android Open Source Project34d6eab2009-03-03 19:30:45 -080011
Jeff Brownf76f96e2012-03-02 16:23:23 -080012#excluded_sources = scsi.c
13
14strace_VERSION = 4.6
The Android Open Source Project34d6eab2009-03-03 19:30:45 -080015
16LOCAL_SRC_FILES:= $(strace_SOURCES)
17
18LOCAL_SHARED_LIBRARIES :=
19
Jeff Brownf76f96e2012-03-02 16:23:23 -080020LOCAL_CFLAGS := -DLINUX=1 \
21 -DGETGROUPS_T=gid_t \
22 -DHAVE_ASM_SIGCONTEXT_H=1 \
23 -DHAVE_DECL_SYS_ERRLIST=1 \
24 -DHAVE_DECL_SYS_SIGLIST=1 \
25 -DHAVE_DECL_____PTRACE_EVENT_CLONE=1 \
26 -DHAVE_DECL_____PTRACE_EVENT_FORK=1 \
27 -DHAVE_DECL_____PTRACE_EVENT_VFORK=1 \
28 -DHAVE_DECL_____PTRACE_GETEVENTMSG=1 \
29 -DHAVE_DECL_____PTRACE_GETSIGINFO=1 \
30 -DHAVE_DECL_____PTRACE_O_TRACECLONE=1 \
31 -DHAVE_DECL_____PTRACE_O_TRACEFORK=1 \
32 -DHAVE_DECL_____PTRACE_O_TRACEVFORK=1 \
33 -DHAVE_DECL_____PTRACE_SETOPTIONS=1 \
34 -DHAVE_DECL_____PTRACE_EVENT_CLONE=1 \
35 -DHAVE_DECL_____PTRACE_EVENT_CLONE=1 \
36 -DHAVE_DIRENT_H=1 \
37 -DHAVE_FORK=1 \
38 -DHAVE_GETDENTS=1 \
39 -DHAVE_IF_INDEXTONAME=1 \
40 -DHAVE_INET_NTOP=1 \
41 -DHAVE_INTTYPES_H=1 \
42 -DHAVE_LINUX_CAPABILITY_H=1 \
43 -DHAVE_LINUX_ICMP_H=1 \
44 -DHAVE_LINUX_IF_PACKET_H=1 \
45 -DHAVE_LINUX_IN6_H=1 \
46 -DHAVE_LINUX_NETLINK_H=1 \
47 -DHAVE_LINUX_UTSNAME_H=1 \
48 -DHAVE_LONG_LONG=1 \
49 -DHAVE_LONG_LONG_RLIM_T=1 \
50 -DHAVE_MEMORY_H=1 \
51 -DHAVE_NETINET_TCP_H=1 \
52 -DHAVE_NETINET_UDP_H=1 \
53 -DHAVE_POLL_H=1 \
54 -DHAVE_PRCTL=1 \
55 -DHAVE_PREAD=1 \
56 -DHAVE_SENDMSG=1 \
57 -DHAVE_SIGACTION=1 \
58 -DHAVE_SIGINFO_T=1 \
59 -DHAVE_SIG_ATOMIC_T=1 \
60 -DHAVE_STAT64=1 \
61 -DHAVE_STATFS64=1 \
62 -DHAVE_STDBOOL_H=1 \
63 -DHAVE_STDINT_H=1 \
64 -DHAVE_STDLIB_H=1 \
65 -DHAVE_STRERROR=1 \
66 -DHAVE_STRINGS_H=1 \
67 -DHAVE_STRING_H=1 \
68 -DHAVE_STRSIGNAL=1 \
69 -DHAVE_STRUCT_MSGHDR_MSG_CONTROL=1 \
70 -DHAVE_STRUCT_SIGCONTEXT \
71 -DHAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID=1 \
72 -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 \
73 -DHAVE_STRUCT_STAT_ST_BLOCKS=1 \
74 -DHAVE_STRUCT_STAT_ST_RDEV=1 \
75 -DHAVE_STRUCT_USER_DESC=1 \
Jeff Brownf76f96e2012-03-02 16:23:23 -080076 -DHAVE_SYS_EPOLL_H=1 \
77 -DHAVE_SYS_IOCTL_H=1 \
78 -DHAVE_SYS_POLL_H=1 \
79 -DHAVE_SYS_PTRACE_H=1 \
80 -DHAVE_SYS_SIGLIST=1 \
81 -DHAVE_SYS_STAT_H=1 \
82 -DHAVE_SYS_TYPES_H=1 \
83 -DHAVE_SYS_VFS_H=1 \
84 -DHAVE_UNISTD_H=1 \
85 -DLINUX=1 \
86 -DMAJOR_IN_SYSMACROS \
87 -DPACKAGE=strace \
88 -DPACKAGE_BUGREPORT= \
89 -DPACKAGE_NAME='"strace"' \
90 -DPACKAGE_STRING='"strace $(strace_VERSION)"' \
91 -DPACKAGE_TARNAME='"strace"' \
92 -DPACKAGE_VERSION='"$(strace_VERSION)"' \
93 -DRETSIGTYPE=void \
94 -DSTDC_HEADER=1 \
95 -DVERSION='"$(strace_VERSION)"' \
96 -D_GNU_SOURCE=1 \
97 -D_POSIX_SOURCE=1 \
98 -Dfopen64=fopen \
99 -Dd_fileno=d_ino \
100 -D_LFS64_LARGEFILE=1 \
101 -D__KERNEL__=1
102
103#These are defined in AndroidConfig.h so we omit them above.
104# -DHAVE_SYS_UIO_H=1 \
105# -DHAVE_TERMIO_H=1 \
106
107
108arch := $(TARGET_ARCH)
Lorenzo Colittia0b125c2009-08-20 15:06:43 -0700109ifeq ($(TARGET_ARCH),arm)
Jeff Brownf76f96e2012-03-02 16:23:23 -0800110 LOCAL_CFLAGS += -DARM=1 -DHAVE_LITTLE_ENDIAN_LONG_LONG=1
Duane Sandf20b06e2012-05-24 14:02:25 -0700111 LOCAL_CFLAGS += -DHAVE_STRUCT___OLD_KERNEL_STAT=1
Jeff Brownf76f96e2012-03-02 16:23:23 -0800112else ifeq ($(TARGET_ARCH),x86)
113 LOCAL_CFLAGS += -DI386=1 -DHAVE_LITTLE_ENDIAN_LONG_LONG=1
Duane Sandf20b06e2012-05-24 14:02:25 -0700114 LOCAL_CFLAGS += -DHAVE_STRUCT___OLD_KERNEL_STAT=1
Jeff Brownf76f96e2012-03-02 16:23:23 -0800115 arch := i386
116else ifeq ($(TARGET_ARCH),sh)
117 LOCAL_CFLAGS += -DSH=1 -DHAVE_LITTLE_ENDIAN_LONG_LONG=1
Duane Sandf20b06e2012-05-24 14:02:25 -0700118 LOCAL_CFLAGS += -DHAVE_STRUCT___OLD_KERNEL_STAT=1
Jeff Brownf76f96e2012-03-02 16:23:23 -0800119else ifeq ($(TARGET_ARCH),mips)
120 LOCAL_CFLAGS += -DMIPS=1 -DHAVE_LITTLE_ENDIAN_LONG_LONG=1
Duane Sandf20b06e2012-05-24 14:02:25 -0700121# Mips does not use STRUCT__OLD_KERNEL_STAT type
Lorenzo Colittia0b125c2009-08-20 15:06:43 -0700122endif
123
Jeff Brownf76f96e2012-03-02 16:23:23 -0800124LOCAL_CFLAGS += -Wno-missing-field-initializers
125
The Android Open Source Project34d6eab2009-03-03 19:30:45 -0800126LOCAL_C_INCLUDES := \
The Android Open Source Project34d6eab2009-03-03 19:30:45 -0800127 $(KERNEL_HEADERS) \
Chris Dearman2f063cf2013-10-05 00:35:27 -0700128 $(LOCAL_PATH)/linux/$(arch) \
129 $(LOCAL_PATH)/linux
The Android Open Source Project34d6eab2009-03-03 19:30:45 -0800130
131LOCAL_MODULE := strace
132
133LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
134
135LOCAL_MODULE_TAGS := debug
136
137include $(BUILD_EXECUTABLE)