From 756408c5a9d5fad16a26caaaad791f53833a46d9 Mon Sep 17 00:00:00 2001 From: natrixaeria Date: Thu, 24 Oct 2019 17:32:11 +0200 Subject: Create a build sh script --- kernel/build.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 kernel/build.sh diff --git a/kernel/build.sh b/kernel/build.sh new file mode 100755 index 0000000..069180b --- /dev/null +++ b/kernel/build.sh @@ -0,0 +1,44 @@ +#!/usr/bin/sh + +cleanup_temp() { + rm -f target/temp/* 2>&1 > /dev/null +} + +build_kernel() { + nasm -felf64 multiboot_header.asm -o target/temp/multiboot_header.o + nasm -felf64 boot.asm -o target/temp/boot.o + ld -n -o target/kernel.bin -T linker.ld target/temp/*.o + cleanup_temp +} + +build_all() { + build_kernel +} + +not_exec=true + +for arg in "$@"; do + case "$arg" in + "kernel") build_kernel;; + "all") build_all;; + *) + echo "warn: ignoring unknown option '$arg'" + continue;; + esac + not_exec=false + break +done + +print_help() { + echo "usage: $0 option" + echo "options: " + echo " kernel build the kernel" + echo " all build kernel" +} + +if $not_exec; then + echo "error: please specify an argument" + echo + print_help + exit -1 +fi -- cgit v1.2.3-54-g00ecf