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
:= 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 KBUILD_HOSTCFLAGS
:= -Wall
-I
$(objtree
)/usr
/include
18 BOOTCFLAGS
+= -I
$(objtree
)/$(obj
) -I
$(srctree
)/$(obj
)
20 # SRM bootable image. Copy to offset 512 of a partition.
21 $(obj
)/bootimage
: $(addprefix $(obj
)/tools
/,mkbb lxboot bootlx
) $(obj
)/vmlinux.nh
22 ( cat
$(obj
)/tools
/lxboot
$(obj
)/tools
/bootlx
$(obj
)/vmlinux.nh
) > $@
23 $(obj
)/tools
/mkbb
$@
$(obj
)/tools
/lxboot
24 @echo
' Bootimage $@ is ready'
26 # BOOTP bootable image. Define INITRD during make to append initrd image.
27 $(obj
)/bootpfile
: $(obj
)/tools
/bootph
$(obj
)/vmlinux.nh
28 cat
$(obj
)/tools
/bootph
$(obj
)/vmlinux.nh
> $@
33 # Compressed kernel BOOTP bootable image.
34 # Define INITRD during make to append initrd image.
35 $(obj
)/bootpzfile
: $(obj
)/tools
/bootpzh
$(obj
)/vmlinux.nh.gz
36 cat
$(obj
)/tools
/bootpzh
$(obj
)/vmlinux.nh.gz
> $@
41 # Compressed kernel image
42 $(obj
)/vmlinux.gz
: $(obj
)/vmlinux FORCE
43 $(call if_changed
,gzip
)
44 @echo
' Kernel $@ is ready'
46 $(obj
)/main.o
: $(obj
)/ksize.h
47 $(obj
)/bootp.o
: $(obj
)/ksize.h
48 $(obj
)/bootpz.o
: $(obj
)/kzsize.h
50 $(obj
)/ksize.h
: $(obj
)/vmlinux.nh FORCE
51 echo
"#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
53 [ -f
$(INITRD
) ] || exit
1
54 echo
"#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
56 cmp
-s
$@T
$@ || mv
-f
$@T
$@
59 $(obj
)/kzsize.h
: $(obj
)/vmlinux.nh.gz FORCE
60 echo
"#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
61 echo
"#define KERNEL_Z_SIZE `ls -l $(obj)/vmlinux.nh.gz | awk '{print $$5}'`" >> $@T
63 [ -f
$(INITRD
) ] || exit
1
64 echo
"#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
66 cmp
-s
$@T
$@ || mv
-f
$@T
$@
69 quiet_cmd_strip
= STRIP
$@
70 cmd_strip
= $(STRIP
) -o
$@
$<
72 $(obj
)/vmlinux
: vmlinux FORCE
73 $(call if_changed
,strip)
75 quiet_cmd_objstrip
= OBJSTRIP
$@
76 cmd_objstrip
= $(OBJSTRIP
) $(OSFLAGS_
$(@F
)) $< $@
78 OSFLAGS_vmlinux.nh
:= -v
82 OSFLAGS_bootpzh
:= -vb
84 $(obj
)/vmlinux.nh
: vmlinux
$(OBJSTRIP
) FORCE
85 $(call if_changed
,objstrip
)
87 $(obj
)/vmlinux.nh.gz
: $(obj
)/vmlinux.nh FORCE
88 $(call if_changed
,gzip
)
90 $(obj
)/tools
/lxboot
: $(obj
)/bootloader
$(OBJSTRIP
) FORCE
91 $(call if_changed
,objstrip
)
93 $(obj
)/tools
/bootlx
: $(obj
)/bootloader
$(OBJSTRIP
) FORCE
94 $(call if_changed
,objstrip
)
96 $(obj
)/tools
/bootph
: $(obj
)/bootpheader
$(OBJSTRIP
) FORCE
97 $(call if_changed
,objstrip
)
99 $(obj
)/tools
/bootpzh
: $(obj
)/bootpzheader
$(OBJSTRIP
) FORCE
100 $(call if_changed
,objstrip
)
102 LDFLAGS_bootloader
:= -static
-T
# -N -relax
103 LDFLAGS_bootloader
:= -static
-T
# -N -relax
104 LDFLAGS_bootpheader
:= -static
-T
# -N -relax
105 LDFLAGS_bootpzheader
:= -static
-T
# -N -relax
107 OBJ_bootlx
:= $(obj
)/head.o
$(obj
)/stdio.o
$(obj
)/main.o
108 OBJ_bootph
:= $(obj
)/head.o
$(obj
)/stdio.o
$(obj
)/bootp.o
109 OBJ_bootpzh
:= $(obj
)/head.o
$(obj
)/stdio.o
$(obj
)/bootpz.o
$(obj
)/misc.o
111 $(obj
)/bootloader
: $(obj
)/bootloader.lds
$(OBJ_bootlx
) $(LIBS_Y
) FORCE
112 $(call if_changed
,ld)
114 $(obj
)/bootpheader
: $(obj
)/bootloader.lds
$(OBJ_bootph
) $(LIBS_Y
) FORCE
115 $(call if_changed
,ld)
117 $(obj
)/bootpzheader
: $(obj
)/bootloader.lds
$(OBJ_bootpzh
) $(LIBS_Y
) FORCE
118 $(call if_changed
,ld)
120 $(obj
)/misc.o
: lib
/inflate.c