# opkbuild
# 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@
man3dir = @man3dir@
localedir = @localedir@
sysconfdir = @sysconfdir@
DESTDIR = /
sh = @sh@
opkhelper_3_0 = @opkhelper_3_0@
metadata = @metadata@
pkglibpackagedir = $(pkglibdir)/package
pkglibmetadatadir = $(pkglibdir)/metadata
include $(srcdir)/src/local.mk
include $(srcdir)/lib/local.mk
include $(srcdir)/lib/package/local.mk
include $(srcdir)/lib/metadata/local.mk
include $(srcdir)/man/local.mk
include $(srcdir)/locale/local.mk
include $(srcdir)/tests/local.mk
bin = $(bin_srcs:.sh=)
pkglib = $(pkglib_srcs:.sh=.sm)
pkglibpackage = $(pkglibpackage_srcs:.sh=.sm)
pkglibmetadata = $(pkglibmetadata_srcs:.sh=.sm)
man1 = $(man1_srcs:.1in=.1)
man3 = $(man3_srcs:.3in=.3)
locale = $(locale_srcs:.sh=.ms)
distdir = $(package_name)-$(package_version)
# TODO: Remove mksysconf.in when no longer used.
distfiles = \
configure \
Makefile.in \
mksysconf.in \
COPYING.2 \
COPYING.3 \
README \
INSTALL \
ChangeLog \
ChangeLog.opkhelper \
TODO \
src/local.mk \
lib/local.mk \
lib/package/local.mk \
lib/metadata/local.mk \
man/local.mk \
locale/local.mk \
tests/local.mk \
$(bin_srcs) \
$(pkglib_srcs) \
$(pkglibpackage_srcs) \
$(pkglibmetadata_srcs) \
$(man1_srcs) \
$(man3_srcs) \
$(locale_srcs) \
$(tests)
script = \
s&@@PACKAGE_NAME@@&$(package_name)&;\
s&@@PACKAGE_VERSION@@&$(package_version)&;\
s&@@PACKAGE_DESCRIPTION@@&$(package_description)&;\
s&@@BINDIR@@&$(bindir)&;\
s&@@PKGLIBDIR@@&$(pkglibdir)&;\
s&@@DATADIR@@&$(datadir)&;\
s&@@LOCALEDIR@@&$(localedir)&;\
s&@@SYSCONFDIR@@&$(sysconfdir)&;\
s&@@SH@@&$(sh)&;\
s&@@METADATA@@&$(metadata)&;\
s&@@OPKHELPER_3_0@@&$(opkhelper_3_0)&;
.SUFFIXES:
.SUFFIXES: .sh .sm .1in .1 .3in .3 .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 .3in.3:
@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-pkglibpackage all-pkglibmetadata
all-bin: $(bin)
all-pkglib: $(pkglib)
all-pkglibpackage: $(pkglibpackage)
all-pkglibmetadata: $(pkglibmetadata)
all-data: all-man1 all-man3 all-locale
all-man1: $(man1)
all-man3: $(man3)
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-pkglibpackage clean-pkglibmetadata
clean-bin:
@files='$(bin)'; $(clean_cmds)
clean-pkglib:
@files='$(pkglib)'; $(clean_cmds)
clean-pkglibpackage:
@files='$(pkglibpackage)'; $(clean_cmds)
clean-pkglibmetadata:
@files='$(pkglibmetadata)'; $(clean_cmds)
clean-data: clean-man1 clean-man3 clean-locale
clean-man1:
@files='$(man1)'; $(clean_cmds)
clean-man3:
@files='$(man3)'; $(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-pkglibpackage \
install-pkglibmetadata
install-bin:
@files='$(bin)'; dir='$(bindir)'; mode='755'; $(install_cmds)
install-pkglib:
@files='$(pkglib)'; dir='$(pkglibdir)'; mode='644'; $(install_cmds)
install-pkglibpackage:
@files='$(pkglibpackage)'; dir='$(pkglibpackagedir)'; \
mode='644'; $(install_cmds)
install-pkglibmetadata:
@files='$(pkglibmetadata)'; dir='$(pkglibmetadatadir)'; \
mode='644'; $(install_cmds)
install-data: all-data install-man1 install-man3 install-locale
install-man1:
@files='$(man1)'; dir='$(man1dir)'; mode='644'; $(install_cmds)
install-man3:
@files='$(man3)'; dir='$(man3dir)'; 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
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-pkglibpackage uninstall-pkglibmetadata \
uninstall-pkglib
uninstall-bin:
@files='$(bin)'; dir='$(bindir)'; $(uninstall_cmds)
uninstall-pkglib:
@files='$(pkglib)'; dir='$(pkglibdir)'; $(uninstall_cmds)
@rmdir '$(DESTDIR)/$(pkglibdir)'
uninstall-pkglibpackage:
@files='$(pkglibpackage)'; dir='$(pkglibpackagedir)'; \
$(uninstall_cmds)
@rmdir '$(DESTDIR)/$(pkglibpackagedir)'
uninstall-pkglibmetadata:
@files='$(pkglibmetadata)'; dir='$(pkglibmetadatadir)'; \
$(uninstall_cmds)
@rmdir '$(DESTDIR)/$(pkglibmetadatadir)'
uninstall-data: uninstall-man1 uninstall-man3 uninstall-locale
uninstall-man1:
@files='$(man1)'; dir='$(man1dir)'; $(uninstall_cmds)
uninstall-man3:
@files='$(man3)'; dir='$(man3dir)'; $(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
test: all
@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}
$(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)'