#!/usr/bin/env bash
##
## Copyright (C) 2020 The Android Open Source Project
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##

set -euo pipefail

ROOT_DIR="${GEN_DIR}/root"
MODULES_DIR="${ROOT_DIR}/lib/modules"

mkdir -p "${ROOT_DIR}" "${MODULES_DIR}"
for FILE in $*
do
	BASENAME=$(basename "${FILE}")
	if [ "${BASENAME: -3}" == ".ko" ]
	then
		cp "${FILE}" "${MODULES_DIR}/${BASENAME}"
	else
		cp "${FILE}" "${ROOT_DIR}/${BASENAME}"
	fi
done
"${MKBOOTFS}" "${ROOT_DIR}" > "${OUT}"
