aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Makefile.am
blob: db7a3fa31d40a088263f34570be0267fb7add5dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# NB: GNU Automake Manual, Chapter 8.3.5: Libtool Convenience Libraries
# These nine libraries are intermediary build components.
SUBDIRS = libavl libicp libshare libspl libtpool libzstd
CPPCHECKDIRS  = libavl libicp libnvpair libshare libspl libtpool libunicode
CPPCHECKDIRS += libuutil libzfs libzfs_core libzfsbootenv libzpool libzutil

if BUILD_LINUX
SUBDIRS += libefi
CPPCHECKDIRS += libefi
endif

# libnvpair is installed as part of the final build product
# libzutil depends on it, so it must be compiled before libzutil
SUBDIRS += libnvpair

# libzutil depends on libefi if present
SUBDIRS += libzutil libunicode

# These five libraries, which are installed as the final build product,
# incorporate the eight convenience libraries given above.
DISTLIBS = libuutil libzfs_core libzfs libzpool libzfsbootenv
SUBDIRS += $(DISTLIBS)
DISTLIBS += libnvpair

# An ABI is stored for each of these libraries.  Note that libzpool.so
# is only linked against by ztest and zdb and no stable ABI is provided.
ABILIBS = libnvpair libuutil libzfs_core libzfs libzfsbootenv

PHONY = checkabi storeabi cppcheck
checkabi: $(ABILIBS)
	set -e ; for dir in $(ABILIBS) ; do \
		$(MAKE) -C $$dir checkabi ; \
	done

storeabi: $(ABILIBS)
	set -e ; for dir in $(ABILIBS) ; do \
		$(MAKE) -C $$dir storeabi ; \
	done

cppcheck: $(CPPCHECKDIRS)
	set -e ; for dir in $(CPPCHECKDIRS) ; do \
		$(MAKE) -C $$dir cppcheck ; \
	done