1168404Spjd# $FreeBSD: stable/10/cddl/lib/libzpool/Makefile 325915 2017-11-16 23:36:19Z avg $
2168404Spjd
3321270Sngie.include "${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/Makefile.files"
4168404Spjd
5168404Spjd# ZFS_COMMON_SRCS
6321270Sngie.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
7168404Spjd# ZFS_SHARED_SRCS
8321270Sngie.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/zfs
9168404Spjd# KERNEL_SRCS
10321270Sngie.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libzpool/common
11168404Spjd# LIST_SRCS
12321270Sngie.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/os
13168404Spjd# ATOMIC_SRCS
14321270Sngie.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
15321270Sngie.PATH: ${SRCTOP}/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
21321270Sngie.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern
22170431SpjdATOMIC_SRCS=	opensolaris_atomic.c
23170431Spjd.endif
24185029Spjd# UNICODE_SRCS
25321270Sngie.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/unicode
26325915Savg# LIBCMDUTILS_SRCS
27325915Savg.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libcmdutils/common
28168404Spjd
29168792SruLIB=		zpool
30168404Spjd
31240868SpjdZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} vdev_file.c trim_map.c
32168792SruZFS_SHARED_SRCS= ${ZFS_SHARED_OBJS:C/.o$/.c/}
33168792SruKERNEL_SRCS=	kernel.c taskq.c util.c
34168792SruLIST_SRCS=	list.c
35185029SpjdUNICODE_SRCS=	u8_textprep.c
36325915SavgLIBCMDUTILS_SRCS=nicenum.c
37168404Spjd
38168792SruSRCS=		${ZFS_COMMON_SRCS} ${ZFS_SHARED_SRCS} \
39185029Spjd		${KERNEL_SRCS} ${LIST_SRCS} ${ATOMIC_SRCS} \
40325915Savg		${UNICODE_SRCS} ${LIBCMDUTILS_SRCS}
41168404Spjd
42204597SuqsWARNS?=		0
43321270SngieCFLAGS+=	-I${SRCTOP}/sys/cddl/compat/opensolaris
44321270SngieCFLAGS+=	-I${SRCTOP}/cddl/compat/opensolaris/include
45321270SngieCFLAGS+=	-I${SRCTOP}/cddl/compat/opensolaris/lib/libumem
46321270SngieCFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/lib/libzpool/common
47321270SngieCFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys
48321270SngieCFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
49321270SngieCFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/common/zfs
50321270SngieCFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common
51321270SngieCFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/head
52321270SngieCFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/lib/libnvpair
53325915SavgCFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/lib/libcmdutils
54185029Spjd# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
55185029Spjd#      into libthr private structures. That's sooo evil, but it's only for
56185029Spjd#      ZFS debugging tools needs.
57185029SpjdCFLAGS+=	-DWANTS_MUTEX_OWNED
58321270SngieCFLAGS+=	-I${SRCTOP}/lib/libpthread/thread
59321270SngieCFLAGS+=	-I${SRCTOP}/lib/libpthread/sys
60321270SngieCFLAGS+=	-I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include
61168404Spjd
62275236SrodrigcDPADD=		${LIBMD} ${LIBPTHREAD} ${LIBZ} ${LIBNVPAIR} \
63275236Srodrigc		${LIBAVL} ${LIBUMEM}
64275236SrodrigcLDADD=		-lmd -lpthread -lz -lnvpair -lavl -lumem
65168404Spjd
66168404Spjd# atomic.S doesn't like profiling.
67168404SpjdNO_PROFILE=
68168404Spjd
69189801SrdivackyCSTD=	c99
70189801Srdivacky
71254949Swill# Since there are many asserts in this library, it makes no sense to compile
72254949Swill# it without debugging.
73240415Smm
74254949SwillCFLAGS+=	-g -DDEBUG=1
75254949Swill
76168404Spjd.include <bsd.lib.mk>
77