diff options
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..0e25202 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,178 @@ +# Process this file with automake to produce an input makefile. +# +# Copyright (C) 2013, 2014 Patrick McDermott +# +# This file is part of opkbuild. +# +# opkbuild 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. +# +# opkbuild 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 opkbuild. If not, see <http://www.gnu.org/licenses/>. + +include $(top_srcdir)/src/local.mk +include $(top_srcdir)/lib/local.mk +include $(top_srcdir)/lib/package/local.mk +include $(top_srcdir)/lib/metadata/local.mk +include $(top_srcdir)/man/local.mk +include $(top_srcdir)/locale/local.mk +include $(top_srcdir)/tests/local.mk + +MANUAL = Distribution Build System + +bin_SCRIPTS = $(bin_sources:.sh=) +pkgdata_SCRIPTS = $(pkgdata_sources:.sh=.sm) +pkgdatapackage_SCRIPTS = $(pkgdatapackage_sources:.sh=.sm) +pkgdatametadata_SCRIPTS = $(pkgdatametadata_sources:.sh=.sm) +man1_MANS = $(man1_sources:.1in=.1) +man3_MANS = $(man3_sources:.3in=.3) +locale_MESSAGES = $(locale_sources:.sh=.ms) +dist_pkgdata_DATA = optstring +CLEANFILES = \ + $(bin_SCRIPTS) \ + $(pkgdata_SCRIPTS) \ + $(pkgdatapackage_SCRIPTS) \ + $(pkgdatametadata_SCRIPTS) \ + $(man1_MANS) \ + $(man3_MANS) \ + $(locale_MESSAGES) +pkgdatapackagedir = $(pkgdatadir)/package +pkgdatametadatadir = $(pkgdatadir)/metadata +helperdir = $(pkgdatadir)/helpers +EXTRA_DIST = \ + COPYING \ + COPYING.2 \ + COPYING.3 \ + NEWS.opkhelper \ + TODO \ + autogen.sh \ + mksysconf.in \ + $(bin_sources) \ + $(pkgdata_sources) \ + $(pkgdatapackage_sources) \ + $(pkgdatametadata_sources) \ + $(man1_sources) \ + $(man3_sources) \ + $(locale_sources) \ + $(tests) \ + $(tests_data) \ + tests/common.sh \ + scripts/changelog2news.sh + +SUFFIXES = .sh .sm .1in .1 .3in .3 .ms + +do_subst = sed \ + -e 's|@[@]PACKAGE_NAME[@]@|$(PACKAGE_NAME)|g' \ + -e 's|@[@]PACKAGE_VERSION[@]@|$(PACKAGE_VERSION)|g' \ + -e 's|@[@]PACKAGE_DESCRIPTION[@]@|$(MANUAL)|g' \ + -e 's|@[@]BINDIR[@]@|$(bindir)|g' \ + -e 's|@[@]PKGLIBDIR[@]@|$(pkgdatadir)|g' \ + -e 's|@[@]DATADIR[@]@|$(datadir)|g' \ + -e 's|@[@]LOCALEDIR[@]@|$(localedir)|g' \ + -e 's|@[@]SYSCONFDIR[@]@|$(sysconfdir)|g' \ + -e 's|@[@]HELPERDIR[@]@|$(helperdir)|g' \ + -e 's|@[@]SH[@]@|$(SH)|g' \ + -e 's|@[@]OPKG[@]@|$(OPKG)|g' \ + -e 's|@[@]METADATA[@]@|$(METADATA)|g' + +all-local: $(locale_MESSAGES) + +install-data-local: $(locale_MESSAGES) + @$(NORMAL_INSTALL) + set -e; for f in $(locale_MESSAGES); do \ + ff="$${f#*/}"; \ + dd="$(DESTDIR)/$(localedir)/$${ff%/?*}/LC_MESSAGES"; \ + $(MKDIR_P) "$${dd}"; \ + df="$${dd}/$${ff##*/}"; \ + cp "$${f}" "$${df}"; \ + chmod 644 "$${df}"; \ + done + +uninstall-local: + @$(NORMAL_UNINSTALL) + set -e; for f in $(locale_MESSAGES); do \ + ff="$${f#*/}"; \ + dd="$(DESTDIR)/$(localedir)/$${ff%/?*}/LC_MESSAGES"; \ + df="$${dd}/$${ff##*/}"; \ + rm -f "$${df}"; \ + done + +uninstall-hook: + for dir in \ + '$(DESTDIR)$(pkgdatametadatadir)' \ + '$(DESTDIR)$(pkgdatapackagedir)' \ + '$(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 \ + $(srcdir)/ChangeLog + +dist-hook: + if [ -d '$(srcdir)/.git' ]; then \ + printf 'Generated file. Do not edit.\n\n' \ + >'$(distdir)/ChangeLog~'; \ + git log --stat --color=never >>'$(distdir)/ChangeLog~'; \ + mv '$(distdir)/ChangeLog~' '$(distdir)/ChangeLog'; \ + fi + +test: + @cd '$(srcdir)/tests'; \ + all=0; failed=0; \ + for test in $(tests); do \ + out="$$($(sh) "$(srcdir)/$${test}" 2>&1)"; \ + if [ $${?} -eq 0 ]; then \ + printf 'PASS: %s\n' "$${test}"; \ + else \ + printf 'FAIL: %s\n' "$${test}"; \ + echo "$${out}" | sed 's/^/ /'; \ + failed=$$(($$failed + 1)); \ + fi; \ + all=$$(($$all + 1)); \ + done; \ + banner="$$(printf '%d out of %d tests failed' $${failed} $${all})"; \ + l=$$(echo "$${banner}" | wc -c); \ + i=1; while [ "$${i}" -lt "$${l}" ]; do \ + printf '='; \ + i=$$(($$i + 1)); \ + done; \ + printf '\n%s\n' "$${banner}"; \ + i=1; while [ $${i} -lt $${l} ]; do \ + printf '='; \ + i=$$(($$i + 1)); \ + done; \ + printf '\n'; \ + exit $${failed} + +.sh: + $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" + $(AM_V_at)$(do_subst) $< >$@ + $(AM_V_at)chmod a+x $@ + +.sh.sm: + $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" + $(AM_V_at)$(do_subst) $< >$@ + +.1in.1: + $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" + $(AM_V_at)$(do_subst) $< >$@ + +.3in.3: + $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" + $(AM_V_at)$(do_subst) $< >$@ + +.sh.ms: + $(AM_V_GEN)$(MKDIR_P) "$$(dirname $@)" + $(AM_V_at)cp $< $@ |