# 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@ metadata = @metadata@ pkglibpackagedir = $(pkglibdir)/package pkglibmetadatadir = $(pkglibdir)/metadata helperdir = $(datadir)/$(package_name)/helpers 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 \ COPYING.2 \ COPYING.3 \ README \ INSTALL \ NEWS \ NEWS.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&@@HELPERDIR@@&$(helperdir)&;\ s&@@SH@@&$(sh)&;\ s&@@METADATA@@&$(metadata)&;\ .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)'