Android.mk revision 51505679672392bcbfb4a7d844a0131f8461aec4
1858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes#
2858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# Copyright (C) 2006 The Android Open Source Project
3858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes#
4858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# Licensed under the Apache License, Version 2.0 (the "License");
5858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# you may not use this file except in compliance with the License.
6858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# You may obtain a copy of the License at
7858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes#
8858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes#      http://www.apache.org/licenses/LICENSE-2.0
9858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes#
10858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# Unless required by applicable law or agreed to in writing, software
11858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# distributed under the License is distributed on an "AS IS" BASIS,
12858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# See the License for the specific language governing permissions and
14858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes# limitations under the License.
15858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes#
16858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes
17858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott HughesLOCAL_PATH := $(call my-dir)
187c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
197c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes# -------------------------------------------------------------------------
207c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
2134d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Projectinclude $(CLEAR_VARS)
2234d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
2315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughesstrace_version := $(shell grep Version $(LOCAL_PATH)/strace.spec | cut -d " " -f 2)
24bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes
25bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott HughesLOCAL_SRC_FILES := \
265dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    aio.c \
27bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    bjm.c \
28bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    block.c \
29bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    count.c \
30bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    desc.c \
315dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    fanotify.c \
32bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    file.c \
335dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    inotify.c \
34bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    io.c \
35bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    ioctl.c \
365dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    ioprio.c \
37bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    ipc.c \
385dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    kexec.c \
395dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    keyctl.c \
4051505679672392bcbfb4a7d844a0131f8461aec4Elliott Hughes    ldt.c \
41bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    loop.c \
42bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    mem.c \
43bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    mtd.c \
44bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    net.c \
45bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    pathtrace.c \
46bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    process.c \
475dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    ptp.c \
48bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    quota.c \
495dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    reboot.c \
50bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    resource.c \
515dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    scsi.c \
52bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    signal.c \
53bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    sock.c \
54bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    strace.c \
55bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    stream.c \
56bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    syscall.c \
57bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    system.c \
58bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    term.c \
59bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    time.c \
60bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    util.c \
615dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    vsprintf.c \
6234d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
6334d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source ProjectLOCAL_SHARED_LIBRARIES :=
6434d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
6515fc6a2add5cc636435b120075d2c27637528b11Elliott HughesLOCAL_CFLAGS := \
6615fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DGETGROUPS_T=gid_t \
6715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_ASM_SIGCONTEXT_H=1 \
6815fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_EVENT_FORK=1 \
6915fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_EVENT_VFORK=1 \
7015fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_EVENT_CLONE=1 \
7115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_EVENT_EXEC=1 \
7215fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_EVENT_VFORK_DONE=1 \
7315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_EVENT_EXIT=1 \
7415fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_GETEVENTMSG=1 \
7515fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_GETSIGINFO=1 \
7615fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_O_TRACECLONE=1 \
7715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_O_TRACEEXEC=1 \
7815fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_O_TRACEEXIT=1 \
7915fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_O_TRACEFORK=1 \
8015fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_O_TRACESYSGOOD=1 \
8115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_O_TRACEVFORK=1 \
8215fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_PTRACE_SETOPTIONS=1 \
8315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -UHAVE_DECL_IO_CMD_PWRITE \
8415fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -UHAVE_DECL_IO_CMD_PWRITEV \
8515fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -UHAVE_DECL_LO_FLAGS_AUTOCLEAR \
8615fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -UHAVE_DECL_LO_FLAGS_PARTSCAN \
8715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_DECL_SYS_ERRLIST=1 \
88a7f55554b4b89cbab21a693c223c1a39641932ecElliott Hughes    -DHAVE_ELF_H=1 \
8915fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_FORK=1 \
9015fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_IF_INDEXTONAME=1 \
9115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_INET_NTOP=1 \
9215fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LINUX_CAPABILITY_H=1 \
9315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LINUX_ICMP_H=1 \
9415fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LINUX_IF_PACKET_H=1 \
9515fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LINUX_IN6_H=1 \
9615fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LINUX_NETLINK_H=1 \
9715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LITTLE_ENDIAN_LONG_LONG=1 \
9815fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_LONG_LONG=1 \
9915fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_NETINET_TCP_H=1 \
10015fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_NETINET_UDP_H=1 \
10115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_POLL_H=1 \
10215fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_PRCTL=1 \
10315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SENDMSG=1 \
10415fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SIGACTION=1 \
10515fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SIGINFO_T=1 \
10615fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SIG_ATOMIC_T=1 \
10715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STATFS64=1 \
10815fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STDBOOL_H=1 \
10915fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRERROR=1 \
1105dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    -DHAVE_STRUCT_FLOCK64=1 \
11115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_MSGHDR_MSG_CONTROL=1 \
11215fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_SIGCONTEXT \
11315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID=1 \
11415fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_STAT_ST_BLKSIZE=1 \
11515fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_STAT_ST_BLOCKS=1 \
11615fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_STAT_ST_RDEV=1 \
11715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_STRUCT_USER_DESC=1 \
11815fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SYS_EPOLL_H=1 \
11915fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SYS_IOCTL_H=1 \
12015fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SYS_POLL_H=1 \
12115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SYS_REG_H=1 \
12215fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DHAVE_SYS_VFS_H=1 \
12315fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DMAJOR_IN_SYSMACROS \
12415fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DPACKAGE_NAME='"strace"' \
12515fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DVERSION='"$(strace_version)"' \
126556f9aede01e3512b96efe452d3488f88065a3f2Elliott Hughes    -DSIZEOF_OFF_T=SIZEOF_LONG \
12715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DSIZEOF_LONG_LONG=8 \
12815fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -DSTDC_HEADERS=1 \
1295dec78d0c2663930cd1bbcecbbcee47f68bc52f3Elliott Hughes    -DSTRACE_KNOWS_ONLY_EABI=1 \
13015fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    -D_LFS64_LARGEFILE=1 \
13115fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes
13215fc6a2add5cc636435b120075d2c27637528b11Elliott HughesLOCAL_CFLAGS += -D_GNU_SOURCE=1 -D_POSIX_SOURCE=1
133bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes
1344ce18c8914f3c2b501abeae4c68bfad667a3fcc0Elliott HughesLOCAL_CFLAGS_32 += -DSIZEOF_LONG=4 -DSIZEOF_RLIM_T=4 -DHAVE_STAT64=1
135d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_64 += -DSIZEOF_LONG=8 -DSIZEOF_RLIM_T=8
136d6b039cc23d8da969290924a9379cbe10633c292Colin Cross
137d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_arm += -DARM=1
138d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_arm += -DHAVE_STRUCT___OLD_KERNEL_STAT=1
139d6b039cc23d8da969290924a9379cbe10633c292Colin Cross
140d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_arm64 += -DAARCH64=1
141d6b039cc23d8da969290924a9379cbe10633c292Colin Cross
142d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_mips += -DMIPS=1
143d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_mips += -DHAVE_ASM_SYSMIPS_H=1
144d6b039cc23d8da969290924a9379cbe10633c292Colin Cross
145d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_x86 += -DI386=1
146d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_CFLAGS_x86 += -DHAVE_STRUCT___OLD_KERNEL_STAT=1
147d6b039cc23d8da969290924a9379cbe10633c292Colin Cross
1484ce18c8914f3c2b501abeae4c68bfad667a3fcc0Elliott HughesLOCAL_CFLAGS_x86_64 += -DX86_64=1
149a0b125c9afa56cc094f215fba1501aed5bbf9b66Lorenzo Colitti
150bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott HughesLOCAL_CFLAGS += \
15110bd42d0e743697d1b541eac35d7889f17d70ca6Elliott Hughes    -Wall \
152bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    -Wno-missing-field-initializers \
153bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    -Wno-unused-parameter \
154bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes    -Wno-sign-compare \
155f76f96e20f766e6bb91593885b1e800f8bc14a52Jeff Brown
15634d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source ProjectLOCAL_C_INCLUDES := \
15715fc6a2add5cc636435b120075d2c27637528b11Elliott Hughes    $(LOCAL_PATH)/linux
15834d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
159d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/linux/arm
160d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_C_INCLUDES_arm64 := $(LOCAL_PATH)/linux/aarch64
161d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_C_INCLUDES_mips := $(LOCAL_PATH)/linux/mips
162d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_C_INCLUDES_x86 := $(LOCAL_PATH)/linux/i386
163d6b039cc23d8da969290924a9379cbe10633c292Colin CrossLOCAL_C_INCLUDES_x86_64 := $(LOCAL_PATH)/linux/x86_64
164d6b039cc23d8da969290924a9379cbe10633c292Colin Cross
16534d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source ProjectLOCAL_MODULE := strace
16634d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
16734d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source ProjectLOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
16834d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
16934d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source ProjectLOCAL_MODULE_TAGS := debug
17034d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Project
171bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott HughesLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
172bb0c2d52fc596f5e21652486c0b6a0b3e3b7e4cbElliott Hughes
17334d6eabc451f16d5f168fc1595ee604f21bccc51The Android Open Source Projectinclude $(BUILD_EXECUTABLE)
1747c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
175858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughes
1767c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes# -------------------------------------------------------------------------
1777c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
1787c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes.PHONY: update-ioctls
1797c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughesupdate-ioctls:
1807c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	# Build the generated .h files needed by ioctlsort from the current bionic uapi headers.
1817c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	cd external/strace; ./linux/ioctlent.sh ../../bionic/libc/kernel/uapi/
1827c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	# Build the ioctlsort tool.
1837c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	ONE_SHOT_MAKEFILE=external/strace/Android.mk make -f build/core/main.mk $(TARGET_OUT_EXECUTABLES)/ioctlsort
1847c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	# Remove the generated .h files now we've built ioctlsort.
1857c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	rm external/strace/ioctls.h external/strace/ioctldefs.h
1867c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	# Run the ioctlsort tool on the target to generate the one file we do want to check in.
1877c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	adb sync
1887c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	adb shell ioctlsort | tr -d '\r' > external/strace/linux/ioctlent.h
1897c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	# Rebuild strace with the new "ioctlent.h".
1907c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes	ONE_SHOT_MAKEFILE=external/strace/Android.mk make -f build/core/main.mk
1917c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
1927c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes# We don't build ioctlsort unless really necessary, because we don't check
1937c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes# in the temporary files needed to build it. This tool is only necessary
1947c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes# when updating strace's list of ioctls.
1957c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughesifneq (,$(filter ioctlsort,$(MAKECMDGOALS)))
1967c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughesinclude $(CLEAR_VARS)
1977c5383286e1ab88ef2b871ca02286fcddc232734Elliott HughesLOCAL_SRC_FILES := linux/ioctlsort.c
1987c5383286e1ab88ef2b871ca02286fcddc232734Elliott HughesLOCAL_CFLAGS += -include asm/types.h -include linux/ashmem.h
1997c5383286e1ab88ef2b871ca02286fcddc232734Elliott HughesLOCAL_CFLAGS += -Wno-unused-parameter
2007c5383286e1ab88ef2b871ca02286fcddc232734Elliott HughesLOCAL_MODULE := ioctlsort
2017c5383286e1ab88ef2b871ca02286fcddc232734Elliott HughesLOCAL_MODULE_TAGS := optional
2027c5383286e1ab88ef2b871ca02286fcddc232734Elliott HughesLOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
2037c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughesinclude $(BUILD_EXECUTABLE)
2047c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughesendif
2057c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
2067c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes# -------------------------------------------------------------------------
2077c5383286e1ab88ef2b871ca02286fcddc232734Elliott Hughes
208858a5c77bfa0aef527442d66432ab217b2e9beb8Elliott Hughesinclude $(LOCAL_PATH)/test/Android.mk
209