# Process this file with automake to produce an input makefile. # # Copyright (C) 2013-2017, 2019 Patrick McDermott # # This file is part of the ProteanOS Archive Manager. # # The ProteanOS Archive Manager 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. # # The ProteanOS Archive Manager 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 the ProteanOS Archive Manager. If not, see # . KEY = '2250 31F0 47FF E516 63ED 516F 1A45 9ECD E4D6 04BE' if IN_GIT PACKAGE_VERSION_GIT = $$(git describe --tags --dirty | sed 's|^.*/||') else PACKAGE_VERSION_GIT = $(PACKAGE_VERSION) endif # PACKAGE_STRING is used in the test suite output and log. # PACKAGE_VERSION can't be overridden. Automake ignores it in the IN_GIT # conditional (and throws a warning), and setting it to $(PACKAGE_VERSION_GIT) # outside the conditional causes PACKAGE_VERSION_GIT to reference itself. # VERSION is not set here because it is used by: # * Automake's distdir macro # * Automake's distdir target (which checks for $(VERSION) in NEWS) # * Our release target PACKAGE_STRING = $(PACKAGE_NAME) $(PACKAGE_VERSION_GIT) MANUAL = ProteanOS Archive Manager Manual TEXTDOMAIN = $$(printf '%s\n' '$(PACKAGE)' | sed -e 's|-|_|g') SUFFIXES = .sh .sho .ms .1in .1 OBJEXT = sho # This PACKAGE_VERSION stuff is a rather gross hack, but it's the only reliable # way to put Git commit information in the prokit executable. Setting # PACKAGE_VERSION in configure causes it to become outdated until the next # configure run. Adding it to the preprocessor command line can cause multiple # values of it to exist in the linked executable. LINK = printf "PACKAGE_VERSION='%s'\n" "$(PACKAGE_VERSION_GIT)" | \ '$(srcdir)/tools/shld.sh' -I '$(SH)' -o $@ config.sh - bin_PROGRAMS = pro-archman pro_archman_SOURCES = pro_archman_SHPPFLAGS = \ -DLOCALEDIR="$(localedir)" \ -DTEXTDOMAIN="$(TEXTDOMAIN)" if EMBEDDED_USIGN pro_archman_SHPPFLAGS += \ -DUSIGN_EMBEDDED=true \ -DUSIGN="$(pkglibexecdir)/usign$(EXEEXT)" else pro_archman_SHPPFLAGS += \ -DUSIGN_EMBEDDED=false \ -DUSIGN="$(USIGN)" endif pro_archman_LDADD = $(pro_archman_SOURCES:.sh=.sho) EXTRA_pro_archman_DEPENDENCIES = config.sh locale_MESSAGES = $(locale_sources:.sh=.ms) noinst_DATA = $(locale_MESSAGES) man1_MANS = $(man1_sources:.1in=.1) do_subst = sed \ -e 's|[@]PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \ -e "s|[@]PACKAGE_VERSION[@]|$(PACKAGE_VERSION_GIT)|g" \ -e 's|[@]MANUAL[@]|$(MANUAL)|g' noinst_DATA += .builddirstamp CLEANFILES = \ $(pro_archman_LDADD) \ $(locale_MESSAGES) \ $(man1_MANS) \ .builddirstamp EXTRA_DIST = \ autogen.sh \ $(locale_sources) \ $(man1_sources) \ $(TESTS) \ tools/shpp.sh \ tools/shld.sh \ build-aux/tap-driver.sh \ tests/aux/tap-functions.sh \ examples/conf.default TEST_EXTENSIONS = .sh SH_LOG_DRIVER = \ AM_TAP_AWK='$(AWK)' \ EMBEDDED_USIGN="${EMBEDDED_USIGN}" \ USIGN="$(USIGN)" \ $(SHELL) $(top_srcdir)/build-aux/tap-driver.sh .builddirstamp: $(AM_V_GEN)touch .builddirstamp install-data-local: $(locale_MESSAGES) @$(NORMAL_INSTALL) for f in $(locale_MESSAGES); do \ ff="$${f#*/}"; \ dir="$(DESTDIR)$(localedir)/$${ff%.ms}/LC_MESSAGES"; \ $(MKDIR_P) "$${dir}" || exit 1; \ $(INSTALL_DATA) "$${f}" "$${dir}/$(TEXTDOMAIN).ms" || \ exit $${?}; \ done uninstall-local: @$(NORMAL_UNINSTALL) for f in $(locale_MESSAGES); do \ ff="$${f#*/}"; \ dir="$(DESTDIR)$(localedir)/$${ff%.ms}/LC_MESSAGES"; \ rm -f "$${dir}/$(TEXTDOMAIN).ms"; \ done really-clean: distclean rm -Rf $(srcdir)/aclocal.m4 $(srcdir)/autom4te.cache/ \ $(srcdir)/configure \ $(srcdir)/build-aux/ $(srcdir)/INSTALL $(srcdir)/Makefile.in \ $(srcdir)/ChangeLog dist-hook: set -e; \ if [ -d '$(srcdir)/.git' ]; then \ printf 'Generated file. Do not edit.\n\n' \ >'$(distdir)/ChangeLog~'; \ GIT_DIR='$(srcdir)/.git' git log --stat --color=never \ >>'$(distdir)/ChangeLog~'; \ mv '$(distdir)/ChangeLog~' '$(distdir)/ChangeLog'; \ $(MKDIR_P) '$(distdir)/3rdparty/'; \ >'$(distdir)/3rdparty/Manifest'; \ for d in $(3rdparty_dirs); do \ for f in $$(GIT_DIR="$(srcdir)/3rdparty/$${d}/.git" \ git ls-files); do \ printf '3rdparty/%s/%s\n' "$${d}" "$${f}" \ >>'$(distdir)/3rdparty/Manifest'; \ done; \ done; \ fi set -e; \ for f in $$(cat '$(distdir)/3rdparty/Manifest'); do \ $(MKDIR_P) "$(distdir)/$$(dirname "$${f}")"; \ cp -p "$${f}" "$(distdir)/$${f}"; \ done release: sed "s/^Released: ????-??-??\$$/Released: $$(date '+%Y-%m-%d')/" \ '$(srcdir)/NEWS' >'$(srcdir)/NEWS~' mv '$(srcdir)/NEWS~' '$(srcdir)/NEWS' $(MAKE) distcheck set -e; \ export GIT_DIR='$(srcdir)/.git'; \ export GIT_WORK_TREE='$(srcdir)'; \ git commit -m 'NEWS: Release $(PACKAGE) $(VERSION)' -- NEWS; \ git tag '$(PACKAGE)/$(VERSION)' HEAD; \ git push --tags origin master:master md5sum $(DIST_ARCHIVES) >MD5SUMS sha256sum $(DIST_ARCHIVES) >SHA256SUMS set -e; \ sigs=''; \ for f in $(DIST_ARCHIVES); do \ gpg --local-user $(KEY) --armor --detach-sign $${f}; \ sigs="$${sigs} $${f}.asc"; \ done; \ ssh files@files.proteanos.com mkdir -p files/pub/$(PACKAGE); \ rsync -az --progress --stats $(DIST_ARCHIVES) $${sigs} \ MD5SUMS SHA256SUMS \ files@files.proteanos.com:files/pub/$(PACKAGE)/$(VERSION)/ '$(srcdir)/scripts/announce-release.sh' \ $(PACKAGE) $(VERSION) '$(PACKAGE_NAME)' .sh.sho: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)$(SH) -n $< $(AM_V_at)'$(srcdir)/tools/shpp.sh' $(pro_archman_SHPPFLAGS) $< $@ .sh.ms: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)cp $< $@ .1in.1: $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" $(AM_V_at)$(do_subst) $< >$@ include $(top_srcdir)/src/local.mk include $(top_srcdir)/locale/local.mk include $(top_srcdir)/man/local.mk include $(top_srcdir)/tests/local.mk include $(top_srcdir)/3rdparty/local.mk