1d6fb4894SJohn Baldwin.include <src.opts.mk> 2d6fb4894SJohn Baldwin 3d6fb4894SJohn BaldwinLIB= sysdecode 4d6fb4894SJohn Baldwin 59dac6096SDmitry ChaginSRCS= errno.c flags.c ioctl.c signal.c syscallnames.c utrace.c support.c 6b69ae1a3SDmitry Chagin.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 7b69ae1a3SDmitry Chagin ${MACHINE_CPUARCH} == "i386" 8b69ae1a3SDmitry ChaginSRCS+= linux.c 9b69ae1a3SDmitry Chagin.endif 10d6fb4894SJohn BaldwinINCS= sysdecode.h 11d6fb4894SJohn Baldwin 129289f547SJohn BaldwinCFLAGS+= -I${.OBJDIR} 13914108c8SEnji CooperCFLAGS+= -I${SRCTOP}/sys 14914108c8SEnji CooperCFLAGS+= -I${SRCTOP}/libexec/rtld-elf 15a5f14abfSJohn Baldwin 169289f547SJohn BaldwinMAN= sysdecode.3 \ 17287b96ddSJohn Baldwin sysdecode_abi_to_freebsd_errno.3 \ 189289f547SJohn Baldwin sysdecode_cap_rights.3 \ 19a826eb5aSMichael Tuexen sysdecode_cmsg_type.3 \ 209289f547SJohn Baldwin sysdecode_enum.3 \ 219289f547SJohn Baldwin sysdecode_fcntl_arg.3 \ 22ffb66079SJohn Baldwin sysdecode_kevent.3 \ 23265e5898SJohn Baldwin sysdecode_ioctlname.3 \ 249289f547SJohn Baldwin sysdecode_mask.3 \ 259289f547SJohn Baldwin sysdecode_quotactl_cmd.3 \ 261e6455d8SMichael Tuexen sysdecode_sctp_sinfo_flags.3 \ 279289f547SJohn Baldwin sysdecode_sigcode.3 \ 289289f547SJohn Baldwin sysdecode_sockopt_name.3 \ 29738a93a4SMichael Tuexen sysdecode_socket_protocol.3 \ 30a5f14abfSJohn Baldwin sysdecode_syscallnames.3 \ 31d6fb4894SJohn Baldwin sysdecode_utrace.3 329289f547SJohn BaldwinMLINKS= sysdecode_abi_to_freebsd_errno.3 sysdecode_freebsd_to_abi_errno.3 339289f547SJohn BaldwinMLINKS+=sysdecode_enum.3 sysdecode_acltype.3 \ 349289f547SJohn Baldwin sysdecode_enum.3 sysdecode_atfd.3 \ 359289f547SJohn Baldwin sysdecode_enum.3 sysdecode_extattrnamespace.3 \ 369289f547SJohn Baldwin sysdecode_enum.3 sysdecode_fadvice.3 \ 379289f547SJohn Baldwin sysdecode_enum.3 sysdecode_fcntl_cmd.3 \ 3848f79574SJohn Baldwin sysdecode_enum.3 sysdecode_getfsstat_mode.3 \ 39ee8aa41dSJohn Baldwin sysdecode_enum.3 sysdecode_getrusage_who.3 \ 409289f547SJohn Baldwin sysdecode_enum.3 sysdecode_idtype.3 \ 419289f547SJohn Baldwin sysdecode_enum.3 sysdecode_ipproto.3 \ 429289f547SJohn Baldwin sysdecode_enum.3 sysdecode_kldsym_cmd.3 \ 439289f547SJohn Baldwin sysdecode_enum.3 sysdecode_kldunload_flags.3 \ 449289f547SJohn Baldwin sysdecode_enum.3 sysdecode_lio_listio_mode.3 \ 459289f547SJohn Baldwin sysdecode_enum.3 sysdecode_madvice.3 \ 469289f547SJohn Baldwin sysdecode_enum.3 sysdecode_minherit_flags.3 \ 479289f547SJohn Baldwin sysdecode_enum.3 sysdecode_msgctl_cmd.3 \ 489289f547SJohn Baldwin sysdecode_enum.3 sysdecode_nfssvc_flags.3 \ 4939a3a438SJohn Baldwin sysdecode_enum.3 sysdecode_pathconf_name.3 \ 509289f547SJohn Baldwin sysdecode_enum.3 sysdecode_prio_which.3 \ 519289f547SJohn Baldwin sysdecode_enum.3 sysdecode_procctl_cmd.3 \ 529289f547SJohn Baldwin sysdecode_enum.3 sysdecode_ptrace_request.3 \ 539289f547SJohn Baldwin sysdecode_enum.3 sysdecode_rlimit.3 \ 549289f547SJohn Baldwin sysdecode_enum.3 sysdecode_rtprio_function.3 \ 559289f547SJohn Baldwin sysdecode_enum.3 sysdecode_scheduler_policy.3 \ 56a62bf68dSMichael Tuexen sysdecode_enum.3 sysdecode_sctp_pr_policy.3 \ 579289f547SJohn Baldwin sysdecode_enum.3 sysdecode_semctl_cmd.3 \ 589289f547SJohn Baldwin sysdecode_enum.3 sysdecode_shmctl_cmd.3 \ 599289f547SJohn Baldwin sysdecode_enum.3 sysdecode_shutdown_how.3 \ 609289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigbus_code.3 \ 619289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigchld_code.3 \ 629289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigfpe_code.3 \ 639289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigill_code.3 \ 649289f547SJohn Baldwin sysdecode_enum.3 sysdecode_signal.3 \ 659289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigprocmask_how.3 \ 669289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigsegv_code.3 \ 679289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigtrap_code.3 \ 689289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sockaddr_family.3 \ 699289f547SJohn Baldwin sysdecode_enum.3 sysdecode_socketdomain.3 \ 709289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sockettype.3 \ 719289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sockopt_level.3 \ 7239a3a438SJohn Baldwin sysdecode_enum.3 sysdecode_sysarch_number.3 \ 739289f547SJohn Baldwin sysdecode_enum.3 sysdecode_umtx_op.3 \ 749289f547SJohn Baldwin sysdecode_enum.3 sysdecode_vmresult.3 \ 759289f547SJohn Baldwin sysdecode_enum.3 sysdecode_whence.3 769289f547SJohn BaldwinMLINKS+=sysdecode_fcntl_arg.3 sysdecode_fcntl_arg_p.3 77ffb66079SJohn BaldwinMLINKS+=sysdecode_kevent.3 sysdecode_kevent_fflags.3 \ 78ffb66079SJohn Baldwin sysdecode_kevent.3 sysdecode_kevent_filter.3 \ 79ffb66079SJohn Baldwin sysdecode_kevent.3 sysdecode_kevent_flags.3 809289f547SJohn BaldwinMLINKS+=sysdecode_mask.3 sysdecode_accessmode.3 \ 8139a3a438SJohn Baldwin sysdecode_mask.3 sysdecode_atflags.3 \ 829289f547SJohn Baldwin sysdecode_mask.3 sysdecode_capfcntlrights.3 \ 839289f547SJohn Baldwin sysdecode_mask.3 sysdecode_fcntl_fileflags.3 \ 849289f547SJohn Baldwin sysdecode_mask.3 sysdecode_fileflags.3 \ 859289f547SJohn Baldwin sysdecode_mask.3 sysdecode_filemode.3 \ 869289f547SJohn Baldwin sysdecode_mask.3 sysdecode_flock_operation.3 \ 87*b79bd43fSMark Johnston sysdecode_mask.3 sysdecode_inotifyflags.3 \ 889289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mlockall_flags.3 \ 899289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mmap_flags.3 \ 909289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mmap_prot.3 \ 919289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mount_flags.3 \ 929289f547SJohn Baldwin sysdecode_mask.3 sysdecode_msg_flags.3 \ 939289f547SJohn Baldwin sysdecode_mask.3 sysdecode_msync_flags.3 \ 949289f547SJohn Baldwin sysdecode_mask.3 sysdecode_open_flags.3 \ 959289f547SJohn Baldwin sysdecode_mask.3 sysdecode_pipe2_flags.3 \ 96bd23e71fSKyle Evans sysdecode_mask.3 sysdecode_pollfd_events.3 \ 979289f547SJohn Baldwin sysdecode_mask.3 sysdecode_reboot_howto.3 \ 989289f547SJohn Baldwin sysdecode_mask.3 sysdecode_rfork_flags.3 \ 999289f547SJohn Baldwin sysdecode_mask.3 sysdecode_semget_flags.3 \ 1009289f547SJohn Baldwin sysdecode_mask.3 sysdecode_sendfile_flags.3 \ 1019289f547SJohn Baldwin sysdecode_mask.3 sysdecode_shmat_flags.3 \ 1020faae8b9SMichael Tuexen sysdecode_mask.3 sysdecode_sctp_nxt_flags.3 \ 1030faae8b9SMichael Tuexen sysdecode_mask.3 sysdecode_sctp_rcv_flags.3 \ 1040faae8b9SMichael Tuexen sysdecode_mask.3 sysdecode_sctp_snd_flags.3 \ 1059289f547SJohn Baldwin sysdecode_mask.3 sysdecode_socket_type.3 \ 1069289f547SJohn Baldwin sysdecode_mask.3 sysdecode_thr_create_flags.3 \ 1079289f547SJohn Baldwin sysdecode_mask.3 sysdecode_umtx_cvwait_flags.3 \ 1089289f547SJohn Baldwin sysdecode_mask.3 sysdecode_umtx_rwlock_flags.3 \ 1099289f547SJohn Baldwin sysdecode_mask.3 sysdecode_vmprot.3 \ 1109289f547SJohn Baldwin sysdecode_mask.3 sysdecode_wait4_options.3 \ 1119289f547SJohn Baldwin sysdecode_mask.3 sysdecode_wait6_options.3 112d6fb4894SJohn Baldwin 113b69ae1a3SDmitry ChaginCLEANFILES= ioctl.c ioctl.c.tmp tables.h tables_linux.h 114265e5898SJohn Baldwin 11545be5010SJessica Clarke# XXX: The flags should come from bsd.compat.mk / Makefile.libcompat 11645be5010SJessica Clarke.if ${COMPAT_LIBCOMPAT:U} == "32" 117265e5898SJohn BaldwinCPP+= -m32 118265e5898SJohn Baldwin.endif 119265e5898SJohn Baldwin 120265e5898SJohn Baldwin.if ${MK_PF} != "no" 121265e5898SJohn BaldwinCFLAGS+=-DPF 122265e5898SJohn Baldwin.endif 123265e5898SJohn Baldwin 124265e5898SJohn Baldwin# Workaround duplicate declarations in <netinet/ip_compat.h> 125265e5898SJohn BaldwinCFLAGS.gcc.ioctl.c+= -Wno-redundant-decls 126a5f14abfSJohn Baldwin 1277a9cfa08SJohn BaldwinCFLAGS.gcc+= ${CFLAGS.gcc.${.IMPSRC}} 1288d8a74e6SJohn Baldwin 129b69ae1a3SDmitry ChaginDEPENDOBJS+= tables.h tables_linux.h 130139d114aSSimon J. Gerraty.if ${MK_DIRDEPS_BUILD} == "yes" 131139d114aSSimon J. GerratyMKTABLES_INCLUDEDIR= ${STAGE_INCLUDEDIR} 132139d114aSSimon J. Gerraty.else 133139d114aSSimon J. GerratyMKTABLES_INCLUDEDIR= ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} 134139d114aSSimon J. Gerraty.endif 135dc89d069SBryan Drewerytables.h: mktables 136139d114aSSimon J. Gerraty sh ${.CURDIR}/mktables ${MKTABLES_INCLUDEDIR} ${.TARGET} 137b69ae1a3SDmitry Chagintables_linux.h: mklinuxtables 138b69ae1a3SDmitry Chagin sh ${.CURDIR}/mklinuxtables ${SRCTOP}/sys ${.TARGET} 1399289f547SJohn Baldwin 1407c6d0bb1SBryan Drewery# mkioctls runs find(1) for headers so needs to rebuild every time. This used 1417c6d0bb1SBryan Drewery# to be a hack only done in buildworld. 1427c6d0bb1SBryan Drewery.if !defined(_SKIP_BUILD) 14323ff19c6SAlex Richardsonioctl.c.tmp: .PHONY 1447c6d0bb1SBryan Drewery.endif 14523ff19c6SAlex Richardsonioctl.c.tmp: mkioctls .META 146a342f435SKristof Provost env CPP="${CPP}" MK_PF="${MK_PF}" \ 147c99b67a7SBryan Drewery /bin/sh ${.CURDIR}/mkioctls ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} > ${.TARGET} 148265e5898SJohn Baldwin 14923ff19c6SAlex Richardsonioctl.c: ioctl.c.tmp 15023ff19c6SAlex Richardson if [ ! -e ${.TARGET} ] || ! cmp -s ${.TARGET} ${.TARGET}.tmp; then \ 15123ff19c6SAlex Richardson mv -f ${.TARGET}.tmp ${.TARGET}; \ 15223ff19c6SAlex Richardson fi 15323ff19c6SAlex Richardson 154b69ae1a3SDmitry Chaginbeforedepend: ioctl.c tables.h tables_linux.h 155265e5898SJohn Baldwin 156d0f245d2SMark JohnstonHAS_TESTS= 157d0f245d2SMark JohnstonSUBDIR.${MK_TESTS}+= tests 158d0f245d2SMark Johnston 159d6fb4894SJohn Baldwin.include <bsd.lib.mk> 160