8d91c0f4cd
-- Signed-off-by: Werner Koch <wk@gnupg.org>
130 lines
4.3 KiB
Makefile
130 lines
4.3 KiB
Makefile
# Makefile.am - Top level Makefile for GPGME.
|
|
# Copyright (C) 2000 Werner Koch (dd9jn)
|
|
# Copyright (C) 2001, 2002, 2004, 2005, 2008, 2009 g10 Code GmbH
|
|
#
|
|
# This file is part of GPGME.
|
|
#
|
|
# GPGME is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as
|
|
# published by the Free Software Foundation; either version 2.1 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# GPGME 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 Lesser General
|
|
# Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this program; if not, see <https://gnu.org/licenses/>.
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
## Process this file with automake to produce Makefile.in
|
|
|
|
# Location of the released tarball archives. Note that this is an
|
|
# internal archive and before uploading this to the public server,
|
|
# manual tests should be run and the git release tat set and pushed.
|
|
# Adjust as needed.
|
|
RELEASE_ARCHIVE_DIR = wk@vigenere:tarballs/gpgme/
|
|
|
|
# The key used to sign the released sources. Adjust as needed.
|
|
RELEASE_SIGNING_KEY = D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
|
|
|
|
# Autoconf flags
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
DISTCHECK_CONFIGURE_FLAGS =
|
|
|
|
EXTRA_DIST = autogen.sh autogen.rc gpgme.spec.in \
|
|
ChangeLog-2011 m4/ChangeLog-2011 \
|
|
conf/whatisthis VERSION
|
|
|
|
|
|
if RUN_GPG_TESTS
|
|
tests = tests
|
|
else
|
|
tests =
|
|
endif
|
|
|
|
SUBDIRS = src ${tests} doc lang
|
|
|
|
# Fix the version of the spec file.
|
|
dist-hook: gen-ChangeLog
|
|
@set -e; \
|
|
sed -e 's/@pkg_version@/$(PACKAGE_VERSION)/g' \
|
|
$(top_srcdir)/gpgme.spec.in > $(distdir)/gpgme.spec
|
|
|
|
distcheck-hook:
|
|
set -e; ( \
|
|
pref="#+macro: gpgme_" ;\
|
|
reldate="$$(date -u +%Y-%m-%d)" ;\
|
|
echo "$${pref}ver $(PACKAGE_VERSION)" ;\
|
|
echo "$${pref}date $${reldate}" ;\
|
|
list='$(DIST_ARCHIVES)'; for i in $$list; do \
|
|
case "$$i" in *.tar.bz2) \
|
|
echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\
|
|
echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\
|
|
echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\
|
|
esac;\
|
|
done ) | tee $(distdir).swdb
|
|
|
|
.PHONY: gen-ChangeLog release sign-release
|
|
|
|
gen_start_date = 2011-12-01T00:00:00
|
|
gen-ChangeLog:
|
|
if test -d $(top_srcdir)/.git; then \
|
|
(cd $(top_srcdir) && \
|
|
$(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
|
|
--amend=build-aux/git-log-fix \
|
|
--since=$(gen_start_date) ) > $(distdir)/cl-t; \
|
|
cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
|
|
rm -f $(distdir)/ChangeLog; \
|
|
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
|
fi
|
|
|
|
|
|
# Macro to help the release target.
|
|
RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
|
|
|
release:
|
|
+(set -e;\
|
|
if [ "$(abs_top_builddir)" = "$(abs_top_srcdir)" ]; then \
|
|
echo "error: build directory must not be the source directory" >&2;\
|
|
exit 2;\
|
|
fi ;\
|
|
echo "/* Build started at $$(date -uIseconds) */" ;\
|
|
cd $(top_srcdir); \
|
|
./autogen.sh --force; \
|
|
cd $(abs_top_builddir); \
|
|
rm -rf dist; mkdir dist ; cd dist ; \
|
|
$(abs_top_srcdir)/configure --enable-maintainer-mode; \
|
|
$(MAKE) distcheck TESTFLAGS=--parallel; \
|
|
echo "/* Build finished at $$(date -uIseconds) */" ;\
|
|
echo "/*" ;\
|
|
echo " * Please run the final step interactively:" ;\
|
|
echo " * make sign-release" ;\
|
|
echo " */" ;\
|
|
) 2>&1 | tee "$(RELEASE_NAME).buildlog"
|
|
|
|
sign-release:
|
|
+(set -e; \
|
|
cd dist; \
|
|
files1="$(RELEASE_NAME).tar.bz2" ;\
|
|
files2="$(RELEASE_NAME).tar.bz2.sig \
|
|
$(RELEASE_NAME).swdb \
|
|
$(RELEASE_NAME).buildlog" ;\
|
|
echo "/* Signing the source tarball ..." ;\
|
|
gpg -sbu $(RELEASE_SIGNING_KEY) $(RELEASE_NAME).tar.bz2 ;\
|
|
cat $(RELEASE_NAME).swdb >swdb.snippet;\
|
|
echo >>swdb.snippet ;\
|
|
sha1sum $${files1} >>swdb.snippet ;\
|
|
cat "../$(RELEASE_NAME).buildlog" swdb.snippet \
|
|
| gzip >$(RELEASE_NAME).buildlog ;\
|
|
echo "Copying to local archive ..." ;\
|
|
scp -p $${files1} $${files2} $(RELEASE_ARCHIVE_DIR)/ || true;\
|
|
echo "Uploading documentation ..." ;\
|
|
$(MAKE) -C doc online; \
|
|
echo '/*' ;\
|
|
echo ' * All done; for checksums see dist/swdb.snippet' ;\
|
|
echo ' */' ;\
|
|
)
|