# 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@
srcdir = @srcdir@
prefix = @prefix@
bindir = @bindir@
libdir = @libdir@
pkglibdir = @pkglibdir@
libopkbuild = @libopkbuild@
datadir = @datadir@
mandir = @mandir@
man1dir = @man1dir@
man3dir = @man3dir@
sysconfdir = @sysconfdir@
metadata = @metadata@
opkhelper_3_0 = @opkhelper_3_0@
DESTDIR = /
sh = @sh@
MACROS = \
'DESTDIR=$(DESTDIR)' \
'prefix=$(prefix)' \
'bindir=$(bindir)' \
'libdir=$(libdir)' \
'datadir=$(datadir)' \
'mandir=$(mandir)' \
'sysconfdir=$(sysconfdir)' \
'libopkbuild=$(libopkbuild)' \
'metadata=$(metadata)' \
'opkhelper_3_0=$(opkhelper_3_0)'
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
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)
distfiles = \
configure \
Makefile.in \
COPYING.2 \
COPYING.3 \
README \
INSTALL \
ChangeLog \
TODO \
src/local.mk \
lib/local.mk \
lib/package/local.mk \
lib/metadata/local.mk \
man/local.mk \
locale/local.mk \
$(bin_srcs) \
$(pkglib_srcs) \
$(pkglibpackage_srcs) \
$(pkglibmetadata_srcs) \
$(man1_srcs) \
$(man3_srcs) \
$(locale_srcs)
script = \
s&@@PACKAGE_NAME@@&$(package_name)&;\
s&@@PACKAGE_VERSION@@&$(package_version)&;\
s&@@PACKAGE_DESCRIPTION@@&$(package_description)&;\
s&@@BINDIR@@&$(bindir)&;\
s&@@PKGLIBDIR@@&$(pkglibdir)&;\
s&@@LIBOPKBUILD@@&$(libopkbuild)&;\
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: all
@printf 'Installing executable files...\n'
@cd src && $(MAKE) $(MACROS) install
@printf 'Installing libary files...\n'
@cd lib && $(MAKE) $(MACROS) install
@cd lib/package && $(MAKE) $(MACROS) install
@cd lib/metadata && $(MAKE) $(MACROS) install
@printf 'Installing locales...\n'
@cd locale && $(MAKE) $(MACROS) install
@printf 'Installing manual pages...\n'
@cd man && $(MAKE) $(MACROS) install
uninstall:
@printf 'Uninstalling executable files...\n'
@cd src && $(MAKE) $(MACROS) uninstall
@printf 'Uninstalling library files...\n'
@cd lib/package && $(MAKE) $(MACROS) uninstall
@cd lib/metadata && $(MAKE) $(MACROS) uninstall
@cd lib && $(MAKE) $(MACROS) uninstall
@printf 'Uninstalling locales...\n'
@cd locale && $(MAKE) $(MACROS) uninstall
@printf 'Uninstalling manual pages...\n'
@cd man && $(MAKE) $(MACROS) uninstall
test: all
@printf 'Running tests...\n'
@cd tests && $(MAKE) $(MACROS) test
$(distdir):
@mkdir -p '$(distdir)'
@cp -pR $(distfiles) '$(distdir)'
@cd src && $(MAKE) '../$(distdir)/src'
@cd lib && $(MAKE) '../$(distdir)/lib'
@cd lib/package && $(MAKE) '../../$(distdir)/lib/package'
@cd lib/metadata && $(MAKE) '../../$(distdir)/lib/metadata'
@cd locale && $(MAKE) '../$(distdir)/locale'
@cd man && $(MAKE) '../$(distdir)/man'
@cd tests && $(MAKE) '../$(distdir)/tests'
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)'