8 INCDIR=${.CURDIR:H}/include
12 .PATH: ${SRCDIR}/avl \
15 ${SRCDIR}/os/freebsd/spl \
16 ${SRCDIR}/os/freebsd/zfs \
22 CFLAGS+= -I${.OBJDIR:H}/include
24 CFLAGS+= -I${INCDIR}/spl
25 CFLAGS+= -I${INCDIR}/os/freebsd
26 CFLAGS+= -I${INCDIR}/os/freebsd/spl
27 CFLAGS+= -I${INCDIR}/os/freebsd/zfs
28 CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h
30 CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS -D__BSD_VISIBLE=1
31 CFLAGS+= -DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_
32 CFLAGS+= -D_SYS_VMEM_H_ -D_MACHINE_ENDIAN_H_ -DKDTRACE_HOOKS -DSMP
34 .if ${MACHINE_ARCH} == "amd64"
35 CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_SSE2 -DHAVE_AVX512F
38 .if defined(WITH_DEBUG) && ${WITH_DEBUG} == "true"
39 CFLAGS+= -DINVARIANTS -DWITNESS -g -O0 -DZFS_DEBUG -DOPENSOLARIS_WITNESS
44 .if defined(WITH_VFS_DEBUG) && ${WITH_VFS_DEBUG} == "true"
45 # kernel must also be built with this option for this to work
46 CFLAGS+= -DDEBUG_VFS_LOCKS
49 .if defined(WITH_GCOV) && ${WITH_GCOV} == "true"
50 CFLAGS+= -fprofile-arcs -ftest-coverage
55 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
56 ${MACHINE_ARCH} == "arm"
57 CFLAGS+= -DBITS_PER_LONG=32
59 CFLAGS+= -DBITS_PER_LONG=64
62 SRCS= vnode_if.h device_if.h bus_if.h
100 SRCS+= acl_common.c \
125 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
126 ${MACHINE_ARCH} == "arm"
159 SRCS+= zfeature_common.c \
163 zfs_fletcher_avx512.c \
164 zfs_fletcher_intel.c \
166 zfs_fletcher_superscalar.c \
167 zfs_fletcher_superscalar4.c \
245 vdev_indirect_births.c \
246 vdev_indirect_mapping.c \
254 vdev_raidz_math_scalar.c \
256 vdev_raidz_math_avx2.c \
257 vdev_raidz_math_avx512bw.c \
258 vdev_raidz_math_avx512f.c \
259 vdev_raidz_math_sse2.c \
260 vdev_raidz_math_ssse3.c \
297 .if ${MK_DEBUG_FILES} != "no"
299 -f /etc/mtree/BSD.debug.dist \
300 -p ${DESTDIR}/usr/lib
303 .include <bsd.kmod.mk>
306 CFLAGS.gcc+= -Wno-pointer-to-int-cast
308 CFLAGS.lapi.c= -Wno-cast-qual
309 CFLAGS.lcompat.c= -Wno-cast-qual
310 CFLAGS.lobject.c= -Wno-cast-qual
311 CFLAGS.ltable.c= -Wno-cast-qual
312 CFLAGS.lvm.c= -Wno-cast-qual
313 CFLAGS.nvpair.c= -Wno-cast-qual
314 CFLAGS.spl_string.c= -Wno-cast-qual
315 CFLAGS.spl_vm.c= -Wno-cast-qual
316 CFLAGS.spl_zlib.c= -Wno-cast-qual
317 CFLAGS.abd.c= -Wno-cast-qual
318 CFLAGS.zfs_log.c= -Wno-cast-qual
319 CFLAGS.zfs_vnops.c= -Wno-pointer-arith
320 CFLAGS.u8_textprep.c= -Wno-cast-qual
321 CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith
322 CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith
323 CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith
324 CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith
325 CFLAGS.zprop_common.c= -Wno-cast-qual
326 CFLAGS.ddt.c= -Wno-cast-qual
327 CFLAGS.dmu.c= -Wno-cast-qual
328 CFLAGS.dmu_traverse.c= -Wno-cast-qual
329 CFLAGS.dsl_dir.c= -Wno-cast-qual
330 CFLAGS.dsl_deadlist.c= -Wno-cast-qual
331 CFLAGS.dsl_prop.c= -Wno-cast-qual
332 CFLAGS.fm.c= -Wno-cast-qual
333 CFLAGS.lz4.c= -Wno-cast-qual
334 CFLAGS.spa.c= -Wno-cast-qual
335 CFLAGS.spa_misc.c= -Wno-cast-qual
336 CFLAGS.sysctl_os.c= -include ../zfs_config.h
337 CFLAGS.vdev_raidz.c= -Wno-cast-qual
338 CFLAGS.vdev_raidz_math.c= -Wno-cast-qual
339 CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual
340 CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
341 CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
342 CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier
343 CFLAGS.zap_leaf.c= -Wno-cast-qual
344 CFLAGS.zap_micro.c= -Wno-cast-qual
345 CFLAGS.zcp.c= -Wno-cast-qual
346 CFLAGS.zfs_fm.c= -Wno-cast-qual
347 CFLAGS.zfs_ioctl.c= -Wno-cast-qual
348 CFLAGS.zil.c= -Wno-cast-qual
349 CFLAGS.zio.c= -Wno-cast-qual
350 CFLAGS.zrlock.c= -Wno-cast-qual