xref: /freebsd/cddl/lib/libzpool/Makefile (revision dd00a8cd290a4189c3e0cf4aad5100e6b4ec66f7)
1# $FreeBSD$
2
3.include "${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/Makefile.files"
4
5# ZFS_COMMON_SRCS
6.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
7# LUA_SRCS
8.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua
9# ZFS_SHARED_SRCS
10.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/zfs
11# KERNEL_SRCS
12.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libzpool/common
13# LIST_SRCS
14.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/os
15# ATOMIC_SRCS
16.if exists(${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}/opensolaris_atomic.S)
17.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/atomic/${MACHINE_ARCH}
18ATOMIC_SRCS=	opensolaris_atomic.S
19.if ${MACHINE_ARCH} != "sparc64"
20ACFLAGS+=	-Wa,--noexecstack
21.endif
22.else
23.PATH: ${SRCTOP}/sys/cddl/compat/opensolaris/kern
24ATOMIC_SRCS=	opensolaris_atomic.c
25.endif
26# UNICODE_SRCS
27.PATH: ${SRCTOP}/sys/cddl/contrib/opensolaris/common/unicode
28
29LIB=		zpool
30
31ZFS_COMMON_SRCS= ${ZFS_COMMON_OBJS:C/.o$/.c/} trim_map.c
32ZFS_SHARED_SRCS= ${ZFS_SHARED_OBJS:C/.o$/.c/}
33LUA_SRCS=	${LUA_OBJS:C/.o$/.c/}
34KERNEL_SRCS=	kernel.c taskq.c util.c
35LIST_SRCS=	list.c
36UNICODE_SRCS=	u8_textprep.c
37
38SRCS=		${ZFS_COMMON_SRCS} ${ZFS_SHARED_SRCS} ${LUA_SRCS} \
39		${KERNEL_SRCS} ${LIST_SRCS} ${ATOMIC_SRCS} \
40		${UNICODE_SRCS}
41
42WARNS?=		0
43CFLAGS+=	-I${SRCTOP}/sys/cddl/compat/opensolaris
44CFLAGS+=	-I${SRCTOP}/cddl/compat/opensolaris/include
45CFLAGS+=	-I${SRCTOP}/cddl/compat/opensolaris/lib/libumem
46CFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/lib/libzpool/common
47CFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/sys
48CFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
49CFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua
50CFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/common/zfs
51CFLAGS+=	-I${SRCTOP}/sys/cddl/contrib/opensolaris/uts/common
52CFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/head
53CFLAGS+=	-I${SRCTOP}/cddl/contrib/opensolaris/lib/libnvpair
54# XXX: pthread doesn't have mutex_owned() equivalent, so we need to look
55#      into libthr private structures. That's sooo evil, but it's only for
56#      ZFS debugging tools needs.
57CFLAGS+=	-DWANTS_MUTEX_OWNED
58CFLAGS+=	-I${SRCTOP}/lib/libpthread/thread
59CFLAGS+=	-I${SRCTOP}/lib/libpthread/sys
60CFLAGS+=	-I${SRCTOP}/lib/libthr/arch/${MACHINE_CPUARCH}/include
61
62LIBADD=		md pthread z nvpair avl umem
63
64# atomic.S doesn't like profiling.
65MK_PROFILE=	no
66
67CSTD=	c99
68
69# Since there are many asserts in this library, it makes no sense to compile
70# it without debugging.
71
72CFLAGS+=	-g -DDEBUG=1
73
74.include <bsd.lib.mk>
75