summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2014-02-27 19:09:31 (EST)
committer P. J. McDermott <pjm@nac.net>2014-02-27 19:09:31 (EST)
commit8b2b5b277d2225aabcc691bdcefe58f21382ec7f (patch)
treee4787f36b77861e47c5f635f9dc3891cf9a7c2c4 /Makefile.am
parentb732112c8e1b99ade1c89fa51ec1683fae05b21c (diff)
Switch to using GNU Autoconf and Automake.
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am160
1 files changed, 160 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..a5875d6
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,160 @@
+# Process this file with automake to produce an input makefile.
+#
+# Copyright (C) 2013, 2014 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 3 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/>.
+
+include $(top_srcdir)/src/local.mk
+include $(top_srcdir)/lib/local.mk
+include $(top_srcdir)/lib/buildsystem/local.mk
+include $(top_srcdir)/man/local.mk
+include $(top_srcdir)/locale/local.mk
+include $(top_srcdir)/archtab/local.mk
+include $(top_srcdir)/tests/local.mk
+
+bin_SCRIPTS = $(bin_sources:.sh=)
+pkgdata_SCRIPTS = $(pkgdata_sources:.sh=.sm)
+pkgdatabuildsystem_SCRIPTS = $(pkgdatabuildsystem_sources:.sh=.sm)
+man1_MANS = $(man1_sources:.1in=.1)
+locale_MESSAGES = $(locale_sources:.sh=.ms)
+CLEANFILES = \
+ $(bin_SCRIPTS) \
+ $(pkgdata_SCRIPTS) \
+ $(pkgdatabuildsystem_SCRIPTS) \
+ $(man1_MANS) \
+ $(locale_MESSAGES)
+pkgdatabuildsystemdir = $(pkgdatadir)/buildsystem
+archtabdir = $(pkgdatadir)/archtab
+EXTRA_DIST = \
+ COPYING.2 \
+ COPYING.3 \
+ autogen.sh \
+ $(bin_sources) \
+ $(pkgdata_sources) \
+ $(pkgdatabuildsystem_sources) \
+ $(man1_sources) \
+ $(locale_sources) \
+ $(archtab_sources) \
+ $(tests)
+
+SUFFIXES = .sh .sm .1in .1 .ms
+
+textdomain = $$(printf '%s\n' '$(PACKAGE)' | sed -e 's|-|_|g')
+do_subst = sed \
+ -e 's|[@]PACKAGE[@]|$(PACKAGE)|g' \
+ -e 's|[@]PACKAGE_NAME[@]|$(PACKAGE_NAME)|g' \
+ -e 's|[@]PACKAGE_VERSION[@]|$(PACKAGE_VERSION)|g' \
+ -e 's|[@]SH[@]|$(SH)|g' \
+ -e 's|[@]multiarch_libdir[@]|$(multiarch_libdir)|g' \
+ -e 's|[@]pkgdatadir[@]|$(pkgdatadir)|g' \
+ -e 's|[@]localedir[@]|$(localedir)|g' \
+ -e 's|[@]archtabdir[@]|$(archtabdir)|g' \
+ -e 's|@[@]PACKAGE_NAME[@]@|$(PACKAGE)|g' \
+ -e 's|@[@]PACKAGE_VERSION[@]@|$(PACKAGE_VERSION)|g' \
+ -e 's|@[@]PACKAGE_DESCRIPTION[@]@|$(PACKAGE_NAME)|g' \
+ -e 's|@[@]PKGLIBDIR[@]@|$(pkgdatadir)|g' \
+ -e 's|@[@]LOCALEDIR[@]@|$(localedir)|g' \
+ -e 's|@[@]ARCHTABDIR[@]@|$(archtabdir)|g' \
+ -e 's|@[@]SH[@]@|$(SH)|g' \
+ -e 's|@[@]MULTIARCH_LIBDIR[@]@|$(multiarch_libdir)|g'
+
+all-local: $(locale_MESSAGES) $(archtab_sources)
+
+install-data-local: $(locale_MESSAGES) $(archtab_sources)
+ @$(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
+ for f in $(archtab_sources); do \
+ ff="$${f#*/}"; \
+ dir="$(DESTDIR)$(archtabdir)/$${ff%/?*}"; \
+ $(MKDIR_P) "$${dir}" || exit 1; \
+ $(INSTALL_DATA) "$(top_srcdir)/$${f}" "$${dir}/$${ff#*/}" || \
+ 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
+
+uninstall-hook:
+ for dir in \
+ '$(DESTDIR)$(pkgdatabuildsystemdir)' \
+ '$(DESTDIR)$(archtabdir)' \
+ '$(DESTDIR)$(pkgdatadir)'; do \
+ if [ -d "$${dir}" ]; then \
+ rmdir "$${dir}"; \
+ fi; \
+ done
+
+really-clean: distclean
+ rm -Rf $(srcdir)/aclocal.m4 $(srcdir)/autom4te.cache/ \
+ $(srcdir)/configure \
+ $(srcdir)/build-aux/ $(srcdir)/INSTALL $(srcdir)/Makefile.in
+
+test:
+ @set -e; \
+ mkdir -p tests; \
+ cd tests; \
+ . '$(abs_top_srcdir)/tests/testlib.sh'; \
+ PATH="$${PATH}:$(DESTDIR)$(bindir)"; \
+ t_all=0; t_failed=0; \
+ for t_test in $(tests); do \
+ t_fail='false'; \
+ . "$(abs_top_srcdir)/$${t_test}" >out 2>&1; \
+ if "$${t_fail}"; then \
+ printf 'FAIL: %s\n' "$${t_test#tests/}"; \
+ cat out | sed 's/^/ /'; \
+ t_failed=$$(($$t_failed + 1)); \
+ else \
+ printf 'PASS: %s\n' "$${t_test#tests/}"; \
+ fi; \
+ t_all=$$(($$t_all + 1)); \
+ rm out; \
+ done; \
+ t_banner="$$(printf '%d out of %d tests failed' \
+ $${t_failed} $${t_all})"; \
+ t_l=$$(printf '%s\n' "$${t_banner}" | wc -c); \
+ t_i=1; while [ "$${t_i}" -lt "$${t_l}" ]; do \
+ printf '='; \
+ t_i=$$(($$t_i + 1)); \
+ done; \
+ printf '\n%s\n' "$${t_banner}"; \
+ t_i=1; while [ "$${t_i}" -lt "$${t_l}" ]; do \
+ printf '='; \
+ t_i=$$(($$t_i + 1)); \
+ done; \
+ printf '\n'; \
+ [ $${t_failed} -eq 0 ]
+
+.sh:
+ $(MKDIR_P) "$$(dirname $@)"
+ $(do_subst) $< >$@
+ chmod a+x $@
+
+.sh.sm .1in.1:
+ $(MKDIR_P) "$$(dirname $@)"
+ $(do_subst) $< >$@
+
+.sh.ms:
+ $(MKDIR_P) "$$(dirname $@)"
+ cp $< $@