2 # arch/alpha/boot/Makefile
4 # This file is subject to the terms and conditions of the GNU General Public
5 # License. See the file "COPYING" in the main directory of this archive
8 # Copyright (C) 1994 by Linus Torvalds
11 hostprogs-y
:= tools
/mkbb tools
/objstrip
12 targets
:= vmlinux.gz vmlinux \
13 vmlinux.nh tools
/lxboot tools
/bootlx tools
/bootph \
14 tools
/bootpzh bootloader bootpheader bootpzheader
15 OBJSTRIP
:= $(obj
)/tools
/objstrip
17 # SRM bootable image. Copy to offset 512 of a partition.
18 $(obj
)/bootimage
: $(addprefix $(obj
)/tools
/,mkbb lxboot bootlx
) $(obj
)/vmlinux.nh
19 ( cat
$(obj
)/tools
/lxboot
$(obj
)/tools
/bootlx
$(obj
)/vmlinux.nh
) > $@
20 $(obj
)/tools
/mkbb
$@
$(obj
)/tools
/lxboot
21 @echo
' Bootimage $@ is ready'
23 # BOOTP bootable image. Define INITRD during make to append initrd image.
24 $(obj
)/bootpfile
: $(obj
)/tools
/bootph
$(obj
)/vmlinux.nh
25 cat
$(obj
)/tools
/bootph
$(obj
)/vmlinux.nh
> $@
30 # Compressed kernel BOOTP bootable image.
31 # Define INITRD during make to append initrd image.
32 $(obj
)/bootpzfile
: $(obj
)/tools
/bootpzh
$(obj
)/vmlinux.nh.gz
33 cat
$(obj
)/tools
/bootpzh
$(obj
)/vmlinux.nh.gz
> $@
38 # Compressed kernel image
39 $(obj
)/vmlinux.gz
: $(obj
)/vmlinux FORCE
40 $(call if_changed
,gzip
)
41 @echo
' Kernel $@ is ready'
43 $(obj
)/main.o
: $(obj
)/ksize.h
44 $(obj
)/bootp.o
: $(obj
)/ksize.h
45 $(obj
)/bootpz.o
: $(obj
)/kzsize.h
47 $(obj
)/ksize.h
: $(obj
)/vmlinux.nh FORCE
48 echo
"#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
50 [ -f
$(INITRD
) ] || exit
1
51 echo
"#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
53 cmp
-s
$@T
$@ || mv
-f
$@T
$@
56 $(obj
)/kzsize.h
: $(obj
)/vmlinux.nh.gz FORCE
57 echo
"#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
58 echo
"#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T
60 [ -f
$(INITRD
) ] || exit
1
61 echo
"#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
63 cmp
-s
$@T
$@ || mv
-f
$@T
$@
66 quiet_cmd_strip
= STRIP
$@
67 cmd_strip
= $(STRIP
) -o
$@
$<
69 $(obj
)/vmlinux
: vmlinux FORCE
70 $(call if_changed
,strip)
72 quiet_cmd_objstrip
= OBJSTRIP
$@
73 cmd_objstrip
= $(OBJSTRIP
) $(OSFLAGS_
$(@F
)) $< $@
75 OSFLAGS_vmlinux.nh
:= -v
79 OSFLAGS_bootpzh
:= -vb
81 $(obj
)/vmlinux.nh
: vmlinux
$(OBJSTRIP
) FORCE
82 $(call if_changed
,objstrip
)
84 $(obj
)/vmlinux.nh.gz
: $(obj
)/vmlinux.nh FORCE
85 $(call if_changed
,gzip
)
87 $(obj
)/tools
/lxboot
: $(obj
)/bootloader
$(OBJSTRIP
) FORCE
88 $(call if_changed
,objstrip
)
90 $(obj
)/tools
/bootlx
: $(obj
)/bootloader
$(OBJSTRIP
) FORCE
91 $(call if_changed
,objstrip
)
93 $(obj
)/tools
/bootph
: $(obj
)/bootpheader
$(OBJSTRIP
) FORCE
94 $(call if_changed
,objstrip
)
96 $(obj
)/tools
/bootpzh
: $(obj
)/bootpzheader
$(OBJSTRIP
) FORCE
97 $(call if_changed
,objstrip
)
99 LDFLAGS_bootloader
:= -static
-uvsprintf
-T
#-N -relax
100 LDFLAGS_bootpheader
:= -static
-uvsprintf
-T
#-N -relax
101 LDFLAGS_bootpzheader
:= -static
-uvsprintf
-T
#-N -relax
103 OBJ_bootlx
:= $(obj
)/head.o
$(obj
)/main.o
104 OBJ_bootph
:= $(obj
)/head.o
$(obj
)/bootp.o
105 OBJ_bootpzh
:= $(obj
)/head.o
$(obj
)/bootpz.o
$(obj
)/misc.o
107 $(obj
)/bootloader
: $(obj
)/bootloader.lds
$(OBJ_bootlx
) $(LIBS_Y
) FORCE
108 $(call if_changed
,ld)
110 $(obj
)/bootpheader
: $(obj
)/bootloader.lds
$(OBJ_bootph
) $(LIBS_Y
) FORCE
111 $(call if_changed
,ld)
113 $(obj
)/bootpzheader
: $(obj
)/bootloader.lds
$(OBJ_bootpzh
) $(LIBS_Y
) FORCE
114 $(call if_changed
,ld)
116 $(obj
)/misc.o
: lib
/inflate.c