1d6fb4894SJohn Baldwin# $FreeBSD$ 2d6fb4894SJohn Baldwin 3d6fb4894SJohn Baldwin.include <src.opts.mk> 4d6fb4894SJohn Baldwin 5d6fb4894SJohn BaldwinLIB= sysdecode 6d6fb4894SJohn Baldwin 79dac6096SDmitry ChaginSRCS= errno.c flags.c ioctl.c signal.c syscallnames.c utrace.c support.c 8*b69ae1a3SDmitry Chagin.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "amd64" || \ 9*b69ae1a3SDmitry Chagin ${MACHINE_CPUARCH} == "i386" 10*b69ae1a3SDmitry ChaginSRCS+= linux.c 11*b69ae1a3SDmitry Chagin.endif 12d6fb4894SJohn BaldwinINCS= sysdecode.h 13d6fb4894SJohn Baldwin 149289f547SJohn BaldwinCFLAGS+= -I${.OBJDIR} 15914108c8SEnji CooperCFLAGS+= -I${SRCTOP}/sys 16914108c8SEnji CooperCFLAGS+= -I${SRCTOP}/libexec/rtld-elf 17a5f14abfSJohn Baldwin 189289f547SJohn BaldwinMAN= sysdecode.3 \ 19287b96ddSJohn Baldwin sysdecode_abi_to_freebsd_errno.3 \ 209289f547SJohn Baldwin sysdecode_cap_rights.3 \ 21a826eb5aSMichael Tuexen sysdecode_cmsg_type.3 \ 229289f547SJohn Baldwin sysdecode_enum.3 \ 239289f547SJohn Baldwin sysdecode_fcntl_arg.3 \ 24ffb66079SJohn Baldwin sysdecode_kevent.3 \ 25265e5898SJohn Baldwin sysdecode_ioctlname.3 \ 269289f547SJohn Baldwin sysdecode_mask.3 \ 279289f547SJohn Baldwin sysdecode_quotactl_cmd.3 \ 281e6455d8SMichael Tuexen sysdecode_sctp_sinfo_flags.3 \ 299289f547SJohn Baldwin sysdecode_sigcode.3 \ 309289f547SJohn Baldwin sysdecode_sockopt_name.3 \ 31738a93a4SMichael Tuexen sysdecode_socket_protocol.3 \ 32a5f14abfSJohn Baldwin sysdecode_syscallnames.3 \ 33d6fb4894SJohn Baldwin sysdecode_utrace.3 349289f547SJohn BaldwinMLINKS= sysdecode_abi_to_freebsd_errno.3 sysdecode_freebsd_to_abi_errno.3 359289f547SJohn BaldwinMLINKS+=sysdecode_enum.3 sysdecode_acltype.3 \ 369289f547SJohn Baldwin sysdecode_enum.3 sysdecode_atfd.3 \ 379289f547SJohn Baldwin sysdecode_enum.3 sysdecode_extattrnamespace.3 \ 389289f547SJohn Baldwin sysdecode_enum.3 sysdecode_fadvice.3 \ 399289f547SJohn Baldwin sysdecode_enum.3 sysdecode_fcntl_cmd.3 \ 4048f79574SJohn Baldwin sysdecode_enum.3 sysdecode_getfsstat_mode.3 \ 41ee8aa41dSJohn Baldwin sysdecode_enum.3 sysdecode_getrusage_who.3 \ 429289f547SJohn Baldwin sysdecode_enum.3 sysdecode_idtype.3 \ 439289f547SJohn Baldwin sysdecode_enum.3 sysdecode_ipproto.3 \ 449289f547SJohn Baldwin sysdecode_enum.3 sysdecode_kldsym_cmd.3 \ 459289f547SJohn Baldwin sysdecode_enum.3 sysdecode_kldunload_flags.3 \ 469289f547SJohn Baldwin sysdecode_enum.3 sysdecode_lio_listio_mode.3 \ 479289f547SJohn Baldwin sysdecode_enum.3 sysdecode_madvice.3 \ 489289f547SJohn Baldwin sysdecode_enum.3 sysdecode_minherit_flags.3 \ 499289f547SJohn Baldwin sysdecode_enum.3 sysdecode_msgctl_cmd.3 \ 509289f547SJohn Baldwin sysdecode_enum.3 sysdecode_nfssvc_flags.3 \ 5139a3a438SJohn Baldwin sysdecode_enum.3 sysdecode_pathconf_name.3 \ 529289f547SJohn Baldwin sysdecode_enum.3 sysdecode_prio_which.3 \ 539289f547SJohn Baldwin sysdecode_enum.3 sysdecode_procctl_cmd.3 \ 549289f547SJohn Baldwin sysdecode_enum.3 sysdecode_ptrace_request.3 \ 559289f547SJohn Baldwin sysdecode_enum.3 sysdecode_rlimit.3 \ 569289f547SJohn Baldwin sysdecode_enum.3 sysdecode_rtprio_function.3 \ 579289f547SJohn Baldwin sysdecode_enum.3 sysdecode_scheduler_policy.3 \ 58a62bf68dSMichael Tuexen sysdecode_enum.3 sysdecode_sctp_pr_policy.3 \ 599289f547SJohn Baldwin sysdecode_enum.3 sysdecode_semctl_cmd.3 \ 609289f547SJohn Baldwin sysdecode_enum.3 sysdecode_shmctl_cmd.3 \ 619289f547SJohn Baldwin sysdecode_enum.3 sysdecode_shutdown_how.3 \ 629289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigbus_code.3 \ 639289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigchld_code.3 \ 649289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigfpe_code.3 \ 659289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigill_code.3 \ 669289f547SJohn Baldwin sysdecode_enum.3 sysdecode_signal.3 \ 679289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigprocmask_how.3 \ 689289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigsegv_code.3 \ 699289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sigtrap_code.3 \ 709289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sockaddr_family.3 \ 719289f547SJohn Baldwin sysdecode_enum.3 sysdecode_socketdomain.3 \ 729289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sockettype.3 \ 739289f547SJohn Baldwin sysdecode_enum.3 sysdecode_sockopt_level.3 \ 7439a3a438SJohn Baldwin sysdecode_enum.3 sysdecode_sysarch_number.3 \ 759289f547SJohn Baldwin sysdecode_enum.3 sysdecode_umtx_op.3 \ 769289f547SJohn Baldwin sysdecode_enum.3 sysdecode_vmresult.3 \ 779289f547SJohn Baldwin sysdecode_enum.3 sysdecode_whence.3 789289f547SJohn BaldwinMLINKS+=sysdecode_fcntl_arg.3 sysdecode_fcntl_arg_p.3 79ffb66079SJohn BaldwinMLINKS+=sysdecode_kevent.3 sysdecode_kevent_fflags.3 \ 80ffb66079SJohn Baldwin sysdecode_kevent.3 sysdecode_kevent_filter.3 \ 81ffb66079SJohn Baldwin sysdecode_kevent.3 sysdecode_kevent_flags.3 829289f547SJohn BaldwinMLINKS+=sysdecode_mask.3 sysdecode_accessmode.3 \ 8339a3a438SJohn Baldwin sysdecode_mask.3 sysdecode_atflags.3 \ 849289f547SJohn Baldwin sysdecode_mask.3 sysdecode_capfcntlrights.3 \ 859289f547SJohn Baldwin sysdecode_mask.3 sysdecode_fcntl_fileflags.3 \ 869289f547SJohn Baldwin sysdecode_mask.3 sysdecode_fileflags.3 \ 879289f547SJohn Baldwin sysdecode_mask.3 sysdecode_filemode.3 \ 889289f547SJohn Baldwin sysdecode_mask.3 sysdecode_flock_operation.3 \ 899289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mlockall_flags.3 \ 909289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mmap_flags.3 \ 919289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mmap_prot.3 \ 929289f547SJohn Baldwin sysdecode_mask.3 sysdecode_mount_flags.3 \ 939289f547SJohn Baldwin sysdecode_mask.3 sysdecode_msg_flags.3 \ 949289f547SJohn Baldwin sysdecode_mask.3 sysdecode_msync_flags.3 \ 959289f547SJohn Baldwin sysdecode_mask.3 sysdecode_open_flags.3 \ 969289f547SJohn Baldwin sysdecode_mask.3 sysdecode_pipe2_flags.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 113*b69ae1a3SDmitry ChaginCLEANFILES= ioctl.c ioctl.c.tmp tables.h tables_linux.h 114265e5898SJohn Baldwin 115265e5898SJohn Baldwin.if defined(COMPAT_32BIT) 116265e5898SJohn BaldwinCPP+= -m32 117265e5898SJohn Baldwin.endif 118265e5898SJohn Baldwin 119265e5898SJohn Baldwin.if ${MK_PF} != "no" 120265e5898SJohn BaldwinCFLAGS+=-DPF 121265e5898SJohn Baldwin.endif 122265e5898SJohn Baldwin 123265e5898SJohn Baldwin# Workaround duplicate declarations in <netinet/ip_compat.h> 124265e5898SJohn BaldwinCFLAGS.gcc.ioctl.c+= -Wno-redundant-decls 125a5f14abfSJohn Baldwin 1267a9cfa08SJohn BaldwinCFLAGS.gcc+= ${CFLAGS.gcc.${.IMPSRC}} 1278d8a74e6SJohn Baldwin 128*b69ae1a3SDmitry ChaginDEPENDOBJS+= tables.h tables_linux.h 129dc89d069SBryan Drewerytables.h: mktables 130dc89d069SBryan Drewery sh ${.CURDIR}/mktables ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} ${.TARGET} 131*b69ae1a3SDmitry Chagintables_linux.h: mklinuxtables 132*b69ae1a3SDmitry Chagin sh ${.CURDIR}/mklinuxtables ${SRCTOP}/sys ${.TARGET} 1339289f547SJohn Baldwin 1347c6d0bb1SBryan Drewery# mkioctls runs find(1) for headers so needs to rebuild every time. This used 1357c6d0bb1SBryan Drewery# to be a hack only done in buildworld. 1367c6d0bb1SBryan Drewery.if !defined(_SKIP_BUILD) 13723ff19c6SAlex Richardsonioctl.c.tmp: .PHONY 1387c6d0bb1SBryan Drewery.endif 13923ff19c6SAlex Richardsonioctl.c.tmp: mkioctls .META 140a342f435SKristof Provost env CPP="${CPP}" MK_PF="${MK_PF}" \ 141c99b67a7SBryan Drewery /bin/sh ${.CURDIR}/mkioctls ${SYSROOT:U${DESTDIR}}${INCLUDEDIR} > ${.TARGET} 142265e5898SJohn Baldwin 14323ff19c6SAlex Richardsonioctl.c: ioctl.c.tmp 14423ff19c6SAlex Richardson if [ ! -e ${.TARGET} ] || ! cmp -s ${.TARGET} ${.TARGET}.tmp; then \ 14523ff19c6SAlex Richardson mv -f ${.TARGET}.tmp ${.TARGET}; \ 14623ff19c6SAlex Richardson fi 14723ff19c6SAlex Richardson 148*b69ae1a3SDmitry Chaginbeforedepend: ioctl.c tables.h tables_linux.h 149265e5898SJohn Baldwin 150d0f245d2SMark JohnstonHAS_TESTS= 151d0f245d2SMark JohnstonSUBDIR.${MK_TESTS}+= tests 152d0f245d2SMark Johnston 153d6fb4894SJohn Baldwin.include <bsd.lib.mk> 154