xref: /freebsd/cddl/lib/libzfs/Makefile (revision e2df9bb44109577475aeb186e7186ac040f9bde1)
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
10a71ea7beSEmmanuel VadotPACKAGE=	zfs
11f0a75d27SPawel Jakub DawidekLIB=	zfs
1240d0fd28SRyan MoellerLIBADD= \
1340d0fd28SRyan Moeller	avl \
1440d0fd28SRyan Moeller	bsdxml \
1540d0fd28SRyan Moeller	crypto \
1640d0fd28SRyan Moeller	geom \
1740d0fd28SRyan Moeller	m \
1840d0fd28SRyan Moeller	md \
1940d0fd28SRyan Moeller	nvpair \
2040d0fd28SRyan Moeller	pthread \
21315ee00fSMartin Matuska	rt \
2240d0fd28SRyan Moeller	umem \
2340d0fd28SRyan Moeller	util \
2440d0fd28SRyan Moeller	uutil \
2540d0fd28SRyan Moeller	z \
2640d0fd28SRyan Moeller	zfs_core \
2740d0fd28SRyan Moeller	zutil
28f0a75d27SPawel Jakub Dawidek
299e5787d2SMatt MacyINCS=	libzfs.h
309e5787d2SMatt MacyUSER_C = \
319e5787d2SMatt Macy        libzfs_changelist.c \
3210b9d77bSPawel Jakub Dawidek        libzfs_config.c \
339e5787d2SMatt Macy        libzfs_crypto.c \
3410b9d77bSPawel Jakub Dawidek        libzfs_dataset.c \
3510b9d77bSPawel Jakub Dawidek        libzfs_diff.c \
3610b9d77bSPawel Jakub Dawidek        libzfs_import.c \
372f7f0f41SMartin Matuska        libzfs_iter.c \
3810b9d77bSPawel Jakub Dawidek        libzfs_mount.c \
3910b9d77bSPawel Jakub Dawidek        libzfs_pool.c \
4010b9d77bSPawel Jakub Dawidek        libzfs_sendrecv.c \
4110b9d77bSPawel Jakub Dawidek        libzfs_status.c \
429e5787d2SMatt Macy        libzfs_util.c
439e5787d2SMatt Macy
449e5787d2SMatt Macy# FreeBSD
459e5787d2SMatt MacyUSER_C += \
469e5787d2SMatt Macy        libzfs_compat.c \
479e5787d2SMatt Macy        libzfs_zmount.c
489e5787d2SMatt Macy
499e5787d2SMatt Macy# libshare
509e5787d2SMatt MacyUSER_C += \
519e5787d2SMatt Macy	libshare.c \
529e5787d2SMatt Macy	nfs.c \
53f2089385SMartin Matuska	os/freebsd/nfs.c \
54f2089385SMartin Matuska	os/freebsd/smb.c
559e5787d2SMatt Macy
569e5787d2SMatt MacyKERNEL_C = \
579e5787d2SMatt Macy        cityhash.c \
582d9cf57eSMartin Matuska        zfeature_common.c \
5910b9d77bSPawel Jakub Dawidek        zfs_comutil.c \
6010b9d77bSPawel Jakub Dawidek        zfs_deleg.c \
6110b9d77bSPawel Jakub Dawidek        zfs_fletcher.c \
629e5787d2SMatt Macy        zfs_fletcher_superscalar.c \
639e5787d2SMatt Macy        zfs_fletcher_superscalar4.c \
641ba4a712SPawel Jakub Dawidek        zfs_namecheck.c \
655941f035SRuslan Ermilov        zfs_prop.c \
66*e2df9bb4SMartin Matuska        zfs_valstr.c \
671ba4a712SPawel Jakub Dawidek        zpool_prop.c \
689e5787d2SMatt Macy        zprop_common.c
69f0a75d27SPawel Jakub Dawidek
709e5787d2SMatt MacyARCH_C =
719e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
729e5787d2SMatt MacyARCH_C += 	zfs_fletcher_intel.c \
739e5787d2SMatt Macy		zfs_fletcher_sse.c
749e5787d2SMatt MacyCFLAGS +=  -DHAVE_SSE2
759e5787d2SMatt Macy.endif
769e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64"
779e5787d2SMatt MacyARCH_C +=	zfs_fletcher_avx512.c
789e5787d2SMatt MacyCFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
799e5787d2SMatt Macy.endif
802a6803deSAndrew Turner.if ${MACHINE_CPUARCH} == "aarch64"
819e5787d2SMatt MacyARCH_C +=	zfs_fletcher_aarch64_neon.c
829e5787d2SMatt Macy.endif
839e5787d2SMatt Macy
849e5787d2SMatt MacySRCS= $(USER_C) $(KERNEL_C) $(ARCH_C)
859e5787d2SMatt Macy
869e5787d2SMatt MacyWARNS?=	2
879e5787d2SMatt MacySHLIB_MAJOR= 4
8810b9d77bSPawel Jakub DawidekCSTD=	c99
899e5787d2SMatt MacyCFLAGS+= -DIN_BASE
909e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
919e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd
929e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include
939e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
949e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libshare
95*e2df9bb4SMartin MatuskaCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libzpool/include
969e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/ck/include
979e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys
98acc37ca1SEnji CooperCFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
999e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
1009e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
1019e5787d2SMatt MacyCFLAGS+= -DHAVE_ISSETUGID
1028ccd0b87SBrooks DavisCFLAGS+= -DHAVE_EXECVPE
1039e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
10410f57cb9SMartin MatuskaCFLAGS+= -DSYSCONFDIR=\"/etc\"
10510f57cb9SMartin MatuskaCFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\"
106abcdc1b9SMartin MatuskaCFLAGS+= -DZFSEXECDIR=\"${LIBEXECDIR}/zfs\"
107f0a75d27SPawel Jakub Dawidek
108f0a75d27SPawel Jakub Dawidek.include <bsd.lib.mk>
109