From 9217f3869f76d6936e77cec0a1a4d5efd1e97727 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sat, 22 Jul 2017 18:06:12 -0400 Subject: Merge branch 'feature/use-autoconf-automake-shpp-and-shld' --- (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..c49df54 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,142 @@ +# Process this file with automake to produce an input makefile. +# +# Copyright (C) 2013-2016 Patrick "P. J." McDermott +# +# 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 2 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 . + +if IN_GIT +PACKAGE_VERSION_GIT = $$(git describe --tags --dirty | sed 's|^.*/||') +else +PACKAGE_VERSION_GIT = $(PACKAGE_VERSION) +endif + +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)" +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' + +CLEANFILES = \ + $(pro_archman_LDADD) \ + $(locale_MESSAGES) \ + $(man1_MANS) +EXTRA_DIST = \ + COPYING.2 \ + COPYING.3 \ + autogen.sh \ + $(locale_sources) \ + $(man1_sources) \ + $(tests) \ + tools/shpp.sh \ + tools/shld.sh + +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: + 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'; \ + fi + +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; \ + for f in $(DIST_ARCHIVES); do \ + gpg --armor --sign $${f}; \ + done + ssh files@files.proteanos.com mkdir -p files/pub/$(PACKAGE) + rsync -az --progress --stats $(DIST_ARCHIVES) 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 -- cgit v0.9.1