summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am142
1 files changed, 142 insertions, 0 deletions
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 <http://www.gnu.org/licenses/>.
+
+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