xref: /freebsd/lib/libsysdecode/Makefile (revision b79bd43f9ab3bf0dfd4744dee406782f0329134a)
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