5 .PATH: ${SRCTOP}/sys/contrib/openzfs/module/zfs
6 .PATH: ${SRCTOP}/sys/contrib/openzfs/module/zcommon
7 .PATH: ${SRCTOP}/sys/contrib/openzfs/module/unicode
9 .PATH: ${SRCTOP}/sys/contrib/openzfs/module/lua
11 .PATH: ${SRCTOP}/sys/contrib/openzfs/module/os/linux/zfs
13 .PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzpool
15 .if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
16 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
17 ATOMIC_SRCS= opensolaris_atomic.S
18 ACFLAGS+= -Wa,--noexecstack
20 .PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern
21 ATOMIC_SRCS= opensolaris_atomic.c
24 .if ${MACHINE_ARCH} == "powerpc"
25 # Don't waste GOT entries on small data.
43 zfs_fletcher_superscalar.c \
44 zfs_fletcher_superscalar4.c \
125 vdev_indirect_births.c \
127 vdev_indirect_mapping.c \
134 vdev_raidz_math_aarch64_neon.c \
135 vdev_raidz_math_aarch64_neonx2.c \
136 vdev_raidz_math_avx2.c \
137 vdev_raidz_math_avx512bw.c \
138 vdev_raidz_math_avx512f.c \
140 vdev_raidz_math_scalar.c \
174 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
175 ARCH_C += vdev_raidz_math_sse2.c \
176 vdev_raidz_math_ssse3.c \
177 zfs_fletcher_intel.c \
179 CFLAGS += -DHAVE_SSE2 -DHAVE_SSE3
181 .if ${MACHINE_ARCH} == "amd64"
182 ARCH_C += zfs_fletcher_avx512.c
183 CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_AVX512F \
186 .if ${MACHINE_ARCH} == "aarch64"
187 ARCH_C += zfs_fletcher_aarch64_neon.c
216 UNICODE_C = u8_textprep.c uconv.c
218 SRCS= ${USER_C} ${KERNEL_C} ${LUA_C} ${UNICODE_C} ${ARCH_C}
222 CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
223 CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
224 CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
225 CFLAGS+= -I${SRCTOP}/sys
226 CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
227 CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
228 CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
229 CFLAGS+= -DHAVE_ISSETUGID
230 CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
231 CFLAGS+= -I${SRCTOP}/sys/modules/zfs
232 CFLAGS+= -DLIB_ZPOOL_BUILD -DZFS_DEBUG
235 # XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
236 # into libthr private structures. That's sooo evil, but it's only for
237 # ZFS debugging tools needs.
238 CFLAGS+= -DWANTS_MUTEX_OWNED
239 CFLAGS+= -I${SRCTOP}/lib/libpthread/thread
240 CFLAGS+= -I${SRCTOP}/lib/libpthread/sys
241 CFLAGS+= -I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include
242 CFLAGS.gcc+= -fms-extensions
244 LIBADD= md pthread z spl icp nvpair avl umem
246 # atomic.S doesn't like profiling.
251 # Since there are many asserts in this library, it makes no sense to compile
252 # it without debugging.
254 CFLAGS+= -g -DDEBUG=1
256 .include <bsd.lib.mk>