You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
3.0 KiB
83 lines
3.0 KiB
#!/bin/bash |
|
|
|
# We don't support srcdir != builddir |
|
echo \#buildapi-variable-no-builddir >/dev/null |
|
|
|
prefix=/usr |
|
|
|
enable_documentation=yes |
|
|
|
# Little helper function for reading args from the commandline. |
|
# it automatically handles -a b and -a=b variants, and returns 1 if |
|
# we need to shift $3. |
|
read_arg() { |
|
# $1 = arg name |
|
# $2 = arg value |
|
# $3 = arg parameter |
|
local rematch='^[^=]*=(.*)$' |
|
if [[ $2 =~ $rematch ]]; then |
|
read "$1" <<< "${BASH_REMATCH[1]}" |
|
else |
|
read "$1" <<< "$3" |
|
# There is no way to shift our callers args, so |
|
# return 1 to indicate they should do it instead. |
|
return 1 |
|
fi |
|
return 0 |
|
} |
|
|
|
while (($# > 0)); do |
|
case "${1%%=*}" in |
|
--prefix) read_arg prefix "$@" || shift;; |
|
--libdir) read_arg libdir "$@" || shift;; |
|
--datadir) read_arg datadir "$@" || shift;; |
|
--sysconfdir) read_arg sysconfdir "$@" || shift;; |
|
--sbindir) read_arg sbindir "$@" || shift;; |
|
--mandir) read_arg mandir "$@" || shift;; |
|
--disable-documentation) enable_documentation=no;; |
|
--program-prefix) read_arg programprefix "$@" || shift;; |
|
--exec-prefix) read_arg execprefix "$@" || shift;; |
|
--bindir) read_arg bindir "$@" || shift;; |
|
--includedir) read_arg includedir "$@" || shift;; |
|
--libexecdir) read_arg libexecdir "$@" || shift;; |
|
--localstatedir) read_arg localstatedir "$@" || shift;; |
|
--sharedstatedir) read_arg sharedstatedir "$@" || shift;; |
|
--infodir) read_arg infodir "$@" || shift;; |
|
--systemdsystemunitdir) read_arg systemdsystemunitdir "$@" || shift;; |
|
--bashcompletiondir) read_arg bashcompletiondir "$@" || shift;; |
|
*) echo "Ignoring unknown option '$1'";; |
|
esac |
|
shift |
|
done |
|
|
|
if ! pkg-config --exists --print-errors " libkmod >= 15 "; then |
|
echo "dracut needs pkg-config and libkmod >= 15." >&2 |
|
exit 1 |
|
fi |
|
|
|
cat > Makefile.inc.$$ <<EOF |
|
prefix ?= ${prefix} |
|
libdir ?= ${libdir:-${prefix}/lib} |
|
datadir ?= ${datadir:-${prefix}/share} |
|
sysconfdir ?= ${sysconfdir:-${prefix}/etc} |
|
sbindir ?= ${sbindir:-${prefix}/sbin} |
|
mandir ?= ${mandir:-${prefix}/share/man} |
|
enable_documentation ?= ${enable_documentation:-yes} |
|
bindir ?= ${bindir:-${prefix}/bin} |
|
KMOD_CFLAGS ?= $(pkg-config --cflags " libkmod >= 15 ") |
|
KMOD_LIBS ?= $(pkg-config --libs " libkmod >= 15 ") |
|
EOF |
|
|
|
{ |
|
[[ $programprefix ]] && echo "programprefix ?= ${programprefix}" |
|
[[ $execprefix ]] && echo "execprefix ?= ${execprefix}" |
|
[[ $includedir ]] && echo "includedir ?= ${includedir}" |
|
[[ $libexecdir ]] && echo "libexecdir ?= ${libexecdir}" |
|
[[ $localstatedir ]] && echo "localstatedir ?= ${localstatedir}" |
|
[[ $sharedstatedir ]] && echo "sharedstatedir ?= ${sharedstatedir}" |
|
[[ $infodir ]] && echo "infodir ?= ${infodir}" |
|
[[ $systemdsystemunitdir ]] && echo "systemdsystemunitdir ?= ${systemdsystemunitdir}" |
|
[[ $bashcompletiondir ]] && echo "bashcompletiondir ?= ${bashcompletiondir}" |
|
} >> Makefile.inc.$$ |
|
|
|
mv Makefile.inc.$$ Makefile.inc
|
|
|