freebsd-dev/sys/modules/zfs/Makefile
Justin Hibbits d9dbd70bca Update CFLAGS for clang compatibility
* Clang/llvm does not (yet) support -m(no-)spe, so make it gcc-only
* Clang now supports -msoft-float, and does not appear to recognize
  "-disable-ppc-float-in-variadic", which appears to have been a crutch until
  soft-float was implemented.  It's now implemented for both 32- and 64-bit.
* Clang/llvm use a 'medium' code model by default for powerpc64, supporting up
  to 4GB TOC, and does not support the '-mminimal-toc' option.  Given both of
  these, make -mminimal-toc gcc-only.

MFC after:	2 weeks
2017-01-31 01:55:29 +00:00

121 lines
2.6 KiB
Makefile

# $FreeBSD$
SYSDIR?=${.CURDIR}/../..
KMOD= zfs
SRCS= bus_if.h device_if.h vnode_if.h opt_kstack_pages.h
SUNW= ${SYSDIR}/cddl/contrib/opensolaris
.PATH: ${SUNW}/common/acl
SRCS+= acl_common.c
.PATH: ${SUNW}/common/avl
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: ${SYSDIR}/cddl/compat/opensolaris/kern
SRCS+= opensolaris_acl.c
SRCS+= opensolaris_dtrace.c
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 exists(${_A}/${MACHINE_CPUARCH}/opensolaris_atomic.S)
.PATH: ${_A}/${MACHINE_CPUARCH}
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
.PATH: ${SUNW}/uts/common/fs
SRCS+= gfs.c
SRCS+= vnode.c
.PATH: ${SUNW}/uts/common/os
SRCS+= callb.c
SRCS+= fm.c
SRCS+= list.c
SRCS+= nvpair_alloc_system.c
.PATH: ${SUNW}/uts/common/zmod
SRCS+= adler32.c
SRCS+= opensolaris_crc32.c
SRCS+= deflate.c
SRCS+= inffast.c
SRCS+= inflate.c
SRCS+= inftrees.c
SRCS+= trees.c
SRCS+= zmod.c
SRCS+= zmod_subr.c
SRCS+= zutil.c
.PATH: ${SYSDIR}/crypto/sha2
SRCS+= sha256c.c sha512c.c
.PATH: ${SYSDIR}/crypto/skein
SRCS+= skein.c skein_block.c
.PATH: ${SUNW}/common/zfs
.include "${SUNW}/uts/common/Makefile.files"
.PATH: ${SUNW}/uts/common/fs/zfs
ZFS_SRCS= ${ZFS_OBJS:C/.o$/.c/}
SRCS+= ${ZFS_SRCS}
SRCS+= vdev_geom.c
SRCS+= trim_map.c
# Use FreeBSD's namecache.
CFLAGS+=-DFREEBSD_NAMECACHE
CFLAGS+=-I${SYSDIR}/cddl/compat/opensolaris
CFLAGS+=-I${SUNW}/uts/common/fs/zfs
CFLAGS+=-I${SUNW}/uts/common/zmod
CFLAGS+=-I${SUNW}/uts/common
CFLAGS+=-I${SYSDIR}
CFLAGS+=-I${SUNW}/common/zfs
CFLAGS+=-I${SUNW}/common
CFLAGS+=-DBUILDING_ZFS
.if ${MACHINE_ARCH} == "powerpc64"
CFLAGS.gcc+=-mminimal-toc
.endif
.ifdef ZFS_DEBUG
CFLAGS+=-DDEBUG=1
DEBUG_FLAGS=-g
.endif
.include <bsd.kmod.mk>
CFLAGS+= -include ${SYSDIR}/cddl/compat/opensolaris/sys/debug_compat.h
CWARNFLAGS+=-Wno-missing-prototypes
CWARNFLAGS+=-Wno-undef
CWARNFLAGS+=-Wno-strict-prototypes
CWARNFLAGS+=-Wno-cast-qual
CWARNFLAGS+=-Wno-parentheses
CWARNFLAGS+=-Wno-redundant-decls
CWARNFLAGS+=-Wno-missing-braces
CWARNFLAGS+=-Wno-uninitialized
CWARNFLAGS+=-Wno-unused
CWARNFLAGS+=-Wno-inline
CWARNFLAGS+=-Wno-switch
CWARNFLAGS+=-Wno-pointer-arith