265e58989d
sysdecode_ioctlname() function. This function matches the behavior of the truss variant in that it returns a pointer to a string description for known ioctls. The caller is responsible for displaying unknown ioctl requests. For kdump this meant moving the logic to handle unknown ioctl requests out of the generated function and into an ioctlname() function in kdump.c instead. Differential Revision: https://reviews.freebsd.org/D4610
63 lines
1.8 KiB
Makefile
63 lines
1.8 KiB
Makefile
# $FreeBSD$
|
|
|
|
NO_WERROR=
|
|
PROG= truss
|
|
SRCS= cloudabi.c main.c setup.c syscalls.c
|
|
|
|
LIBADD= sysdecode
|
|
|
|
CFLAGS+= -I${.CURDIR} -I. -I${.CURDIR}/../../sys
|
|
|
|
# Define where to generate syscalls for each ABI.
|
|
ABI_SYSPATH.freebsd= sys/kern
|
|
ABI_SYSPATH.freebsd32= sys/compat/freebsd32
|
|
ABI_SYSPATH.cloudabi64= sys/compat/cloudabi64
|
|
ABI_SYSPATH.i386-linux= sys/i386/linux
|
|
ABI_SYSPATH.amd64-linux32= sys/amd64/linux32
|
|
|
|
ABIS+= freebsd
|
|
# Each ABI is expected to have an ABI.c, MACHINE_ARCH-ABI.c or
|
|
# MACHINE_CPUARCH-ABI.c file that will be used to map the syscall arguments.
|
|
.if ${MACHINE_ARCH} == "aarch64"
|
|
ABIS+= cloudabi64
|
|
.endif
|
|
.if ${MACHINE_CPUARCH} == "i386"
|
|
ABIS+= i386-linux
|
|
.endif
|
|
.if ${MACHINE_CPUARCH} == "amd64"
|
|
ABIS+= amd64-linux32
|
|
ABIS+= freebsd32
|
|
ABIS+= cloudabi64
|
|
.endif
|
|
.if ${MACHINE_ARCH} == "powerpc64"
|
|
ABIS+= freebsd32
|
|
.endif
|
|
|
|
.for abi in ${ABIS}
|
|
# Find the right file to handle this ABI.
|
|
abi_src=
|
|
ABI_SRCS= ${abi}.c ${MACHINE_ARCH}-${abi}.c ${MACHINE_CPUARCH}-${abi}.c
|
|
.for f in ${ABI_SRCS}
|
|
.if exists(${.CURDIR}/${f}) && empty(abi_src)
|
|
abi_src= ${f}
|
|
.endif
|
|
.endfor
|
|
SRCS:= ${SRCS} ${abi_src} ${abi}_syscalls.h
|
|
CLEANFILES+= ${abi}_syscalls.conf ${abi}_syscalls.master ${abi}_syscalls.h
|
|
${abi}_syscalls.conf: ${.CURDIR}/makesyscallsconf.sh
|
|
/bin/sh ${.CURDIR}/makesyscallsconf.sh ${abi} ${.TARGET}
|
|
|
|
${abi}_syscalls.master: ${.CURDIR:H:H}/${ABI_SYSPATH.${abi}}/syscalls.master
|
|
cp -f ${.ALLSRC} ${.TARGET}
|
|
|
|
${abi}_syscalls.h: ${abi}_syscalls.master ${abi}_syscalls.conf \
|
|
${.CURDIR:H:H}/sys/kern/makesyscalls.sh
|
|
/bin/sh ${.CURDIR:H:H}/sys/kern/makesyscalls.sh \
|
|
${abi}_syscalls.master ${abi}_syscalls.conf
|
|
# Eliminate compiler warning about non-static global.
|
|
sed -i '' '/^const char \*/s/^/static /' ${.TARGET}.tmp
|
|
mv ${.TARGET}.tmp ${.TARGET}
|
|
.endfor
|
|
|
|
.include <bsd.prog.mk>
|