Reformatting project structure 2: Added shell scripts
This commit is contained in:
parent
7e177539b3
commit
a694be4662
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
. ./headers.sh
|
||||
|
||||
for PROJECT in $PROJECTS; do
|
||||
(echo "\nMoving in $PROJECT" && cd $PROJECT && DESTDIR="$SYSROOT" $MAKE install)
|
||||
done
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
. ./config.sh
|
||||
|
||||
for PROJECT in $PROJECTS; do
|
||||
(echo "\nMoving in $PROJECT" && cd $PROJECT && $MAKE clean)
|
||||
done
|
||||
|
||||
rm -rf sysroot
|
||||
rm -rf isodir
|
||||
rm -rf os.iso
|
|
@ -0,0 +1,28 @@
|
|||
SYSTEM_HEADER_PROJECTS="libc kernel"
|
||||
PROJECTS="libc kernel"
|
||||
|
||||
export MAKE=${MAKE:-make}
|
||||
export HOST=${HOST:-$(./default-host.sh)}
|
||||
|
||||
export AR=${HOST}-ar
|
||||
export AS=${HOST}-as
|
||||
export CC=${HOST}-gcc
|
||||
|
||||
export PREFIX=/usr
|
||||
export EXEC_PREFIX=$PREFIX
|
||||
export BOOTDIR=/boot
|
||||
export LIBDIR=$EXEC_PREFIX/lib
|
||||
export INCLUDEDIR=$PREFIX/include
|
||||
|
||||
export CFLAGS='-g3'
|
||||
export CPPFLAGS=''
|
||||
|
||||
# Configure the cross-compiler to use the desired system root.
|
||||
export SYSROOT="$(pwd)/sysroot"
|
||||
export CC="$CC --sysroot=$SYSROOT"
|
||||
|
||||
# Work around that the -elf gcc targets doesn't have a system include directory
|
||||
# because it was configured with --without-headers rather than --with-sysroot.
|
||||
if echo "$HOST" | grep -Eq -- '-elf($|-)'; then
|
||||
export CC="$CC -isystem=$INCLUDEDIR"
|
||||
fi
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
echo i686-elf
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
. ./config.sh
|
||||
|
||||
mkdir -p $SYSROOT
|
||||
|
||||
for PROJECT in $SYSTEM_HEADER_PROJECTS; do
|
||||
(echo "\nMoving to $PROJECT" && cd $PROJECT && DESTDIR="$SYSROOT" $MAKE install-headers)
|
||||
done
|
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
. ./build.sh
|
||||
|
||||
mkdir -p isodir
|
||||
mkdir -p isodir/boot
|
||||
mkdir -p isodir/boot/grub
|
||||
|
||||
cp sysroot/boot/os.kernel isodir/boot/os.kernel
|
||||
cat > isodir/boot/grub/grub.cfg << EOF
|
||||
menuentry "os" {
|
||||
multiboot /boot/os.kernel
|
||||
}
|
||||
EOF
|
||||
grub-mkrescue -o os.iso isodir
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
. ./iso.sh
|
||||
|
||||
qemu-system-$(./target-triplet-to-arch.sh $HOST) -cdrom os.iso
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
if echo "$1" | grep -Eq 'i[[:digit:]]86-'; then
|
||||
echo i386
|
||||
else
|
||||
echo "$1" | grep -Eo '^[[:alnum:]_]*'
|
||||
fi
|
Loading…
Reference in New Issue