Changeset View
Changeset View
Standalone View
Standalone View
sys/modules/zfs/Makefile
# $FreeBSD$ | # $FreeBSD$ | ||||
SYSDIR?=${SRCTOP}/sys | SRCDIR=${SRCTOP}/sys/contrib/openzfs/module | ||||
INCDIR=${SRCTOP}/sys/contrib/openzfs/include | |||||
KMOD= zfs | KMOD= zfs | ||||
SRCS= bus_if.h device_if.h vnode_if.h opt_kstack_pages.h | .PATH: ${SRCDIR}/avl \ | ||||
${SRCDIR}/lua \ | |||||
${SRCDIR}/nvpair \ | |||||
${SRCDIR}/os/freebsd/spl \ | |||||
${SRCDIR}/os/freebsd/zfs \ | |||||
${SRCDIR}/unicode \ | |||||
${SRCDIR}/zcommon \ | |||||
${SRCDIR}/zfs | |||||
SUNW= ${SYSDIR}/cddl/contrib/opensolaris | CFLAGS+= -include ${.OBJDIR}/opt_global.h | ||||
CFLAGS+= -I${INCDIR} | |||||
sjg: Multiple `+=` like this is a lot of malloc churn for make.
Much more efficient to a single… | |||||
CFLAGS+= -I${INCDIR}/spl | |||||
CFLAGS+= -I${INCDIR}/os/freebsd | |||||
CFLAGS+= -I${INCDIR}/os/freebsd/spl | |||||
CFLAGS+= -I${INCDIR}/os/freebsd/zfs | |||||
CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h | |||||
CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/static_ccompile.h | |||||
CFLAGS+= -I${.CURDIR} | |||||
.PATH: ${SUNW}/common/acl | CFLAGS+= -D__KERNEL__ -DFREEBSD_NAMECACHE -DBUILDING_ZFS -D__BSD_VISIBLE=1 | ||||
SRCS+= acl_common.c | CFLAGS+= -DHAVE_UIO_ZEROCOPY -DWITHOUT_NETDUMP -D__KERNEL -D_SYS_CONDVAR_H_ | ||||
Not Done Inline ActionsAll these _H files deserve some kind of comment, I think, since this is quite unusual to do / see in modules and can cause trouble if we were ever to switch-up how we do includes. imp: All these _H files deserve some kind of comment, I think, since this is quite unusual to do /… | |||||
.PATH: ${SUNW}/common/avl | CFLAGS+= -D_SYS_VMEM_H_ -D_MACHINE_ENDIAN_H_ -DKDTRACE_HOOKS -DSMP | ||||
SRCS+= avl.c | |||||
.PATH: ${SUNW}/common/nvpair | |||||
SRCS+= opensolaris_nvpair.c | |||||
SRCS+= opensolaris_nvpair_alloc_fixed.c | |||||
SRCS+= opensolaris_fnvpair.c | |||||
.PATH: ${SYSDIR}/cddl/contrib/opensolaris/common/unicode | |||||
SRCS+= u8_textprep.c | |||||
.PATH: ${SUNW}/common/lz4 | |||||
SRCS+= lz4.c | |||||
.PATH: ${SYSDIR}/cddl/compat/opensolaris/kern | .if ${MACHINE_ARCH} == "amd64" | ||||
SRCS+= opensolaris_acl.c | CFLAGS+= -DHAVE_AVX2 -DHAVE_AVX -D__x86_64 -DHAVE_SSE2 -DHAVE_AVX512F | ||||
SRCS+= opensolaris_dtrace.c | .endif | ||||
SRCS+= opensolaris_kobj.c | |||||
SRCS+= opensolaris_kstat.c | |||||
SRCS+= opensolaris_lookup.c | |||||
SRCS+= opensolaris_policy.c | |||||
SRCS+= opensolaris_string.c | |||||
SRCS+= opensolaris_sysevent.c | |||||
SRCS+= opensolaris_taskq.c | |||||
SRCS+= opensolaris_uio.c | |||||
SRCS+= opensolaris_vfs.c | |||||
SRCS+= opensolaris_vm.c | |||||
SRCS+= opensolaris_zone.c | |||||
_A=${SYSDIR}/cddl/contrib/opensolaris/common/atomic | .if defined(WITH_VFS_DEBUG) && ${WITH_VFS_DEBUG} == "true" | ||||
.if exists(${_A}/${MACHINE_CPUARCH}/opensolaris_atomic.S) | # kernel must also be built with this option for this to work | ||||
.PATH: ${_A}/${MACHINE_CPUARCH} | CFLAGS+= -DDEBUG_VFS_LOCKS | ||||
SRCS+= opensolaris_atomic.S | |||||
.elif exists(${_A}/${MACHINE_ARCH}/opensolaris_atomic.S) | |||||
.PATH: ${_A}/${MACHINE_ARCH} | |||||
SRCS+= opensolaris_atomic.S | |||||
.else | |||||
SRCS+= opensolaris_atomic.c | |||||
.endif | .endif | ||||
.PATH: ${SUNW}/uts/common/fs | .if defined(WITH_GCOV) && ${WITH_GCOV} == "true" | ||||
SRCS+= vnode.c | CFLAGS+= -fprofile-arcs -ftest-coverage | ||||
.endif | |||||
.PATH: ${SUNW}/uts/common/os | DEBUG_FLAGS=-g | ||||
SRCS+= callb.c | |||||
SRCS+= fm.c | |||||
SRCS+= list.c | |||||
SRCS+= nvpair_alloc_system.c | |||||
.PATH: ${SUNW}/uts/common/zmod | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ | ||||
SRCS+= zmod.c | ${MACHINE_ARCH} == "arm" | ||||
CFLAGS+= -DBITS_PER_LONG=32 | |||||
.else | |||||
CFLAGS+= -DBITS_PER_LONG=64 | |||||
.endif | |||||
.PATH: ${SYSDIR}/crypto/sha2 | SRCS= vnode_if.h device_if.h bus_if.h opt_global.h | ||||
SRCS+= sha256c.c sha512c.c | |||||
.PATH: ${SYSDIR}/crypto/skein | # avl | ||||
SRCS+= skein.c skein_block.c | SRCS+= avl.c | ||||
.PATH: ${SUNW}/common/zfs | #lua | ||||
.include "${SUNW}/uts/common/Makefile.files" | SRCS+= lapi.c \ | ||||
.PATH: ${SUNW}/uts/common/fs/zfs | lauxlib.c \ | ||||
ZFS_SRCS= ${ZFS_OBJS:C/.o$/.c/} | lbaselib.c \ | ||||
SRCS+= ${ZFS_SRCS} | lcode.c \ | ||||
SRCS+= vdev_geom.c | lcompat.c \ | ||||
SRCS+= trim_map.c | lcorolib.c \ | ||||
.PATH: ${SUNW}/uts/common/fs/zfs/lua | lctype.c \ | ||||
LUA_SRCS= ${LUA_OBJS:C/.o$/.c/} | ldebug.c \ | ||||
SRCS+= ${LUA_SRCS} | ldo.c \ | ||||
lfunc.c \ | |||||
lgc.c \ | |||||
llex.c \ | |||||
lmem.c \ | |||||
lobject.c \ | |||||
lopcodes.c \ | |||||
lparser.c \ | |||||
lstate.c \ | |||||
lstring.c \ | |||||
lstrlib.c \ | |||||
ltable.c \ | |||||
ltablib.c \ | |||||
ltm.c \ | |||||
lvm.c \ | |||||
lzio.c | |||||
# Use FreeBSD's namecache. | #nvpair | ||||
CFLAGS+=-DFREEBSD_NAMECACHE | SRCS+= nvpair.c \ | ||||
fnvpair.c \ | |||||
nvpair_alloc_spl.c \ | |||||
nvpair_alloc_fixed.c | |||||
CFLAGS+=-I${SYSDIR}/cddl/compat/opensolaris | #os/freebsd/spl | ||||
CFLAGS+=-I${SUNW}/uts/common/fs/zfs | SRCS+= acl_common.c \ | ||||
CFLAGS+=-I${SUNW}/uts/common/fs/zfs/lua | btree.c \ | ||||
CFLAGS+=-I${SUNW}/uts/common/zmod | callb.c \ | ||||
CFLAGS+=-I${SUNW}/uts/common | list.c \ | ||||
CFLAGS+=-I${SYSDIR} | spl_acl.c \ | ||||
CFLAGS+=-I${SUNW}/common/zfs | spl_cmn_err.c \ | ||||
CFLAGS+=-I${SUNW}/common/lz4 | spl_dtrace.c \ | ||||
CFLAGS+=-I${SUNW}/common | spl_kmem.c \ | ||||
CFLAGS+=-DBUILDING_ZFS | spl_kstat.c \ | ||||
CFLAGS.gcc+=-fms-extensions | spl_misc.c \ | ||||
spl_policy.c \ | |||||
spl_string.c \ | |||||
spl_sunddi.c \ | |||||
spl_sysevent.c \ | |||||
spl_taskq.c \ | |||||
spl_uio.c \ | |||||
spl_vfs.c \ | |||||
spl_vm.c \ | |||||
spl_zone.c \ | |||||
sha256c.c \ | |||||
sha512c.c \ | |||||
spl_procfs_list.c \ | |||||
spl_zlib.c | |||||
.if ${MACHINE_ARCH} == "powerpc64" | |||||
CFLAGS.gcc+=-mminimal-toc | |||||
.endif | |||||
.ifdef ZFS_DEBUG | .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \ | ||||
CFLAGS+=-DDEBUG=1 | ${MACHINE_ARCH} == "arm" | ||||
DEBUG_FLAGS=-g | SRCS+= spl_atomic.c | ||||
.endif | .endif | ||||
#os/freebsd/zfs | |||||
SRCS+= abd_os.c \ | |||||
crypto_os.c \ | |||||
dmu_os.c \ | |||||
hkdf.c \ | |||||
kmod_core.c \ | |||||
spa_os.c \ | |||||
sysctl_os.c \ | |||||
vdev_file.c \ | |||||
vdev_label_os.c \ | |||||
vdev_geom.c \ | |||||
zfs_acl.c \ | |||||
zfs_ctldir.c \ | |||||
zfs_dir.c \ | |||||
zfs_ioctl_os.c \ | |||||
zfs_log.c \ | |||||
zfs_replay.c \ | |||||
zfs_vfsops.c \ | |||||
zfs_vnops.c \ | |||||
zfs_znode.c \ | |||||
zio_crypt.c \ | |||||
zvol_os.c | |||||
#unicode | |||||
SRCS+= uconv.c \ | |||||
u8_textprep.c | |||||
#zcommon | |||||
SRCS+= zfeature_common.c \ | |||||
zfs_comutil.c \ | |||||
zfs_deleg.c \ | |||||
zfs_fletcher.c \ | |||||
zfs_fletcher_avx512.c \ | |||||
zfs_fletcher_intel.c \ | |||||
zfs_fletcher_sse.c \ | |||||
zfs_fletcher_superscalar.c \ | |||||
zfs_fletcher_superscalar4.c \ | |||||
zfs_namecheck.c \ | |||||
zfs_prop.c \ | |||||
zpool_prop.c \ | |||||
zprop_common.c | |||||
#zfs | |||||
SRCS+= abd.c \ | |||||
aggsum.c \ | |||||
arc.c \ | |||||
arc_os.c \ | |||||
blkptr.c \ | |||||
bplist.c \ | |||||
bpobj.c \ | |||||
cityhash.c \ | |||||
dbuf.c \ | |||||
dbuf_stats.c \ | |||||
bptree.c \ | |||||
bqueue.c \ | |||||
dataset_kstats.c \ | |||||
ddt.c \ | |||||
ddt_zap.c \ | |||||
dmu.c \ | |||||
dmu_diff.c \ | |||||
dmu_object.c \ | |||||
dmu_objset.c \ | |||||
dmu_recv.c \ | |||||
dmu_redact.c \ | |||||
dmu_send.c \ | |||||
dmu_traverse.c \ | |||||
dmu_tx.c \ | |||||
dmu_zfetch.c \ | |||||
dnode.c \ | |||||
dnode_sync.c \ | |||||
dsl_dataset.c \ | |||||
dsl_deadlist.c \ | |||||
dsl_deleg.c \ | |||||
dsl_bookmark.c \ | |||||
dsl_dir.c \ | |||||
dsl_crypt.c \ | |||||
dsl_destroy.c \ | |||||
dsl_pool.c \ | |||||
dsl_prop.c \ | |||||
dsl_scan.c \ | |||||
dsl_synctask.c \ | |||||
dsl_userhold.c \ | |||||
fm.c \ | |||||
gzip.c \ | |||||
lzjb.c \ | |||||
lz4.c \ | |||||
metaslab.c \ | |||||
mmp.c \ | |||||
multilist.c \ | |||||
objlist.c \ | |||||
pathname.c \ | |||||
range_tree.c \ | |||||
refcount.c \ | |||||
rrwlock.c \ | |||||
sa.c \ | |||||
sha256.c \ | |||||
skein_zfs.c \ | |||||
spa.c \ | |||||
spa_boot.c \ | |||||
spa_checkpoint.c \ | |||||
spa_config.c \ | |||||
spa_errlog.c \ | |||||
spa_history.c \ | |||||
spa_log_spacemap.c \ | |||||
spa_misc.c \ | |||||
spa_stats.c \ | |||||
space_map.c \ | |||||
space_reftree.c \ | |||||
txg.c \ | |||||
uberblock.c \ | |||||
unique.c \ | |||||
vdev.c \ | |||||
vdev_cache.c \ | |||||
vdev_indirect.c \ | |||||
vdev_indirect_births.c \ | |||||
vdev_indirect_mapping.c \ | |||||
vdev_initialize.c \ | |||||
vdev_label.c \ | |||||
vdev_mirror.c \ | |||||
vdev_missing.c \ | |||||
vdev_queue.c \ | |||||
vdev_raidz.c \ | |||||
vdev_raidz_math.c \ | |||||
vdev_raidz_math_scalar.c \ | |||||
vdev_raidz_math_avx2.c \ | |||||
vdev_raidz_math_avx512bw.c \ | |||||
vdev_raidz_math_avx512f.c \ | |||||
vdev_raidz_math_sse2.c \ | |||||
vdev_raidz_math_ssse3.c \ | |||||
vdev_removal.c \ | |||||
vdev_root.c \ | |||||
vdev_trim.c \ | |||||
zap.c \ | |||||
zap_leaf.c \ | |||||
zap_micro.c \ | |||||
zcp.c \ | |||||
zcp_get.c \ | |||||
zcp_global.c \ | |||||
zcp_iter.c \ | |||||
zcp_set.c \ | |||||
zcp_synctask.c \ | |||||
zfeature.c \ | |||||
zfs_byteswap.c \ | |||||
zfs_debug.c \ | |||||
zfs_file_os.c \ | |||||
zfs_fm.c \ | |||||
zfs_fuid.c \ | |||||
zfs_fuid_os.c \ | |||||
zfs_ioctl.c \ | |||||
zfs_onexit.c \ | |||||
zfs_quota.c \ | |||||
zfs_ratelimit.c \ | |||||
zfs_rlock.c \ | |||||
zfs_sa.c \ | |||||
zil.c \ | |||||
zio.c \ | |||||
zio_checksum.c \ | |||||
zio_compress.c \ | |||||
zio_inject.c \ | |||||
zle.c \ | |||||
zrlock.c \ | |||||
zthr.c \ | |||||
zvol.c | |||||
.include <bsd.kmod.mk> | .include <bsd.kmod.mk> | ||||
CFLAGS+= -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h | |||||
CWARNFLAGS+=-Wno-missing-prototypes | CFLAGS.gcc+= -Wno-pointer-to-int-cast | ||||
CWARNFLAGS+=-Wno-undef | |||||
CWARNFLAGS+=-Wno-strict-prototypes | CFLAGS.lapi.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-cast-qual | CFLAGS.lcompat.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-parentheses | CFLAGS.lobject.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-redundant-decls | CFLAGS.ltable.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-missing-braces | CFLAGS.lvm.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-uninitialized | CFLAGS.nvpair.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-unused | CFLAGS.spl_string.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-inline | CFLAGS.spl_vm.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-switch | CFLAGS.spl_zlib.c= -Wno-cast-qual | ||||
CWARNFLAGS+=-Wno-pointer-arith | CFLAGS.abd.c= -Wno-cast-qual | ||||
Not Done Inline ActionsI'm curious, what's the construct that causes us to need this on so many files? imp: I'm curious, what's the construct that causes us to need this on so many files?
| |||||
Done Inline Actions
Linux const obliviousness IIRC mmacy: > I'm curious, what's the construct that causes us to need this on so many files?
>
Linux… | |||||
CFLAGS.zfs_log.c= -Wno-cast-qual | |||||
CFLAGS.zfs_vnops.c= -Wno-pointer-arith | |||||
CFLAGS.u8_textprep.c= -Wno-cast-qual | |||||
CFLAGS.zfs_fletcher.c= -Wno-cast-qual -Wno-pointer-arith | |||||
CFLAGS.zfs_fletcher_intel.c= -Wno-cast-qual -Wno-pointer-arith | |||||
CFLAGS.zfs_fletcher_sse.c= -Wno-cast-qual -Wno-pointer-arith | |||||
CFLAGS.zfs_fletcher_avx512.c= -Wno-cast-qual -Wno-pointer-arith | |||||
CFLAGS.zprop_common.c= -Wno-cast-qual | |||||
CFLAGS.ddt.c= -Wno-cast-qual | |||||
CFLAGS.dmu.c= -Wno-cast-qual | |||||
CFLAGS.dmu_traverse.c= -Wno-cast-qual | |||||
CFLAGS.dsl_dir.c= -Wno-cast-qual | |||||
CFLAGS.dsl_deadlist.c= -Wno-cast-qual | |||||
CFLAGS.dsl_prop.c= -Wno-cast-qual | |||||
CFLAGS.fm.c= -Wno-cast-qual | |||||
CFLAGS.lz4.c= -Wno-cast-qual | |||||
CFLAGS.spa.c= -Wno-cast-qual | |||||
CFLAGS.spa_misc.c= -Wno-cast-qual | |||||
CFLAGS.vdev_raidz.c= -Wno-cast-qual | |||||
CFLAGS.vdev_raidz_math.c= -Wno-cast-qual | |||||
CFLAGS.vdev_raidz_math_scalar.c= -Wno-cast-qual | |||||
CFLAGS.vdev_raidz_math_avx2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |||||
CFLAGS.vdev_raidz_math_avx512f.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |||||
CFLAGS.vdev_raidz_math_sse2.c= -Wno-cast-qual -Wno-duplicate-decl-specifier | |||||
CFLAGS.zap_leaf.c= -Wno-cast-qual | |||||
CFLAGS.zap_micro.c= -Wno-cast-qual | |||||
CFLAGS.zcp.c= -Wno-cast-qual | |||||
CFLAGS.zfs_fm.c= -Wno-cast-qual | |||||
CFLAGS.zfs_ioctl.c= -Wno-cast-qual | |||||
CFLAGS.zil.c= -Wno-cast-qual | |||||
CFLAGS.zio.c= -Wno-cast-qual | |||||
CFLAGS.zrlock.c= -Wno-cast-qual |
Multiple += like this is a lot of malloc churn for make.
Much more efficient to a single multi-line value.