| ## Process this file with automake to produce Makefile.in |
| # Copyright (C) 2002-2021 Free Software Foundation, Inc. |
| # |
| # This file is part of LIBTASN1. |
| # |
| # This program is free software: you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation, either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc |
| AM_DISTCHECK_DVI_TARGET = html |
| |
| EXTRA_DIST = windows/asn1-parser/asn1-parser.vcproj \ |
| windows/asn1-parser/config.h windows/libtasn1.ncb \ |
| windows/libtasn1.sln windows/libtasn1.suo \ |
| windows/gnulib/getopt.h windows/gnulib/gnulib.vcproj \ |
| windows/libtasn1/libtasn1.vcproj \ |
| windows/test-parser/test-parser.vcproj \ |
| windows/test-tree/test-tree.vcproj windows/libtasn14win.mk |
| EXTRA_DIST += cfg.mk maint.mk CONTRIBUTING.md README.md |
| |
| SUBDIRS = lib src fuzz tests |
| |
| if ENABLE_DOC |
| SUBDIRS += doc examples |
| endif |
| |
| include $(top_srcdir)/aminclude_static.am |
| |
| ACLOCAL_AMFLAGS = -I m4 -I src/gl/m4 |
| |
| ABIDW_COMMON = --no-show-locs --no-corpus-path |
| ABIGNORE_FILE = "$(top_srcdir)/devel/libtasn1.abignore" |
| LIBGNUTLS_ABI_LAST_FILE = "$(top_srcdir)/devel/libtasn1-latest-$$(uname -m).abi" |
| |
| abi-dump-versioned: lib/libtasn1.la |
| @echo "**************************************************" |
| @echo "Generating versioned ABI files of current libtasn1" |
| @echo "**************************************************" |
| @abidw lib/.libs/libtasn1.so $(ABIDW_COMMON) --suppressions $(ABIGNORE_FILE) --out-file "$(srcdir)/devel/libtasn1-$(VERSION)-$$(uname -m).abi" |
| |
| abi-dump-latest: lib/libtasn1.la |
| @echo "****************************************" |
| @echo "Generating ABI files of current libtasn1" |
| @echo "****************************************" |
| @abidw lib/.libs/libtasn1.so $(ABIDW_COMMON) --suppressions $(ABIGNORE_FILE) --out-file $(LIBGNUTLS_ABI_LAST_FILE) |
| @rm -f "./devel/libtasn1-latest-$$(uname -m).tmp" |
| |
| abi-check-latest: lib/libtasn1.la |
| @echo "Checking whether the latest ABI dump matches" |
| @abidiff --suppressions $(ABIGNORE_FILE) lib/.libs/libtasn1.so $(LIBGNUTLS_ABI_LAST_FILE) --hd2 "$(builddir)/lib/includes/"; if test $$? != 0;then \ |
| echo "*********************************************************"; \ |
| echo "libtasn1 ABI has changed; use 'make files-update' "; \ |
| echo "and use 'git diff' to check correctness before committing"; \ |
| echo "*********************************************************"; \ |
| false; \ |
| fi |
| @echo "********************************" |
| @echo "Current release matches ABI dump" |
| @echo "********************************" |
| |
| ABICHECK_COMMON = --no-added-syms |
| abi-check: lib/libtasn1.la |
| for file in $$(echo $(srcdir)/devel/libtasn1-*-$$(uname -m).abi);do \ |
| echo "Comparing libtasn1 with $$file"; \ |
| abidiff $${file} lib/.libs/libtasn1.so $(ABICHECK_COMMON) --suppressions $(ABIGNORE_FILE) --hd2 "$(builddir)/lib/includes//"; \ |
| if test $$? != 0;then \ |
| echo "****************************************************************************"; \ |
| echo "ABI check failed; If intentional add suppression in devel/libtasn1.abignore"; \ |
| echo "****************************************************************************"; \ |
| false; \ |
| fi; \ |
| done |
| @echo "********************" |
| @echo "ABI checks completed" |
| @echo "********************" |
| |
| files-update: abi-dump-latest |
| |
| local-code-coverage-output: code-coverage-capture |
| cat "GNU Libtasn1-$(VERSION)-coverage/index.html"|grep headerCovTableEntry|grep '%'|head -1|sed 's/^.*>\([0-9]\+\.[0-9]\+\s*%\)<.*$$/ coverage lines: \1/' || true |
| |
| clean-local: code-coverage-clean |
| distclean-local: code-coverage-dist-clean |
| |
| # git-version-gen |
| EXTRA_DIST += $(top_srcdir)/.version |
| BUILT_SOURCES = $(top_srcdir)/.version |
| $(top_srcdir)/.version: |
| echo $(VERSION) > $@-t && mv $@-t $@ |
| dist-hook: gen-ChangeLog |
| echo $(VERSION) > $(distdir)/.tarball-version |
| if test -d "$(top_srcdir)/devel"; then \ |
| $(MAKE) -C $(top_builddir) abi-check-latest; \ |
| make -C doc/ compare-makefile; \ |
| fi |
| |
| .PHONY: gen-ChangeLog |
| gen-ChangeLog: |
| $(AM_V_GEN)if test -d .git; then \ |
| $(top_srcdir)/build-aux/gitlog-to-changelog > \ |
| $(distdir)/cl-t && \ |
| { rm -f $(distdir)/ChangeLog && \ |
| mv $(distdir)/cl-t $(distdir)/ChangeLog; } \ |
| fi |
| |
| .PHONY: abi-check abi-dump-versioned abi-dump-latest |