Index: Makefile
===================================================================
--- Makefile	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ Makefile	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -142,5 +142,5 @@
 
 clean:
-	-rm -f kernel.bin kernel.map kernel.map.pre kernel.objdump generic/src/debug/real_map.bin Makefile.depend generic/include/arch generic/include/genarch arch/$(ARCH)/_link.ld
+	-rm -f kernel.bin kernel.raw kernel.map kernel.map.pre kernel.objdump generic/src/debug/real_map.bin Makefile.depend generic/include/arch generic/include/genarch arch/$(ARCH)/_link.ld
 	find generic/src/ arch/$(ARCH)/src/ genarch/src/ -name '*.o' -exec rm \{\} \;
 	$(MAKE) -C arch/$(ARCH)/boot clean
@@ -154,5 +154,5 @@
 
 arch/$(ARCH)/_link.ld: arch/$(ARCH)/_link.ld.in
-	$(CC) $(DEFS) -DBFD=\"$(BFD)\" $(CFLAGS) -E -x c $< | grep -v "^\#" > $@
+	$(CC) $(DEFS) $(CFLAGS) -E -x c $< | grep -v "^\#" > $@
 
 generic/src/debug/real_map.bin: depend arch/$(ARCH)/_link.ld $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS)
@@ -165,6 +165,9 @@
 	$(OBJCOPY) -I binary -O $(BFD_NAME) -B $(BFD_ARCH) --prefix-sections=symtab $< $@
 
-kernel.bin: depend arch/$(ARCH)/_link.ld $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) generic/src/debug/real_map.o
+kernel.raw: depend arch/$(ARCH)/_link.ld $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) generic/src/debug/real_map.o
 	$(LD) -T arch/$(ARCH)/_link.ld $(LFLAGS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) generic/src/debug/real_map.o -o $@ -Map kernel.map
+
+kernel.bin: kernel.raw
+	$(OBJCOPY) -O $(BFD) kernel.raw kernel.bin
 
 boot: kernel.bin
Index: arch/amd64/_link.ld.in
===================================================================
--- arch/amd64/_link.ld.in	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ arch/amd64/_link.ld.in	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -13,5 +13,4 @@
 #include <arch/mm/page.h>
 
-OUTPUT_FORMAT(BFD)
 ENTRY(kernel_image_start)
 
Index: arch/ia32/_link.ld.in
===================================================================
--- arch/ia32/_link.ld.in	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ arch/ia32/_link.ld.in	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -13,5 +13,4 @@
 #include <arch/mm/page.h>
 
-OUTPUT_FORMAT(BFD)
 ENTRY(kernel_image_start)
 
Index: arch/ia64/_link.ld.in
===================================================================
--- arch/ia64/_link.ld.in	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ arch/ia64/_link.ld.in	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -9,5 +9,4 @@
 #define __ASM__
 
-OUTPUT_FORMAT(BFD)
 ENTRY(kernel_image_start)
 
Index: arch/mips32/_link.ld.in
===================================================================
--- arch/mips32/_link.ld.in	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ arch/mips32/_link.ld.in	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -9,5 +9,4 @@
 #define mips mips
 
-OUTPUT_FORMAT(BFD)
 OUTPUT_ARCH(mips)
 
Index: arch/ppc32/_link.ld.in
===================================================================
--- arch/ppc32/_link.ld.in	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ arch/ppc32/_link.ld.in	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -9,5 +9,4 @@
 #define __ASM__
 
-OUTPUT_FORMAT(BFD)
 ENTRY(kernel_image_start)
 
Index: arch/sparc64/_link.ld.in
===================================================================
--- arch/sparc64/_link.ld.in	(revision 789b5cc686492b767718682234d4cd5eff354f30)
+++ arch/sparc64/_link.ld.in	(revision 6e259d5bf67339b1bdb14806a7c3a449d5e0acb0)
@@ -9,5 +9,4 @@
 #define __ASM__
 
-OUTPUT_FORMAT(BFD)
 ENTRY(kernel_image_start)
 
