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