100 lines
2.8 KiB
Bash
Executable file
100 lines
2.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# backtrack_changes() {
|
|
# cp dragon/disk1.dr ../extra/dragon/disk1.dr
|
|
# cp dragon/cmos.dr ../extra/dragon/cmos.dr
|
|
# cp dragon/bios.bin ../extra/dragon/bios.bin
|
|
# cp dss/sdk/bios_api.dss ../extra/dss/sdk/bios_api.dss
|
|
# }
|
|
|
|
set -e
|
|
|
|
MAKE_COMMAND=make
|
|
MAKEFILE_TYPE="Unix Makefiles"
|
|
|
|
if [[ "$(uname)" == "Darwin" ]]; then
|
|
NJOBS=-j"$(sysctl -n hw.ncpu)"
|
|
else
|
|
NJOBS=-j$(nproc)
|
|
fi
|
|
|
|
if [[ "$(uname -s)" == MINGW64_NT* ]]; then
|
|
MAKE_COMMAND=mingw32-make.exe
|
|
MAKEFILE_TYPE="MinGW Makefiles"
|
|
fi
|
|
|
|
if [[ "$1" == "debug" || "$1" == "release" ]]; then
|
|
BUILD_TYPE="$(tr '[:lower:]' '[:upper:]' <<< ${1:0:1})${1:1}"
|
|
rm -rf bin
|
|
cmake -B bin -S ./ -G "$MAKEFILE_TYPE" -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
|
$MAKE_COMMAND -C bin $NJOBS --no-print-directory
|
|
cp -r extra/* bin/
|
|
typeset -i build_number=$(cat other/build.nr)
|
|
((build_number++))
|
|
truncate -s 0 other/build.nr
|
|
echo $build_number >> other/build.nr
|
|
elif [[ "$1" == "windows_release" ]]; then
|
|
cd other
|
|
chmod +x build_windows_release.sh
|
|
./build_windows_release.sh
|
|
cd ../bin/DragonV2_w64
|
|
# ./reload_env.sh
|
|
cd ../..
|
|
elif [[ "$1" == "linux_release" ]]; then
|
|
cd other
|
|
chmod +x build_linux_release.sh
|
|
./build_linux_release.sh
|
|
cd ../bin/DragonV2_linux64
|
|
# ./reload_env.sh
|
|
cd ../..
|
|
elif [[ "$1" == "dependencies" ]]; then
|
|
cd other
|
|
chmod +x build_dependencies.sh
|
|
./build_dependencies.sh
|
|
cd ..
|
|
else
|
|
cp -r extra/* bin/
|
|
printf "\n\033[0;32mBuilding Changes...\n\n\033[0m"
|
|
$MAKE_COMMAND -C bin $NJOBS --no-print-directory
|
|
# mkdir -p bin/disassembly
|
|
if [[ "$1" == "run" ]]; then
|
|
printf "\n\033[0;32mRunning DragonV2 runtime...\n\n\033[0m"
|
|
cd bin
|
|
# ./reload_env.sh
|
|
./dvm config/testMachine.dvm
|
|
# backtrack_changes
|
|
cd ..
|
|
elif [[ "$1" == "ddb" ]]; then
|
|
printf "\n\033[0;32mRunning DragonV2 debug...\n\n\033[0m"
|
|
cd bin
|
|
# ./reload_env.sh -D
|
|
./ddb config/testMachine.dvm --verbose-load
|
|
# backtrack_changes
|
|
cd ..
|
|
elif [[ "$1" == "ddbv" ]]; then
|
|
printf "\n\033[0;32mRunning DragonV2 debug...\n\n\033[0m"
|
|
cd bin
|
|
# ./reload_env.sh "-D --verbose-full"
|
|
./ddb config/testMachine.dvm --verbose-load
|
|
# backtrack_changes
|
|
cd ..
|
|
elif [[ "$1" == "gdb" ]]; then
|
|
printf "\n\033[0;32mDebugging Test Application...\n\n\033[0m"
|
|
cd bin
|
|
# ./reload_env.sh
|
|
gdb -batch \
|
|
-ex 'set pagination off' \
|
|
-ex 'set print pretty on' \
|
|
-ex 'set logging file gdb-last.log' \
|
|
-ex 'set logging overwrite on' \
|
|
-ex 'set logging on' \
|
|
-ex 'handle SIGPIPE nostop noprint pass' \
|
|
-ex run \
|
|
-ex 'bt full' \
|
|
-ex 'info locals' \
|
|
-ex 'info args' \
|
|
-ex quit \
|
|
--args ./dvm config/testMachine.dvm
|
|
cd ..
|
|
fi
|
|
fi
|