24 lines
719 B
Bash
Executable File
24 lines
719 B
Bash
Executable File
#!/bin/bash
|
|
|
|
function compile()
|
|
{
|
|
build_dir=$1
|
|
exe_name=$2
|
|
debug_info=$3
|
|
optimizations=$4
|
|
|
|
mkdir -p $build_dir
|
|
|
|
compile_command="clang++ -o $build_dir/$exe_name $debug_info $optimizations -std=gnu++20 -Wall -Wextra -Wpedantic -Wno-nested-anon-types -pedantic -fno-exceptions -fno-stack-protector -ferror-limit=1 -MJ $build_dir/compile_commands.json"
|
|
|
|
case "$OSTYPE" in
|
|
darwin*) ;;
|
|
linux*) compile_command="$compile_command -ffreestanding -nostdlib -static bootstrap/entry.S" ;;
|
|
*) echo "unknown: $OSTYPE" ;;
|
|
esac
|
|
|
|
compile_command="$compile_command bootstrap/main.cpp"
|
|
echo -e "\x1b[36m$compile_command\x1b[0m"
|
|
eval "time $compile_command"
|
|
}
|