Fix corner cases on OUTPUTDIR.
[genkernel.git] / gen_compile.sh
index cbd3432fffa38f9e3cb31ffb1ed5d2ac8ee6e233..71f5a68d48f10c463a1f0f36b38a3cc3fa074b67 100755 (executable)
@@ -25,6 +25,10 @@ compile_kernel_args() {
                then
                        ARGS="${ARGS} ARCH=\"${KERNEL_ARCH}\""
                fi
+               if [ -n "${KERNEL_OUTPUTDIR}" -a "${KERNEL_OUTPUTDIR}" != "${KERNEL_DIR}" ]
+               then
+                       ARGS="${ARGS} O=\"${KERNEL_OUTPUTDIR}\""
+               fi
        fi
        echo -n "${ARGS}"
 }
@@ -297,6 +301,8 @@ compile_modules() {
        export UNAME_MACHINE="${ARCH}"
        [ "${INSTALL_MOD_PATH}" != '' ] && export INSTALL_MOD_PATH
        MAKEOPTS="${MAKEOPTS} -j1" compile_generic "modules_install" kernel
+       print_info 1 "        >> Generating module dependency data..."
+       depmod -a -e -b "${INSTALL_MOD_PATH}"/lib/modules/$KV ${KV}
        unset UNAME_MACHINE
 }
 
@@ -316,7 +322,7 @@ compile_kernel() {
                compile_generic "${KERNEL_MAKE_DIRECTIVE_2}" kernel
        fi
 
-       local firmware_in_kernel_line=`fgrep CONFIG_FIRMWARE_IN_KERNEL "${KERNEL_DIR}"/.config`
+       local firmware_in_kernel_line=`fgrep CONFIG_FIRMWARE_IN_KERNEL "${KERNEL_OUTPUTDIR}"/.config`
        if [ -n "${firmware_in_kernel_line}" -a "${firmware_in_kernel_line}" != CONFIG_FIRMWARE_IN_KERNEL=y ]
        then
                print_info 1 "        >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y..."