libabigail/Makefile.am
Dodji Seketeli 3e93b0f222 configure: Support the optional 'big-tests' sub-directory
If the 'big-tests' sub-directory (or a symbolic link to it) is present
then this patch configures it.

By default, the patch defines a new git sub-module into the
'big-tests' sub-directory.  That git sub-module is the repository
git://sourceware.org/git/libabigail-tests.  Users can now add the
--recurse-submodules option to git clone when they clone
git://sourceware.org/git/libabigail, so that it clones git big-tests
submodule as well.

The patch adds a new 'big-tests' target (to the top-most Makefile.am)
which runs "make check" in the big-tests sub-directory.

The patch also adds a new 'full-check' target that runs targets check,
check-self-compare and big-tests.

        * Makefile.am: Add big-tests,clean-big-tests and full-check
	targets.
        * configure.ac: Add an --enable-big-tests option.  For now, this
	option is mandatory to handle the optional 'big-tests' support.
	If the --enable-big-tests option is provided and if the
	'big-tests' sub-directory is present, configure the big-tests/
	sub-package.
	* .gitmodules: New sub-module configuration to get
	git://sourceware.org/git/libabigail-tests and stick into ...
	* big-tests: ... this directory as a sub-module.
	* CONTRIBUTING: Update this to explain how to get the Big Tests
	going.
	* tests/Makefile.am: Update the test summary for the
	check-self-compare target.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2024-07-16 12:59:03 +02:00

104 lines
2.5 KiB
Makefile

## SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
SUBDIRS = include src tools tests doc bash-completion
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
headers = config.h
m4datadir = $(datadir)/aclocal
m4data_DATA = $(srcdir)/abigail.m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libabigail.pc
dist_noinst_DATA = default.abignore
abigaillibdir = $(pkglibdir)
abigaillib_DATA = default.abignore
#bashcompletiondir = $(datadir)/bash-completion/completions
#dist_bashcompletion_DATA =
EXTRA_DIST = \
autoconf-archive/ax_check_python_modules.m4 \
autoconf-archive/ax_prog_python_version.m4 \
autoconf-archive/ax_compare_version.m4 \
NEWS README LICENSE.txt license-change-2020.txt \
COMPILING COMMIT-LOG-GUIDELINES VISIBILITY \
ChangeLog gen-changelog.py \
$(headers) $(m4data_DATA) \
libabigail.pc.in
# automake already tells which subdir is being entered.
# Don't make make repeat.
AM_MAKEFLAGS = --no-print-directory
.PHONY: doc big-tests
doc: html-doc man info
html-doc:
$(MAKE) -C doc html-doc
$(MAKE) -C doc/manuals html-doc
man:
$(MAKE) -C doc/manuals man
info:
$(MAKE) -C doc/manuals info
check-valgrind:
$(MAKE) -C tests check-valgrind
check-valgrind-recursive:
$(MAKE) -C tests check-valgrind-memcheck-recursive
update-changelog:
python $(srcdir)/gen-changelog.py > $(srcdir)/ChangeLog
TARBALL = $(PACKAGE_NAME)-$(VERSION).tar.xz
RELEASED_BRANCH = master
$(TARBALL): distcheck
tag-release-only:
git tag -m "$(PACKAGE_NAME) release $(VERSION)" \
"$(PACKAGE_NAME)-$(VERSION)" $(RELEASED_BRANCH)
tag-release: tag-release-only
upload-release-only:
scp $(TARBALL) sourceware.org:/var/ftp/pub/libabigail
tarball: $(TARBALL)
upload-release: tarball tag-release upload-release-only
release: upload-release
upload-release: tarball-and-tag-and-upload
tarball-and-tag-and-upload: tarball-and-all
tarball-and-all: tag-and-all
$(MAKE) tarball
tag-and-all: distcheck check-self-compare
$(MAKE) tag-release-only
# the default for GZIP_ENV is --best, which is pretty slow for check runs
# distcheck-fast therefore compresses with --fast instead
distcheck-fast:
$(MAKE) distcheck GZIP_ENV="--fast" XZ_OPT="-0"
# This makes us compare libabigail.so against its own ABIXML
# representation. It's super slow (more than 5 minutes on one of my
# old boxes) so I do this only before releases.
check-self-compare:
$(MAKE) -C tests check-self-compare
big-tests:
test -d big-tests && $(MAKE) -C big-tests check
clean-big-tests:
test -d big-tests && $(MAKE) -C big-tests clean
full-check: check check-self-compare big-tests