# opkhelper
# Makefile.in
# Input Makefile for configure.
#
# Copyright (C) 2012-2013 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 .
package_name = @package_name@
package_version= @package_version@
package_description = @package_description@
package_library = @package_library@
srcdir = @srcdir@
prefix = @prefix@
bindir = @bindir@
libdir = @libdir@
pkglibdir = @pkglibdir@
datadir = @datadir@
mandir = @mandir@
man1dir = @man1dir@
localedir = @localedir@
pkgdatadir = @pkgdatadir@
archtabdir = @archtabdir@
DESTDIR = /
sh = @sh@
multiarch_libdir = @multiarch_libdir@
pkglibbuildsystemdir = $(pkglibdir)/buildsystem
include $(srcdir)/src/local.mk
include $(srcdir)/lib/local.mk
include $(srcdir)/lib/buildsystem/local.mk
include $(srcdir)/man/local.mk
include $(srcdir)/locale/local.mk
include $(srcdir)/archtab/local.mk
include $(srcdir)/tests/local.mk
bin = $(bin_srcs:.sh=)
pkglib = $(pkglib_srcs:.sh=.sm)
pkglibbuildsystem = $(pkglibbuildsystem_srcs:.sh=.sm)
man1 = $(man1_srcs:.1in=.1)
locale = $(locale_srcs:.sh=.ms)
archtab = $(archtab_srcs)
distdir = $(package_name)-$(package_version)
distfiles = \
configure \
Makefile.in \
COPYING.2 \
COPYING.3 \
README \
INSTALL \
ChangeLog \
TODO \
src/local.mk \
lib/local.mk \
lib/buildsystem/local.mk \
man/local.mk \
locale/local.mk \
archtab/local.mk \
tests/local.mk \
$(bin_srcs) \
$(pkglib_srcs) \
$(pkglibbuildsystem_srcs) \
$(man1_srcs) \
$(locale_srcs) \
$(archtab_srcs) \
$(tests)
script = \
s&@@PACKAGE_NAME@@&$(package_name)&;\
s&@@PACKAGE_VERSION@@&$(package_version)&;\
s&@@PACKAGE_DESCRIPTION@@&$(package_description)&;\
s&@@PKGLIBDIR@@&$(pkglibdir)&;\
s&@@LOCALEDIR@@&$(localedir)&;\
s&@@ARCHTABDIR@@&$(archtabdir)&;\
s&@@SH@@&$(sh)&;\
s&@@MULTIARCH_LIBDIR@@&$(multiarch_libdir)&;
.SUFFIXES:
.SUFFIXES: .sh .sm .1in .1 .ms
# XXX: Support for lists of multiple targets in inference rules doesn't appear
# to be required by POSIX.1-2008 [1], but it exists in GNU Make and NetBSD
# pmake. Expand this into separate rules if it is a problem with certain make
# implementations.
# [1]: Compare the inference and target rule definitions after fragments
# <#tag_20_76_13_06> and <#tag_20_76_13_04> in
# .
.sh:
@printf ' SED %s\n' '$@'
@sed '$(script)' '$(srcdir)/$?' >'$@'
@chmod 755 '$@'
.sh.sm .1in.1:
@printf ' SED %s\n' '$@'
@sed '$(script)' '$(srcdir)/$?' >'$@'
@chmod 644 '$@'
.sh.ms:
@printf ' CP %s\n' '$@'
@obj='$@'; mkdir -p "$${obj%/*}"
@cp '$(srcdir)/$?' '$@'
@chmod 644 '$@'
all: all-exec all-data
all-exec: all-bin all-pkglib all-pkglibbuildsystem
all-bin: $(bin)
all-pkglib: $(pkglib)
all-pkglibbuildsystem: $(pkglibbuildsystem)
all-data: all-man1 all-locale
all-man1: $(man1)
all-locale: $(locale)
clean_cmds = \
set -e; \
for f in $${files}; do \
printf ' RM %s\n' "$${f}"; \
rm -f "$${f}"; \
done
clean: clean-exec clean-data
clean-exec: clean-bin clean-pkglib clean-pkglibbuildsystem
clean-bin:
@files='$(bin)'; $(clean_cmds)
clean-pkglib:
@files='$(pkglib)'; $(clean_cmds)
clean-pkglibbuildsystem:
@files='$(pkglibbuildsystem)'; $(clean_cmds)
clean-data: clean-man1 clean-locale
clean-man1:
@files='$(man1)'; $(clean_cmds)
clean-locale:
@files='$(locale)'; $(clean_cmds)
install_cmds = \
set -e; \
mkdir -p "$(DESTDIR)/$${dir}"; \
for f in $${files}; do \
printf ' INSTALL %s\n' "$${f}"; \
ff="$$(basename "$${f}")"; \
cp "$${f}" "$(DESTDIR)/$${dir}/$${ff}"; \
chmod "$${mode}" "$(DESTDIR)/$${dir}/$${ff}"; \
done
install: all install-exec install-data
install-exec: all-exec install-bin install-pkglib install-pkglibbuildsystem
install-bin:
@files='$(bin)'; dir='$(bindir)'; mode='755'; $(install_cmds)
install-pkglib:
@files='$(pkglib)'; dir='$(pkglibdir)'; mode='644'; $(install_cmds)
install-pkglibbuildsystem:
@files='$(pkglibbuildsystem)'; dir='$(pkglibbuildsystemdir)'; \
mode='644'; $(install_cmds)
install-data: all-data install-man1 install-locale install-archtab
install-man1:
@files='$(man1)'; dir='$(man1dir)'; mode='644'; $(install_cmds)
install-locale:
@mkdir -p '$(DESTDIR)/$(localedir)'
@set -e; for f in $(locale); do \
printf ' INSTALL %s\n' "$${f}"; \
ff="$${f#*/}"; \
dd="$(DESTDIR)/$(localedir)/$${ff%/?*}/LC_MESSAGES"; \
mkdir -p "$${dd}"; \
df="$${dd}/$${ff##*/}"; \
cp "$${f}" "$${df}"; \
chmod 644 "$${df}"; \
done
install-archtab:
@mkdir -p '$(DESTDIR)/$(archtabdir)'
@set -e; for f in $(archtab); do \
printf ' INSTALL %s\n' "$${f}"; \
ff="$${f#*/}"; \
mkdir -p "$(DESTDIR)/$(archtabdir)/$${ff%/?*}"; \
cp "$(srcdir)/$${f}" "$(DESTDIR)/$(archtabdir)/$${ff}"; \
chmod 644 "$(DESTDIR)/$(archtabdir)/$${ff}"; \
done
uninstall_cmds = \
set -e; \
for f in $${files}; do \
printf ' RM %s\n' "$${f}"; \
ff="$$(basename "$${f}")"; \
rm -f "$(DESTDIR)/$${dir}/$${ff}"; \
done
uninstall: uninstall-exec uninstall-data
uninstall-exec: uninstall-bin uninstall-pkglibbuildsystem uninstall-pkglib
uninstall-bin:
@files='$(bin)'; dir='$(bindir)'; $(uninstall_cmds)
uninstall-pkglib:
@files='$(pkglib)'; dir='$(pkglibdir)'; $(uninstall_cmds)
@rmdir '$(DESTDIR)/$(pkglibdir)'
uninstall-pkglibbuildsystem:
@files='$(pkglibbuildsystem)'; dir='$(pkglibbuildsystemdir)'; \
$(uninstall_cmds)
@rmdir '$(DESTDIR)/$(pkglibbuildsystemdir)'
uninstall-data: uninstall-man1 uninstall-locale uninstall-archtab
uninstall-man1:
@files='$(man1)'; dir='$(man1dir)'; $(uninstall_cmds)
uninstall-locale:
@set -e; for f in $(locale); do \
printf ' RM %s\n' "$${f}"; \
ff="$${f#*/}"; \
dd="$(DESTDIR)/$(localedir)/$${ff%/?*}/LC_MESSAGES"; \
df="$${dd}/$${ff##*/}"; \
rm -f "$${df}"; \
done
uninstall-archtab:
@set -e; for f in $(archtab); do \
printf ' RM %s\n' "$${f}"; \
ff="$${f#*/}"; \
rm -f "$(DESTDIR)/$(archtabdir)/$${ff}"; \
rmdir "$(DESTDIR)/$(archtabdir)/$${ff%/?*}" 2>/dev/null || \
true; \
done
@rmdir '$(DESTDIR)/$(archtabdir)'
@rmdir '$(DESTDIR)/$(pkgdatadir)'
test:
@set -e; \
mkdir -p tests; \
cd tests; \
. ./testlib.sh; \
PATH="$${PATH}:$(DESTDIR)/$(bindir)"; \
t_all=0; t_failed=0; \
for t_test in $(tests); do \
t_fail='false'; \
. "$(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 ]
$(distdir):
@mkdir -p '$(distdir)'
@set -e; for f in $(distfiles); do \
mkdir -p "$(distdir)/$$(dirname $${f})"; \
cp -p "$${f}" "$(distdir)/$${f}"; \
done
dist dist-gzip: $(distdir)
@tar -cf - '$(distdir)' | gzip -9c > '$(distdir).tar.gz'
@rm -Rf '$(distdir)'
dist-bzip2: $(distdir)
@tar -cf - '$(distdir)' | bzip2 -9c > '$(distdir).tar.bz2'
@rm -Rf '$(distdir)'
dist-xz: $(distdir)
@tar -cf - '$(distdir)' | xz -c > '$(distdir).tar.xz'
@rm -Rf '$(distdir)'