1libzfs_la_CFLAGS  = $(AM_CFLAGS) $(LIBRARY_CFLAGS)
2libzfs_la_CFLAGS += $(LIBCRYPTO_CFLAGS) $(ZLIB_CFLAGS)
3libzfs_la_CFLAGS += -fvisibility=hidden
4
5lib_LTLIBRARIES += libzfs.la
6CPPCHECKTARGETS += libzfs.la
7
8dist_libzfs_la_SOURCES = \
9	%D%/libzfs_impl.h \
10	%D%/libzfs_changelist.c \
11	%D%/libzfs_config.c \
12	%D%/libzfs_crypto.c \
13	%D%/libzfs_dataset.c \
14	%D%/libzfs_diff.c \
15	%D%/libzfs_import.c \
16	%D%/libzfs_iter.c \
17	%D%/libzfs_mount.c \
18	%D%/libzfs_pool.c \
19	%D%/libzfs_sendrecv.c \
20	%D%/libzfs_status.c \
21	%D%/libzfs_util.c
22
23if BUILD_FREEBSD
24dist_libzfs_la_SOURCES += \
25	%D%/os/freebsd/libzfs_compat.c \
26	%D%/os/freebsd/libzfs_zmount.c
27endif
28
29if BUILD_LINUX
30dist_libzfs_la_SOURCES += \
31	%D%/os/linux/libzfs_mount_os.c \
32	%D%/os/linux/libzfs_pool_os.c \
33	%D%/os/linux/libzfs_util_os.c
34endif
35
36nodist_libzfs_la_SOURCES = \
37	module/zcommon/cityhash.c \
38	module/zcommon/zfeature_common.c \
39	module/zcommon/zfs_comutil.c \
40	module/zcommon/zfs_deleg.c \
41	module/zcommon/zfs_fletcher.c \
42	module/zcommon/zfs_fletcher_aarch64_neon.c \
43	module/zcommon/zfs_fletcher_avx512.c \
44	module/zcommon/zfs_fletcher_intel.c \
45	module/zcommon/zfs_fletcher_sse.c \
46	module/zcommon/zfs_fletcher_superscalar.c \
47	module/zcommon/zfs_fletcher_superscalar4.c \
48	module/zcommon/zfs_namecheck.c \
49	module/zcommon/zfs_prop.c \
50	module/zcommon/zpool_prop.c \
51	module/zcommon/zprop_common.c
52
53libzfs_la_LIBADD = \
54	libshare.la \
55	libzfs_core.la \
56	libnvpair.la \
57	libzutil.la \
58	libuutil.la
59
60libzfs_la_LIBADD += -lm $(LIBCRYPTO_LIBS) $(ZLIB_LIBS) $(LIBFETCH_LIBS) $(LTLIBINTL)
61
62libzfs_la_LDFLAGS = -pthread
63
64if !ASAN_ENABLED
65libzfs_la_LDFLAGS += -Wl,-z,defs
66endif
67
68if BUILD_FREEBSD
69libzfs_la_LIBADD += -lutil -lgeom
70endif
71
72libzfs_la_LDFLAGS += -version-info 5:0:1
73
74pkgconfig_DATA += %D%/libzfs.pc
75
76dist_noinst_DATA += %D%/libzfs.abi %D%/libzfs.suppr
77dist_noinst_DATA += %D%/THIRDPARTYLICENSE.openssl %D%/THIRDPARTYLICENSE.openssl.descrip
78