Blame Makefile.am

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