From 8b2b5b277d2225aabcc691bdcefe58f21382ec7f Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 27 Feb 2014 19:09:31 -0500 Subject: Switch to using GNU Autoconf and Automake. --- (limited to 'Makefile.am') 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 . + +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 $< $@ -- cgit v0.9.1