-# Makefile.am - Top level makefile for GnuPG
-# Copyright (C) 2001, 2004, 2012 Free Software Foundation, Inc.
+# Makefile.am - main makefile for GnuPG
+# Copyright (C) 2001, 2004, 2010 Free Software Foundation, Inc.
#
# This file is part of GnuPG.
#
# 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/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
## Process this file with automake to produce Makefile.in
-ACLOCAL_AMFLAGS = -I m4 -I gl/m4
-DISTCHECK_CONFIGURE_FLAGS = --enable-symcryptrun --enable-mailto --enable-gpgtar
+# To include the wixlibs for building an MSI installer in a release use
+# make release WITH_MSI=1
-GITLOG_TO_CHANGELOG=gitlog-to-changelog
+# Location of the released tarball archives. This is prefixed by
+# the variable RELEASE_ARCHIVE in ~/.gnupg-autogen.rc. For example:
+# RELEASE_ARCHIVE=user@host:archive/tarballs
+RELEASE_ARCHIVE_SUFFIX = gnupg/v2.3
+# The variable RELEASE_SIGNKEY in ~/.gnupg-autogen.rc is used
+# to specify the key for signing. For example:
+# RELEASE_SIGNKEY=D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
-EXTRA_DIST = scripts/config.rpath autogen.sh README.GIT \
- ChangeLog-2011 po/ChangeLog-2011 scripts/ChangeLog-2011
-DISTCLEANFILES = g10defs.h
+# Autoconf flags.
+ACLOCAL_AMFLAGS = -I m4
+AM_DISTCHECK_DVI_TARGET = pdf
+AM_DISTCHECK_CONFIGURE_FLAGS = --enable-gnupg-builddir-envvar \
+ --enable-all-tests --enable-g13 \
+ --enable-gpgtar --enable-wks-tools --disable-ntbtls
-if BUILD_GPGSM
-kbx = kbx
-else
-kbx =
-endif
+GITLOG_TO_CHANGELOG=gitlog-to-changelog
+
+EXTRA_DIST = build-aux/config.rpath build-aux/potomo autogen.sh autogen.rc \
+ ChangeLog-2011 po/ChangeLog-2011 build-aux/ChangeLog-2011 \
+ VERSION README.GIT build-aux/gitlog-to-changelog \
+ COPYING.GPL2 COPYING.LGPL21 COPYING.LGPL3 \
+ COPYING.CC0 COPYING.other \
+ build-aux/git-log-fix build-aux/git-log-footer \
+ build-aux/getswdb.sh \
+ build-aux/speedo.mk \
+ build-aux/speedo/zlib.pc \
+ build-aux/speedo/w32/inst-options.ini \
+ build-aux/speedo/w32/inst.nsi \
+ build-aux/speedo/w32/pkg-copyright.txt \
+ build-aux/speedo/w32/g4wihelp.c \
+ build-aux/speedo/w32/pango.modules \
+ build-aux/speedo/w32/gdk-pixbuf-loaders.cache \
+ build-aux/speedo/w32/exdll.h \
+ build-aux/speedo/w32/README.txt \
+ build-aux/speedo/w32/gnupg-logo-150x57.bmp \
+ build-aux/speedo/w32/gnupg-logo-164x314.bmp \
+ build-aux/speedo/w32/wixlib.wxs \
+ build-aux/speedo/patches/atk-1.32.0.patch \
+ build-aux/speedo/patches/libiconv-1.14.patch \
+ build-aux/speedo/patches/pango-1.29.4.patch \
+ build-aux/speedo/patches/sqlite.patch
+DISTCLEANFILES = g10defs.h
+
if BUILD_GPG
gpg = g10
-keyserver = keyserver
else
gpg =
-keyserver =
endif
if BUILD_GPGSM
sm = sm
else
scd =
endif
-if BUILD_TOOLS
-tools = tools
+if BUILD_G13
+g13 = g13
+else
+g13 =
+endif
+if BUILD_DIRMNGR
+dirmngr = dirmngr
else
-tools =
+dirmngr =
endif
if BUILD_DOC
doc = doc
else
doc =
endif
-
-if HAVE_W32_SYSTEM
+if DISABLE_TESTS
tests =
else
tests = tests
endif
+if BUILD_TPM2D
+tpm2d = tpm2d
+else
+tpm2d =
+endif
-SUBDIRS = m4 gl include jnlib common ${kbx} \
- ${gpg} ${keyserver} ${sm} ${agent} ${scd} ${tools} po ${doc} ${tests}
+SUBDIRS = m4 common regexp kbx \
+ ${gpg} ${sm} ${agent} ${scd} ${g13} ${dirmngr} \
+ tools po ${doc} ${tests} ${tpm2d}
dist_doc_DATA = README
dist-hook: gen-ChangeLog
- echo "$(VERSION)" > $(distdir)/VERSION
+
+distcheck-hook:
+ set -e; ( \
+ pref="#+macro: gnupg24_" ;\
+ 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
+
+
+if HAVE_W32_SYSTEM
+install-data-hook:
+ set -e; \
+ for i in $$($(top_srcdir)/build-aux/potomo \
+ --get-linguas $(top_srcdir)/po) ; do \
+ $(MKDIR_P) "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES" || true; \
+ rm -f "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" \
+ 2>/dev/null || true; \
+ $(top_srcdir)/build-aux/potomo $(top_srcdir)/po/$$i.po \
+ "$(DESTDIR)$(localedir)/$$i/LC_MESSAGES/gnupg2.mo" ; \
+ done
+endif
gen_start_date = 2011-12-01T06:00:00
.PHONY: gen-ChangeLog
gen-ChangeLog:
- set -e; \
- if test -d $(top_srcdir)/.git; then \
+ if test -e $(top_srcdir)/.git; then \
(cd $(top_srcdir) && \
$(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
- --amend=scripts/git-log-fix \
+ --amend=build-aux/git-log-fix \
--since=$(gen_start_date) ) > $(distdir)/cl-t; \
- cat $(top_srcdir)/scripts/git-log-footer >> $(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
stowinstall:
$(MAKE) $(AM_MAKEFLAGS) install prefix=/usr/local/stow/gnupg
+
+TESTS_ENVIRONMENT = \
+ LC_ALL=C \
+ EXEEXT=$(EXEEXT) \
+ PATH=$(abs_top_builddir)/tests/gpgscm:$(PATH) \
+ abs_top_srcdir=$(abs_top_srcdir) \
+ objdir=$(abs_top_builddir) \
+ GPGSCM_PATH=$(abs_top_srcdir)/tests/gpgscm
+
+.PHONY: check-all release sign-release
+check-all:
+ $(TESTS_ENVIRONMENT) \
+ $(abs_top_builddir)/tests/gpgscm/gpgscm \
+ $(abs_srcdir)/tests/run-tests.scm $(TESTFLAGS) $(TESTS)
+
+# Names of to help the release target.
+RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
+RELEASE_W32_STEM_NAME = $(PACKAGE_TARNAME)-w32-$(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) */" ;\
+ [ -n "$(WITH_MSI)" ] && echo "/* (with MSI build support) */" ;\
+ 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; \
+ $(AMTAR) xjf $(RELEASE_NAME).tar.bz2 ;\
+ target=w32-release ;\
+ [ -n "$(WITH_MSI)" ] && target=w32-msi-release ;\
+ $(MAKE) -f $(RELEASE_NAME)/build-aux/speedo.mk $${target} ;\
+ 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; \
+ x=$$(grep '^RELEASE_ARCHIVE=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
+ if [ -z "$$x" ]; then \
+ echo "error: RELEASE_ARCHIVE missing in ~/.gnupg-autogen.rc">&2; \
+ exit 2;\
+ fi;\
+ myarchive="$$x/$(RELEASE_ARCHIVE_SUFFIX)";\
+ x=$$(grep '^RELEASE_SIGNKEY=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
+ if [ -z "$$x" ]; then \
+ echo "error: RELEASE_SIGNKEY missing in ~/.gnupg-autogen.rc">&2; \
+ exit 2;\
+ fi;\
+ mysignkey="$$x";\
+ release_w32_name="$(RELEASE_W32_STEM_NAME)_$$(date -u +%Y%m%d)" ;\
+ files1="$(RELEASE_NAME).tar.bz2 \
+ $${release_w32_name}.tar.xz \
+ $${release_w32_name}.exe" ;\
+ files2="$(RELEASE_NAME).tar.bz2.sig \
+ $(RELEASE_NAME).swdb \
+ $(RELEASE_NAME).buildlog \
+ $${release_w32_name}.tar.xz.sig \
+ $${release_w32_name}.exe.sig \
+ $${release_w32_name}.exe.swdb" ;\
+ wixlibfile="$${release_w32_name}.wixlib";\
+ $(MAKE) -f $(RELEASE_NAME)/build-aux/speedo.mk w32-sign-installer ;\
+ echo "/* Signing the source tarball ..." ;\
+ gpg -sbu $$mysignkey $(RELEASE_NAME).tar.bz2 ;\
+ echo "/* Signing the W32 source tarball ..." ;\
+ gpg -sbu $$mysignkey $${release_w32_name}.tar.xz ;\
+ echo "/* Signing the W32 installer ..." ;\
+ gpg -sbu $$mysignkey $${release_w32_name}.exe ;\
+ cat $(RELEASE_NAME).swdb >swdb.snippet;\
+ echo '#+macro: gnupg24_branch STABLE-BRANCH-2-4' >>swdb.snippet;\
+ cat $${release_w32_name}.exe.swdb >>swdb.snippet;\
+ echo >>swdb.snippet ;\
+ sha1sum $${files1} >>swdb.snippet ;\
+ cat "../$(RELEASE_NAME).buildlog" swdb.snippet \
+ | gzip >$(RELEASE_NAME).buildlog ;\
+ echo "Release created - copying it to the archive ..." ;\
+ scp -p $${files1} $${files2} $$myarchive/ \
+ || echo "/* Error copying files to the archive - ignored */" ;\
+ if [ -e $${wixlibfile} ]; then\
+ scp -p $${wixlibfile} $$myarchive/ \
+ || echo "/* Error copying wixlib to the archive - ignored. */" ;\
+ fi ;\
+ echo '/*' ;\
+ echo ' * All done; for checksums see dist/swdb.snippet' ;\
+ echo ' */' ;\
+ )