Add a pass-through kmake command invocation
Switch from starting interactive shell as the default
to running kmake command with passed arguments. This would
make usage of `kmake` more transparent and more like
a normal `make` workflow.
Interactive mode still can be activated by passing `-i` command-line
option to the script
Change-Id: I67bf133ddb281cbd6d81b769e5ba130e1fa0fb04
Reviewed-on: https://cos-review.googlesource.com/c/cos/tools/+/24352
Cloud-Build: GCB Service account <228075978874@cloudbuild.gserviceaccount.com>
Reviewed-by: Oleksandr Tymoshenko <ovt@google.com>
Tested-by: Oleksandr Tymoshenko <ovt@google.com>
diff --git a/src/cmd/cos_kernel_devenv/devenv.sh b/src/cmd/cos_kernel_devenv/devenv.sh
index 7d5264f..1e24d95 100755
--- a/src/cmd/cos_kernel_devenv/devenv.sh
+++ b/src/cmd/cos_kernel_devenv/devenv.sh
@@ -368,10 +368,10 @@
}
main() {
- local build_target="shell"
+ local build_target=""
local custom_bucket=""
get_cos_tools_bucket
- while getopts "A:B:C:G:R:b:cdkmt:" o; do
+ while getopts "A:B:C:G:R:b:cdikmt:" o; do
case "${o}" in
A) KERNEL_ARCH=${OPTARG} ;;
B) BUILD_ID=${OPTARG} ;;
@@ -381,6 +381,7 @@
b) BOARD=${OPTARG} ;;
c) CLEAN_BEFORE_BUILD="true" ;;
d) BUILD_DEBUG_PACKAGE="true" ;;
+ i) build_target="shell" ;;
k) build_target="kernel" ;;
m) build_target="module" ;;
t) CROS_TC_VERSION="${OPTARG}" ;;
@@ -460,10 +461,11 @@
case "${build_target}" in
kernel) kernel_build -j"$(nproc)" ;;
module) module_build -j"$(nproc)" ;;
- *)
+ shell)
echo "Starting interactive shell for the kernel devenv"
/bin/bash
;;
+ *) kmake -j"$(nproc)" "$@" ;;
esac
}