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
 }