From c8c5b5ad86fb266c7cbac5bccfd4108607774d51 Mon Sep 17 00:00:00 2001 From: Arthur Beck Date: Sat, 22 Feb 2025 16:10:10 -0600 Subject: [PATCH] more flexible and changed KERNEL_DIR environment variable to APHRODITE_DIR --- kernel/build | 18 +++++++++++++++--- kernel/targets | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/kernel/build b/kernel/build index a6e58e0..9222098 100755 --- a/kernel/build +++ b/kernel/build @@ -17,6 +17,7 @@ fi fi + trap 'popd -0 2>&1 > /dev/null' EXIT set -o errexit # put down here as getopt returns error code four if it's working, and it probably would work otherwise, but I'm not taking chances check=false @@ -60,7 +61,9 @@ fi fi - export KERNEL_DIR=$(readlink -e .) + TEMP_APHRODITE_DIR=$(readlink -e .) + + APHRODITE_DIR="${APHRODITE_DIR:-$TEMP_APHRODITE_DIR}" DIR="${BASH_SOURCE%/*}" if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi @@ -75,10 +78,16 @@ rm -f targets.tmp envsubst < "targets" > "targets.tmp" + # see above about -f + rm -f /tmp/aphrodite_dir + echo $APHRODITE_DIR > /tmp/aphrodite_dir # we really don't want this to be overwritten + export $(grep -Ev '^#' targets.tmp | xargs) export $(grep -Ev '^#' config.aphro.tmp | xargs) + APHRODITE_DIR=$(cat /tmp/aphrodite_dir) + get_version if [[ "$CFG_VERSION" != "$VERSION" ]]; then @@ -91,9 +100,12 @@ fi function compile_one { + pushd . 2>&1 > /dev/null + cd "$APHRODITE_DIR" target=$1 real_target=${!target} - real_target=$(basename $real_target) + target_json=$(basename $real_target) + real_target="$APHRODITE_DIR/$target_json" if [[ $check = "true" ]]; then echo "[INFO] Checking target $target(with rust target of $real_target)" cargo clippy --target "$real_target" --release -Zbuild-std=core,alloc --bin entrypoint_$target @@ -103,7 +115,7 @@ cargo clippy --target "$real_target" --release -Zbuild-std=core,alloc --bin entrypoint_$target echo "[INFO] Building" cargo build --target "$real_target" --release -Zbuild-std=core,alloc --bin entrypoint_$target 2>/dev/null - cp "target/$(echo $real_target | sed 's/\.json//')/release/entrypoint_$target" kernel-$target + cp "target/$(echo $target_json | sed 's/\.json//')/release/entrypoint_$target" kernel-$target if [[ "$CONFIG_BUILD_GRUB" = "true" ]]; then if [[ "$target" = "x86" || "$target" = "mips64" || "$target" = "mipsel" || "$target" = "mipsle" ]]; then diff --git a/kernel/targets b/kernel/targets index b95f733..be6689a 100644 --- a/kernel/targets +++ b/kernel/targets @@ -1,4 +1,4 @@ # Targets used for documentation. -x86=$KERNEL_DIR/i686-unknown-none.json +x86=$APHRODITE_DIR/i686-unknown-none.json TARGETS=x86 \ No newline at end of file