summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile2
-rwxr-xr-xconfigure49
3 files changed, 52 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 44ede870..bec31ab3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+/Makefile.inc
/dracut.8
/dracut-catimages.8
/dracut.conf.5
diff --git a/Makefile b/Makefile
index f179e171..d04d3dd2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
VERSION=023
GITVERSION=$(shell [ -d .git ] && git rev-list --abbrev-commit -n 1 HEAD |cut -b 1-8)
+-include Makefile.inc
+
prefix ?= /usr
libdir ?= ${prefix}/lib
datadir ?= ${prefix}/share
diff --git a/configure b/configure
new file mode 100755
index 00000000..86323984
--- /dev/null
+++ b/configure
@@ -0,0 +1,49 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+# We don't support srcdir != builddir
+echo \#buildapi-variable-no-builddir >/dev/null
+
+prefix=/usr
+
+# 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
+}
+
+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;;
+ *) echo "Ignoring unknown option '$1'";;
+ esac
+ shift
+done
+
+cat > Makefile.inc.tmp <<EOF
+prefix ?= ${prefix}
+libdir ?= ${libdir:-${prefix}/lib}
+datadir ?= ${datadir:-${prefix}/share}
+sysconfdir ?= ${sysconfdir:-${prefix}/etc}
+sbindir ?= ${sbindir:-${prefix}/sbin}
+mandir ?= ${mandir:-${prefix}/share/man}
+EOF
+mv Makefile.inc.tmp Makefile.inc