d9dbd70bca
* 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
121 lines
2.6 KiB
Makefile
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
|