xref: /freebsd/cddl/lib/libzfs/Makefile (revision 2a6803de1cdbc7e34dfe4dc185a2dd98b9a787fb)
1f0a75d27SPawel Jakub Dawidek# $FreeBSD$
2f0a75d27SPawel Jakub Dawidek
39e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
49e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zcommon
59e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs
69e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs/os/freebsd
79e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libshare
89e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libshare/os/freebsd
99e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/include
109e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd
119e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd/lib
12f0a75d27SPawel Jakub Dawidek
13c2a7c3beSEmmanuel VadotPACKAGE=	runtime
14f0a75d27SPawel Jakub DawidekLIB=	zfs
1540d0fd28SRyan MoellerLIBADD= \
1640d0fd28SRyan Moeller	avl \
1740d0fd28SRyan Moeller	bsdxml \
1840d0fd28SRyan Moeller	crypto \
1940d0fd28SRyan Moeller	geom \
2040d0fd28SRyan Moeller	m \
2140d0fd28SRyan Moeller	md \
2240d0fd28SRyan Moeller	nvpair \
2340d0fd28SRyan Moeller	pthread \
2440d0fd28SRyan Moeller	umem \
2540d0fd28SRyan Moeller	util \
2640d0fd28SRyan Moeller	uutil \
2740d0fd28SRyan Moeller	z \
2840d0fd28SRyan Moeller	zfs_core \
2940d0fd28SRyan Moeller	zutil
30f0a75d27SPawel Jakub Dawidek
319e5787d2SMatt MacyINCS=	libzfs.h
329e5787d2SMatt MacyUSER_C = \
339e5787d2SMatt Macy        libzfs_changelist.c \
3410b9d77bSPawel Jakub Dawidek        libzfs_config.c \
359e5787d2SMatt Macy        libzfs_crypto.c \
3610b9d77bSPawel Jakub Dawidek        libzfs_dataset.c \
3710b9d77bSPawel Jakub Dawidek        libzfs_diff.c \
3810b9d77bSPawel Jakub Dawidek        libzfs_import.c \
392f7f0f41SMartin Matuska        libzfs_iter.c \
4010b9d77bSPawel Jakub Dawidek        libzfs_mount.c \
4110b9d77bSPawel Jakub Dawidek        libzfs_pool.c \
4210b9d77bSPawel Jakub Dawidek        libzfs_sendrecv.c \
4310b9d77bSPawel Jakub Dawidek        libzfs_status.c \
449e5787d2SMatt Macy        libzfs_util.c
459e5787d2SMatt Macy
469e5787d2SMatt Macy# FreeBSD
479e5787d2SMatt MacyUSER_C += \
489e5787d2SMatt Macy        libzfs_compat.c \
499e5787d2SMatt Macy        libzfs_ioctl_compat.c \
509e5787d2SMatt Macy        libzfs_zmount.c
519e5787d2SMatt Macy
529e5787d2SMatt Macy# libshare
539e5787d2SMatt MacyUSER_C += \
549e5787d2SMatt Macy	libshare.c \
559e5787d2SMatt Macy	nfs.c \
569e5787d2SMatt Macy	smb.c
579e5787d2SMatt Macy
589e5787d2SMatt Macy
599e5787d2SMatt MacyKERNEL_C = \
609e5787d2SMatt Macy        algs/sha2/sha2.c \
619e5787d2SMatt Macy        cityhash.c \
622d9cf57eSMartin Matuska        zfeature_common.c \
6310b9d77bSPawel Jakub Dawidek        zfs_comutil.c \
6410b9d77bSPawel Jakub Dawidek        zfs_deleg.c \
6510b9d77bSPawel Jakub Dawidek        zfs_fletcher.c \
669e5787d2SMatt Macy        zfs_fletcher_superscalar.c \
679e5787d2SMatt Macy        zfs_fletcher_superscalar4.c \
681ba4a712SPawel Jakub Dawidek        zfs_namecheck.c \
695941f035SRuslan Ermilov        zfs_prop.c \
709e5787d2SMatt Macy        zfs_uio.c \
711ba4a712SPawel Jakub Dawidek        zpool_prop.c \
729e5787d2SMatt Macy        zprop_common.c
73f0a75d27SPawel Jakub Dawidek
749e5787d2SMatt Macy
759e5787d2SMatt MacyARCH_C =
769e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
779e5787d2SMatt MacyARCH_C += 	zfs_fletcher_intel.c \
789e5787d2SMatt Macy		zfs_fletcher_sse.c
799e5787d2SMatt MacyCFLAGS +=  -DHAVE_SSE2
809e5787d2SMatt Macy.endif
819e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64"
829e5787d2SMatt MacyARCH_C +=	zfs_fletcher_avx512.c
839e5787d2SMatt MacyCFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
849e5787d2SMatt Macy.endif
85*2a6803deSAndrew Turner.if ${MACHINE_CPUARCH} == "aarch64"
869e5787d2SMatt MacyARCH_C +=	zfs_fletcher_aarch64_neon.c
879e5787d2SMatt Macy.endif
889e5787d2SMatt Macy
899e5787d2SMatt MacySRCS= $(USER_C) $(KERNEL_C) $(ARCH_C)
909e5787d2SMatt Macy
919e5787d2SMatt MacyWARNS?=	2
929e5787d2SMatt MacySHLIB_MAJOR= 4
9310b9d77bSPawel Jakub DawidekCSTD=	c99
949e5787d2SMatt MacyCFLAGS+= -DIN_BASE
959e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
969e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd
979e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include
989e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
999e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libshare
1009e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/ck/include
1019e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys
102acc37ca1SEnji CooperCFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
1039e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
1049e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
1059e5787d2SMatt MacyCFLAGS+= -DHAVE_ISSETUGID
1069e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
1079e5787d2SMatt Macy
108f0a75d27SPawel Jakub Dawidek
109f0a75d27SPawel Jakub Dawidek.include <bsd.lib.mk>
110