Fix --enable-linux-builtin

Adding VPATH support, commit 37d7cd9, required that a `src`
and `obj` line be added to the top of the Makefiles.  They
must be removed from the Makefiles when builtin.

The code which adds the `spl/` directory to the top level
Makefile was failing due to the addition of the `certs/` path.
The search pattern has been adjusted to be more tolerant.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #481
Issue #498
This commit is contained in:
Brian Behlendorf 2015-12-01 18:18:14 -08:00
parent e7b75d9b46
commit 4e6f996cdd

View File

@ -56,6 +56,8 @@ adjust_obj_paths()
for MODULE in "${MODULES[@]}" for MODULE in "${MODULES[@]}"
do do
adjust_obj_paths "$KERNEL_DIR/spl/$MODULE/Makefile" adjust_obj_paths "$KERNEL_DIR/spl/$MODULE/Makefile"
sed -i.bak '/obj =/d' "$KERNEL_DIR/spl/$MODULE/Makefile"
sed -i.bak '/src =/d' "$KERNEL_DIR/spl/$MODULE/Makefile"
done done
cat > "$KERNEL_DIR/spl/Kconfig" <<"EOF" cat > "$KERNEL_DIR/spl/Kconfig" <<"EOF"
@ -112,8 +114,9 @@ add_after()
} }
add_after "$KERNEL_DIR/Kconfig" 'source "arch/$SRCARCH/Kconfig"' 'source "spl/Kconfig"' add_after "$KERNEL_DIR/Kconfig" 'source "arch/$SRCARCH/Kconfig"' 'source "spl/Kconfig"'
# We must take care to build SPL before ZFS, else module initialization order will be wrong # We must take care to build SPL before ZFS, otherwise the symbols required
sed -i 's#kernel/ mm/ fs/#kernel/ mm/ spl/ fs/#' "$KERNEL_DIR/Makefile" # to link ZFS will not be available.
sed -i 's#+= kernel/#+= kernel/ spl/#' "$KERNEL_DIR/Makefile"
echo >&2 echo >&2
echo " $0: done." >&2 echo " $0: done." >&2