freebsd-skq/usr.bin/truss/Makefile
John Baldwin 9a55503ec1 Teach truss about 32-bit FreeBSD and Linux binaries on amd64. Some
additional work is needed to handle ABI-specific syscall argument parsing,
but this gets the basic tracing working.

MFC after:	1 week
2008-05-16 15:34:06 +00:00

58 lines
1.6 KiB
Makefile

# $FreeBSD$
WARNS?= 6
NO_WERROR=
PROG= truss
SRCS= main.c setup.c syscalls.c syscalls.h ioctl.c ${MACHINE_ARCH}-fbsd.c
CFLAGS+= -I${.CURDIR} -I.
CLEANFILES= syscalls.master syscalls.h ioctl.c
.SUFFIXES: .master
syscalls.master: ${.CURDIR}/../../sys/kern/syscalls.master
cat ${.ALLSRC} > syscalls.master
syscalls.h: syscalls.master
/bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh syscalls.master \
${.CURDIR}/i386.conf
ioctl.c: ${.CURDIR}/../kdump/mkioctls
sh ${.CURDIR}/../kdump/mkioctls ${DESTDIR}/usr/include > ${.TARGET}
.if ${MACHINE_ARCH} == "i386"
SRCS+= i386-linux.c linux_syscalls.h
CLEANFILES+=i386l-syscalls.master linux_syscalls.h
i386l-syscalls.master: ${.CURDIR}/../../sys/i386/linux/syscalls.master
cat ${.ALLSRC} > ${.TARGET}
linux_syscalls.h: i386l-syscalls.master
/bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh ${.ALLSRC} \
${.CURDIR}/i386linux.conf
.endif
.if ${MACHINE_ARCH} == "amd64"
SRCS+= amd64-linux32.c linux32_syscalls.h
CLEANFILES+=amd64l32-syscalls.master linux32_syscalls.h
amd64l32-syscalls.master: ${.CURDIR}/../../sys/amd64/linux32/syscalls.master
cat ${.ALLSRC} > ${.TARGET}
linux32_syscalls.h: amd64l32-syscalls.master
/bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh ${.ALLSRC} \
${.CURDIR}/amd64linux32.conf
SRCS+= amd64-fbsd32.c freebsd32_syscalls.h
CLEANFILES+=fbsd32-syscalls.master freebsd32_syscalls.h
fbsd32-syscalls.master: ${.CURDIR}/../../sys/compat/freebsd32/syscalls.master
cat ${.ALLSRC} > ${.TARGET}
freebsd32_syscalls.h: fbsd32-syscalls.master
/bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh ${.ALLSRC} \
${.CURDIR}/fbsd32.conf
.endif
.include <bsd.prog.mk>