Index: arch/ppc/boot/Makefile
===================================================================
--- arch/ppc/boot/Makefile	(revision efa9b73911d63d18968d4c5215c7b8adedbe4a4a)
+++ arch/ppc/boot/Makefile	(revision 3817ed1b528d35beeab51abb588dc261aee19fa8)
@@ -9,15 +9,20 @@
 	cp boot.bin ../../../src/load.bin
 
+CC=$(PPC_BINUTILS_DIR)/$(PPC_TARGET)-gcc
 AS=$(PPC_BINUTILS_DIR)/$(PPC_TARGET)-as
 LD=$(PPC_BINUTILS_DIR)/$(PPC_TARGET)-ld
 
-ASFLAGS=
-LFLAGS=--oformat=binary -e start
+CPPFLAGS=$(DEFS) -nostdinc -I../include
+CFLAGS=$(CPPFLAGS) -nostdlib -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O2
+LFLAGS=-no-check-sections -N -T _link.ld
 
-boot.bin: boot.o
-	$(LD) $(LFLAGS) boot.o -o $@
+boot.bin: boot.o main.o
+	$(LD) $(LFLAGS) boot.o main.o -o $@
 
-boot.o:
-	$(AS) boot.s -o $@
+boot.o: boot.S
+	$(CC) $(CFLAGS) -c boot.S -o $@
+
+main.o: main.c
+	$(CC) $(CFLAGS) -c main.c -o $@
 
 clean:
