xref: /freebsd/cddl/lib/libzfs/Makefile (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1
2.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
3.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zcommon
4.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs
5.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzfs/os/freebsd
6.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libshare
7.PATH: ${SRCTOP}/sys/contrib/openzfs/include
8.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd
9.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zstd/lib
10
11PACKAGE=	zfs
12LIB=	zfs
13LIBADD= \
14	avl \
15	bsdxml \
16	crypto \
17	geom \
18	m \
19	md \
20	nvpair \
21	pthread \
22	umem \
23	util \
24	uutil \
25	z \
26	zfs_core \
27	zutil
28
29INCS=	libzfs.h
30USER_C = \
31        libzfs_changelist.c \
32        libzfs_config.c \
33        libzfs_crypto.c \
34        libzfs_dataset.c \
35        libzfs_diff.c \
36        libzfs_import.c \
37        libzfs_iter.c \
38        libzfs_mount.c \
39        libzfs_pool.c \
40        libzfs_sendrecv.c \
41        libzfs_status.c \
42        libzfs_util.c
43
44# FreeBSD
45USER_C += \
46        libzfs_compat.c \
47        libzfs_zmount.c
48
49# libshare
50USER_C += \
51	libshare.c \
52	nfs.c \
53	os/freebsd/nfs.c \
54	os/freebsd/smb.c
55
56KERNEL_C = \
57        cityhash.c \
58        zfeature_common.c \
59        zfs_comutil.c \
60        zfs_deleg.c \
61        zfs_fletcher.c \
62        zfs_fletcher_superscalar.c \
63        zfs_fletcher_superscalar4.c \
64        zfs_namecheck.c \
65        zfs_prop.c \
66        zpool_prop.c \
67        zprop_common.c
68
69
70ARCH_C =
71.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
72ARCH_C += 	zfs_fletcher_intel.c \
73		zfs_fletcher_sse.c
74CFLAGS +=  -DHAVE_SSE2
75.endif
76.if ${MACHINE_ARCH} == "amd64"
77ARCH_C +=	zfs_fletcher_avx512.c
78CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F
79.endif
80.if ${MACHINE_CPUARCH} == "aarch64"
81ARCH_C +=	zfs_fletcher_aarch64_neon.c
82.endif
83
84SRCS= $(USER_C) $(KERNEL_C) $(ARCH_C)
85
86WARNS?=	2
87SHLIB_MAJOR= 4
88CSTD=	c99
89CFLAGS+= -DIN_BASE
90CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
91CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd
92CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include
93CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
94CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libshare
95CFLAGS+= -I${SRCTOP}/sys/contrib/ck/include
96CFLAGS+= -I${SRCTOP}/sys
97CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
98CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
99CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
100CFLAGS+= -DHAVE_ISSETUGID
101CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
102CFLAGS+= -DSYSCONFDIR=\"/etc\"
103CFLAGS+= -DPKGDATADIR=\"/usr/share/zfs\"
104
105
106.include <bsd.lib.mk>
107