Index: boot/arch/sparc64/loader/Makefile
===================================================================
--- boot/arch/sparc64/loader/Makefile	(revision 136edca07dac4855f2401e71778a4078795a3216)
+++ boot/arch/sparc64/loader/Makefile	(revision afb1e35bc801349b8b29725021823bbc5542f798)
@@ -33,4 +33,6 @@
 #
 
+BFD_NAME = elf64-sparc
+BFD_ARCH = sparc
 TARGET = sparc64-linux-gnu
 TOOLCHAIN_DIR = /usr/local/sparc64/bin
@@ -64,4 +66,5 @@
 SOURCES = \
 	main.c \
+	_components.c \
 	../../../generic/printf.c \
 	../../../generic/string.c \
@@ -104,8 +107,8 @@
 
 clean:
-	-rm -f _components.h _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot boot.disasm Makefile.depend
+	-rm -f _components.h _components.c _link.ld $(COMPONENT_OBJECTS) $(OBJECTS) image.boot image.map image.disasm Makefile.depend
 
-_components.h _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS)
-	./pack $(IMAGE) $(OBJCOPY) $(COMPONENTS)
+_components.h _components.c _link.ld $(COMPONENT_OBJECTS): $(COMPONENTS) _link.ld.in
+	../../../tools/pack.py $(OBJCOPY) $(BFD_NAME) $(BFD_ARCH) 1 "unsigned long" $(COMPONENTS)
 
 %.o: %.S
@@ -116,3 +119,3 @@
 
 disasm: image.boot
-	$(OBJDUMP) -d image.boot > boot.disasm
+	$(OBJDUMP) -d image.boot > image.disasm
