1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/bin/sh
- QEMU_EXECUTABLES="qemu-system-i386 qemu-system-x86_64"
- GDB_EXECUTABLES="gdb x86_64-elf-gdb"
- event() {
- printf "$1... "
- }
- event "finding qemu"
- for item in $QEMU_EXECUTABLES; do
- if $item --version > /dev/null 2>&1; then
- QEMU="$item"
- break
- fi
- done
- if [ "$QEMU" = "" ]; then
- echo "failed"
- exit 1
- fi
- echo "$QEMU"
- event "finding gdb"
- for item in $GDB_EXECUTABLES; do
- if $item --version > /dev/null 2>&1; then
- GDB="$item"
- break
- fi
- done
- if [ "$GDB" = "" ]; then
- echo "failed"
- exit 1
- fi
- echo "$GDB"
- event "checking os type"
- OS=`uname`
- case "$OS" in
- "Linux")
- echo "Linux"
- QEMU_ACCEL='-enable-kvm'
- ;;
- "Darwin")
- echo "macOS"
- QEMU_ACCEL='-accel hvf'
- ;;
- *)
- echo "unknown"
- exit 1
- ;;
- esac
- event "checking cross compiling"
- if [ "$CROSS_COMPILE" != "" ]; then
- echo "yes"
- CROSS_COMPILE_FLAG='--toolchain cross-compile.cmake'
- else
- echo "no"
- CROSS_COMPILE_FLAG=
- fi
- cp Makefile.src Makefile
- sed -i '' "s/##PLACEHOLDER_1##/$QEMU/" Makefile
- sed -i '' "s/##PLACEHOLDER_2##/$GDB/" Makefile
- sed -i '' "s/##PLACEHOLDER_3##/$QEMU_ACCEL/" Makefile
- sed -i '' "s/##PLACEHOLDER_4##/$CROSS_COMPILE_FLAG/" Makefile
|