xref: /freebsd/sys/contrib/openzfs/lib/Makefile.am (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1# NB: GNU Automake Manual, Chapter 8.3.5: Libtool Convenience Libraries
2# These nine libraries are intermediary build components.
3SUBDIRS = libavl libicp libshare libspl libtpool libzstd
4
5if BUILD_LINUX
6SUBDIRS += libefi
7endif
8
9# libnvpair is installed as part of the final build product
10# libzutil depends on it, so it must be compiled before libzutil
11SUBDIRS += libnvpair
12
13# libzutil depends on libefi if present
14SUBDIRS += libzutil libunicode
15
16# These five libraries, which are installed as the final build product,
17# incorporate the eight convenience libraries given above.
18DISTLIBS = libuutil libzfs_core libzfs libzpool libzfsbootenv
19SUBDIRS += $(DISTLIBS)
20DISTLIBS += libnvpair
21
22# An ABI is stored for each of these libraries.  Note that libzpool.so
23# is only linked against by ztest and zdb and no stable ABI is provided.
24ABILIBS = libnvpair libuutil libzfs_core libzfs libzfsbootenv
25
26PHONY = checkabi storeabi
27checkabi: $(ABILIBS)
28	set -e ; for dir in $(ABILIBS) ; do \
29		$(MAKE) -C $$dir checkabi ; \
30	done
31
32storeabi: $(ABILIBS)
33	set -e ; for dir in $(ABILIBS) ; do \
34		$(MAKE) -C $$dir storeabi ; \
35	done
36