mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	 14c34c3d49
			
		
	
	
		14c34c3d49
		
	
	
	
	
		
			
			Provide two make targets: checkabi and storeabi. storeabi uses libabigail to generate a reference copy of the ABI for the public libraries. checkabi compares such a reference to the compiled version, failing if they are not compatible. No ABI is generated for libzpool.so, it is only used by ztest and zdb and not external consumers. Co-authored-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Antonio Russo <aerusso@aerusso.net> Closes #11144
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # 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
 | |
| 
 | |
| if BUILD_LINUX
 | |
| SUBDIRS += 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
 | |
| 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
 |