3 SRCDIR=${SRCTOP}/sys/contrib/openzfs/module
4 INCDIR=${SRCTOP}/sys/contrib/openzfs/include
11 ${SRCDIR}/os/freebsd/spl \
12 ${SRCDIR}/os/freebsd/zfs \
21 CFLAGS+= -I${INCDIR}/spl
22 CFLAGS+= -I${INCDIR}/os/freebsd
23 CFLAGS+= -I${INCDIR}/os/freebsd/spl
24 CFLAGS+= -I${INCDIR}/os/freebsd/zfs
25 CFLAGS+= -I${SRCDIR}/zstd/include
26 CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h
27 CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/static_ccompile.h
30 CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS -D__BSD_VISIBLE=1 \
31 -DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_ \
32 -D_SYS_VMEM_H_ -DKDTRACE_HOOKS -DSMP -DIN_FREEBSD_BASE -DHAVE_KSID
34 .if ${MACHINE_ARCH} == "amd64"
35 CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_SSE2 -DHAVE_AVX512F -DHAVE_AVX512BW -DHAVE_SSSE3
38 .if defined(WITH_VFS_DEBUG) && ${WITH_VFS_DEBUG} == "true"
39 # kernel must also be built with this option for this to work
40 CFLAGS+= -DDEBUG_VFS_LOCKS
43 .if defined(WITH_GCOV) && ${WITH_GCOV} == "true"
44 CFLAGS+= -fprofile-arcs -ftest-coverage
49 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
50 ${MACHINE_ARCH} == "arm"
51 CFLAGS+= -DBITS_PER_LONG=32
53 CFLAGS+= -DBITS_PER_LONG=64
56 SRCS= vnode_if.h device_if.h bus_if.h
119 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
120 ${MACHINE_ARCH} == "arm"
153 SRCS+= zfeature_common.c \
157 zfs_fletcher_avx512.c \
158 zfs_fletcher_intel.c \
160 zfs_fletcher_superscalar.c \
161 zfs_fletcher_superscalar4.c \
239 vdev_indirect_births.c \
240 vdev_indirect_mapping.c \
248 vdev_raidz_math_scalar.c \
249 vdev_raidz_math_avx2.c \
250 vdev_raidz_math_avx512bw.c \
251 vdev_raidz_math_avx512f.c \
252 vdev_raidz_math_sse2.c \
253 vdev_raidz_math_ssse3.c \
292 .include <bsd.kmod.mk>
295 CFLAGS.gcc+= -Wno-pointer-to-int-cast
297 CFLAGS.lapi.c= -Wno-cast-qual
298 CFLAGS.lcompat.c= -Wno-cast-qual
299 CFLAGS.lobject.c= -Wno-cast-qual
300 CFLAGS.ltable.c= -Wno-cast-qual
301 CFLAGS.lvm.c= -Wno-cast-qual
302 CFLAGS.nvpair.c= -Wno-cast-qual -DHAVE_RPC_TYPES
303 CFLAGS.spl_string.c= -Wno-cast-qual
304 CFLAGS.spl_vm.c= -Wno-cast-qual
305 CFLAGS.spl_zlib.c= -Wno-cast-qual
306 CFLAGS.abd.c= -Wno-cast-qual
307 CFLAGS.zfs_log.c= -Wno-cast-qual
308 CFLAGS.zfs_vnops.c= -Wno-pointer-arith
309 CFLAGS.u8_textprep.c= -Wno-cast-qual
310 CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith
311 CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith
312 CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith
313 CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith
314 CFLAGS.zprop_common.c= -Wno-cast-qual
315 CFLAGS.ddt.c= -Wno-cast-qual
316 CFLAGS.dmu.c= -Wno-cast-qual
317 CFLAGS.dmu_traverse.c= -Wno-cast-qual
318 CFLAGS.dsl_dir.c= -Wno-cast-qual
319 CFLAGS.dsl_deadlist.c= -Wno-cast-qual
320 CFLAGS.dsl_prop.c= -Wno-cast-qual
321 CFLAGS.fm.c= -Wno-cast-qual
322 CFLAGS.lz4.c= -Wno-cast-qual
323 CFLAGS.spa.c= -Wno-cast-qual
324 CFLAGS.spa_misc.c= -Wno-cast-qual
325 CFLAGS.sysctl_os.c= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
326 CFLAGS.vdev_raidz.c= -Wno-cast-qual
327 CFLAGS.vdev_raidz_math.c= -Wno-cast-qual
328 CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual
329 CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
330 CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
331 CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
332 CFLAGS.zap_leaf.c= -Wno-cast-qual
333 CFLAGS.zap_micro.c= -Wno-cast-qual
334 CFLAGS.zcp.c= -Wno-cast-qual
335 CFLAGS.zfs_fm.c= -Wno-cast-qual
336 CFLAGS.zfs_ioctl.c= -Wno-cast-qual
337 CFLAGS.zil.c= -Wno-cast-qual
338 CFLAGS.zio.c= -Wno-cast-qual
339 CFLAGS.zrlock.c= -Wno-cast-qual
340 CFLAGS.zfs_zstd.c= -Wno-cast-qual -Wno-pointer-arith
341 CFLAGS.zstd.c= -fno-tree-vectorize
342 .if ${MACHINE_CPUARCH} == "aarch64"
343 CFLAGS.zstd.c+= -include ${SRCDIR}/zstd/include/aarch64_compat.h