#!/bin/bash

CFLAGS="-fno-builtin -nostdinc -O2 -I. -Wall -m32"
LDFLAGS1="-nostdlib -Wl,-N -Wl,-Ttext -Wl,100000 -m32"
LDFLAGS2="-nostdlib -Wl,-N -Wl,-Ttext -Wl,1000 -m32"

gcc $CFLAGS -c debug.c
gcc $CFLAGS -c kernel.c
gcc $CFLAGS -c asm.S
gcc $CFLAGS -c start.S
gcc $LDFLAGS2 -o kernel.exec start.o asm.o kernel.o debug.o
objcopy -O binary kernel.exec kernel

gcc $CFLAGS -c boot.S
gcc $LDFLAGS1 -o boot.exec boot.o
objcopy -O binary boot.exec boot

dd if=/dev/zero of=mandel2 bs=256 count=32 2>/dev/null
dd if=boot bs=256 count=1 of=mandel2 conv=notrunc 2>/dev/null
dd if=kernel bs=256 seek=1 of=mandel2 conv=notrunc 2>/dev/null

