xref: /freebsd/cddl/lib/libzfs/Makefile (revision 29185c9a26204383270cf96957c685c51f5bc894)
19e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
29e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zcommon
39e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs
49e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs/os/freebsd
59e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libshare
69e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/include
79e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd
89e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd/lib
9f0a75d27SPawel Jakub Dawidek
10*29185c9aSLexi WinterPACKAGE=	zfs
11*29185c9aSLexi WinterLIB_PACKAGE=
12*29185c9aSLexi Winter
13f0a75d27SPawel Jakub DawidekLIB=	zfs
1440d0fd28SRyan MoellerLIBADD= \
1540d0fd28SRyan Moeller	avl \
1640d0fd28SRyan Moeller	bsdxml \
1740d0fd28SRyan Moeller	crypto \
1840d0fd28SRyan Moeller	geom \
1940d0fd28SRyan Moeller	m \
2040d0fd28SRyan Moeller	md \
2140d0fd28SRyan Moeller	nvpair \
2240d0fd28SRyan Moeller	pthread \
23315ee00fSMartin Matuska	rt \
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_zmount.c
509e5787d2SMatt Macy
519e5787d2SMatt Macy# libshare
529e5787d2SMatt MacyUSER_C += \
539e5787d2SMatt Macy	libshare.c \
549e5787d2SMatt Macy	nfs.c \
55f2089385SMartin Matuska	os/freebsd/nfs.c \
56f2089385SMartin Matuska	os/freebsd/smb.c
579e5787d2SMatt Macy
589e5787d2SMatt MacyKERNEL_C = \
599e5787d2SMatt Macy        cityhash.c \
602d9cf57eSMartin Matuska        zfeature_common.c \
6110b9d77bSPawel Jakub Dawidek        zfs_comutil.c \
6210b9d77bSPawel Jakub Dawidek        zfs_deleg.c \
6310b9d77bSPawel Jakub Dawidek        zfs_fletcher.c \
649e5787d2SMatt Macy        zfs_fletcher_superscalar.c \
659e5787d2SMatt Macy        zfs_fletcher_superscalar4.c \
661ba4a712SPawel Jakub Dawidek        zfs_namecheck.c \
675941f035SRuslan Ermilov        zfs_prop.c \
68e2df9bb4SMartin Matuska        zfs_valstr.c \
691ba4a712SPawel Jakub Dawidek        zpool_prop.c \
709e5787d2SMatt Macy        zprop_common.c
71f0a75d27SPawel Jakub Dawidek
729e5787d2SMatt MacyARCH_C =
739e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
749e5787d2SMatt MacyARCH_C += 	zfs_fletcher_intel.c \
759e5787d2SMatt Macy		zfs_fletcher_sse.c
769e5787d2SMatt MacyCFLAGS +=  -DHAVE_SSE2
779e5787d2SMatt Macy.endif
789e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64"
799e5787d2SMatt MacyARCH_C +=	zfs_fletcher_avx512.c
809e5787d2SMatt MacyCFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
819e5787d2SMatt Macy.endif
822a6803deSAndrew Turner.if ${MACHINE_CPUARCH} == "aarch64"
839e5787d2SMatt MacyARCH_C +=	zfs_fletcher_aarch64_neon.c
849e5787d2SMatt Macy.endif
859e5787d2SMatt Macy
869e5787d2SMatt MacySRCS= $(USER_C) $(KERNEL_C) $(ARCH_C)
879e5787d2SMatt Macy
889e5787d2SMatt MacyWARNS?=	2
899e5787d2SMatt MacySHLIB_MAJOR= 4
9010b9d77bSPawel Jakub DawidekCSTD=	c99
919e5787d2SMatt MacyCFLAGS+= -DIN_BASE
929e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
939e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd
949e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include
959e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
969e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libshare
97e2df9bb4SMartin MatuskaCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libzpool/include
989e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/ck/include
999e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys
100acc37ca1SEnji CooperCFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
1019e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
1029e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
1039e5787d2SMatt MacyCFLAGS+= -DHAVE_ISSETUGID
1048ccd0b87SBrooks DavisCFLAGS+= -DHAVE_EXECVPE
1059e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
10610f57cb9SMartin MatuskaCFLAGS+= -DSYSCONFDIR=\"/etc\"
10710f57cb9SMartin MatuskaCFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\"
108abcdc1b9SMartin MatuskaCFLAGS+= -DZFSEXECDIR=\"${LIBEXECDIR}/zfs\"
109f0a75d27SPawel Jakub Dawidek
110f0a75d27SPawel Jakub Dawidek.include <bsd.lib.mk>
111