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
4CPPCHECKDIRS  = libavl libicp libnvpair libshare libspl libtpool libunicode
5CPPCHECKDIRS += libuutil libzfs libzfs_core libzfsbootenv libzpool libzutil
6
7if BUILD_LINUX
8SUBDIRS += libefi
9CPPCHECKDIRS += libefi
10endif
11
12# libnvpair is installed as part of the final build product
13# libzutil depends on it, so it must be compiled before libzutil
14SUBDIRS += libnvpair
15
16# libzutil depends on libefi if present
17SUBDIRS += libzutil libunicode
18
19# These five libraries, which are installed as the final build product,
20# incorporate the eight convenience libraries given above.
21DISTLIBS = libuutil libzfs_core libzfs libzpool libzfsbootenv
22SUBDIRS += $(DISTLIBS)
23DISTLIBS += libnvpair
24
25# An ABI is stored for each of these libraries.  Note that libzpool.so
26# is only linked against by ztest and zdb and no stable ABI is provided.
27ABILIBS = libnvpair libuutil libzfs_core libzfs libzfsbootenv
28
29PHONY = checkabi storeabi cppcheck
30checkabi: $(ABILIBS)
31	set -e ; for dir in $(ABILIBS) ; do \
32		$(MAKE) -C $$dir checkabi ; \
33	done
34
35storeabi: $(ABILIBS)
36	set -e ; for dir in $(ABILIBS) ; do \
37		$(MAKE) -C $$dir storeabi ; \
38	done
39
40cppcheck: $(CPPCHECKDIRS)
41	set -e ; for dir in $(CPPCHECKDIRS) ; do \
42		$(MAKE) -C $$dir cppcheck ; \
43	done
44