3 .include "${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/Makefile.files"
6 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
8 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua
10 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/zfs
12 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/lz4
14 .PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libzpool/common
16 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/os
18 .if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
19 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
20 ATOMIC_SRCS= opensolaris_atomic.S
21 .if ${MACHINE_ARCH} != "sparc64"
22 ACFLAGS+= -Wa,--noexecstack
25 .PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern
26 ATOMIC_SRCS= opensolaris_atomic.c
29 .PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/unicode
31 .PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libcmdutils/common
35 ZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} trim_map.c
36 ZFS_SHARED_SRCS= ${ZFS_SHARED_OBJS:C/.o$/.c/}
37 LZ4_COMMON_SRCS= lz4.c
38 LUA_SRCS= ${LUA_OBJS:C/.o$/.c/}
39 KERNEL_SRCS= kernel.c taskq.c util.c
41 UNICODE_SRCS= u8_textprep.c
42 LIBCMDUTILS_SRCS=nicenum.c
44 SRCS= ${ZFS_COMMON_SRCS} ${ZFS_SHARED_SRCS} ${LUA_SRCS} \
45 ${LZ4_COMMON_SRCS} ${KERNEL_SRCS} ${LIST_SRCS} ${ATOMIC_SRCS} \
46 ${UNICODE_SRCS} ${LIBCMDUTILS_SRCS}
49 CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris
50 CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
51 CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/lib/libumem
52 CFLAGS+= -I${SRCTOP}/cddl/contrib/opensolaris/lib/libzfs/common
53 CFLAGS+= -I${SRCTOP}/cddl/contrib/opensolaris/lib/libzpool/common
54 CFLAGS+= -I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
55 CFLAGS+= -I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua
56 CFLAGS+= -I${SRCTOP}/sys/cddl/contrib/opensolaris/common/zfs
57 CFLAGS+= -I${SRCTOP}/sys/cddl/contrib/opensolaris/common/lz4
58 CFLAGS+= -I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common
59 CFLAGS+= -I${SRCTOP}/cddl/contrib/opensolaris/head
60 CFLAGS+= -I${SRCTOP}/cddl/contrib/opensolaris/lib/libnvpair
61 CFLAGS+= -I${SRCTOP}/cddl/contrib/opensolaris/lib/libcmdutils
62 # XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
63 # into libthr private structures. That's sooo evil, but it's only for
64 # ZFS debugging tools needs.
65 CFLAGS+= -DWANTS_MUTEX_OWNED
66 CFLAGS+= -I${SRCTOP}/lib/libpthread/thread
67 CFLAGS+= -I${SRCTOP}/lib/libpthread/sys
68 CFLAGS+= -I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include
69 CFLAGS.lz4.c+= -D_FAKE_KERNEL
70 CFLAGS.gcc+= -fms-extensions
72 LIBADD= md pthread z nvpair avl umem
74 # atomic.S doesn't like profiling.
79 # Since there are many asserts in this library, it makes no sense to compile
80 # it without debugging.