1168404Spjd# $FreeBSD$
2168404Spjd
3177674Sjb.include "${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/Makefile.files"
4168404Spjd
5168404Spjd# ZFS_COMMON_SRCS
6177674Sjb.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
7168404Spjd# ZFS_SHARED_SRCS
8177674Sjb.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs
9168404Spjd# KERNEL_SRCS
10177674Sjb.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzpool/common
11168404Spjd# LIST_SRCS
12177674Sjb.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/os
13168404Spjd# ATOMIC_SRCS
14219089Spjd.if exists(${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
15177674Sjb.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
16191933SkmacyATOMIC_SRCS=	opensolaris_atomic.S
17218725Sdim.if ${MACHINE_ARCH} != "ia64" && ${MACHINE_ARCH} != "sparc64"
18218723SdimACFLAGS+=	-Wa,--noexecstack
19218725Sdim.endif
20170431Spjd.else
21177674Sjb.PATH: ${.CURDIR}/../../../sys/cddl/compat/opensolaris/kern
22170431SpjdATOMIC_SRCS=	opensolaris_atomic.c
23170431Spjd.endif
24185029Spjd# UNICODE_SRCS
25185029Spjd.PATH: ${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/unicode
26168404Spjd
27168792SruLIB=		zpool
28168404Spjd
29240868SpjdZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} vdev_file.c trim_map.c
30168792SruZFS_SHARED_SRCS= ${ZFS_SHARED_OBJS:C/.o$/.c/}
31168792SruKERNEL_SRCS=	kernel.c taskq.c util.c
32168792SruLIST_SRCS=	list.c
33185029SpjdUNICODE_SRCS=	u8_textprep.c
34168404Spjd
35168792SruSRCS=		${ZFS_COMMON_SRCS} ${ZFS_SHARED_SRCS} \
36185029Spjd		${KERNEL_SRCS} ${LIST_SRCS} ${ATOMIC_SRCS} \
37185029Spjd		${UNICODE_SRCS}
38168404Spjd
39204597SuqsWARNS?=		0
40177674SjbCFLAGS+=	-I${.CURDIR}/../../../sys/cddl/compat/opensolaris
41219089SpjdCFLAGS+=	-I${.CURDIR}/../../compat/opensolaris/include
42219089SpjdCFLAGS+=	-I${.CURDIR}/../../compat/opensolaris/lib/libumem
43219089SpjdCFLAGS+=	-I${.CURDIR}/../../contrib/opensolaris/lib/libzpool/common
44177674SjbCFLAGS+=	-I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/sys
45177674SjbCFLAGS+=	-I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/fs/zfs
46177674SjbCFLAGS+=	-I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs
47177674SjbCFLAGS+=	-I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common
48219089SpjdCFLAGS+=	-I${.CURDIR}/../../contrib/opensolaris/head
49219089SpjdCFLAGS+=	-I${.CURDIR}/../../lib/libumem
50219089SpjdCFLAGS+=	-I${.CURDIR}/../../contrib/opensolaris/lib/libnvpair
51185029Spjd# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
52185029Spjd#      into libthr private structures. That's sooo evil, but it's only for
53185029Spjd#      ZFS debugging tools needs.
54185029SpjdCFLAGS+=	-DWANTS_MUTEX_OWNED
55185029SpjdCFLAGS+=	-I${.CURDIR}/../../../lib/libpthread/thread
56185029SpjdCFLAGS+=	-I${.CURDIR}/../../../lib/libpthread/sys
57211725SimpCFLAGS+=	-I${.CURDIR}/../../../lib/libthr/arch/${MACHINE_CPUARCH}/include
58168404Spjd
59219089SpjdDPADD=		${LIBMD} ${LIBPTHREAD} ${LIBZ}
60219089SpjdLDADD=		-lmd -lpthread -lz
61168404Spjd
62168404Spjd# atomic.S doesn't like profiling.
63168404SpjdNO_PROFILE=
64168404Spjd
65189801SrdivackyCSTD=	c99
66189801Srdivacky
67254949Swill# Since there are many asserts in this library, it makes no sense to compile
68254949Swill# it without debugging.
69240415Smm
70254949SwillCFLAGS+=	-g -DDEBUG=1
71254949Swill
72168404Spjd.include <bsd.lib.mk>
73