Merge tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
[sfrench/cifs-2.6.git] / arch / alpha / boot / Makefile
1 #
2 # arch/alpha/boot/Makefile
3 #
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
6 # for more details.
7 #
8 # Copyright (C) 1994 by Linus Torvalds
9 #
10
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
16
17 KBUILD_HOSTCFLAGS := -Wall -I$(objtree)/usr/include
18 BOOTCFLAGS      += -I$(objtree)/$(obj) -I$(srctree)/$(obj)
19
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'
25
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 > $@
29 ifdef INITRD
30         cat $(INITRD) >> $@
31 endif
32
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 > $@
37 ifdef INITRD
38         cat $(INITRD) >> $@
39 endif
40
41 # Compressed kernel image
42 $(obj)/vmlinux.gz: $(obj)/vmlinux FORCE
43         $(call if_changed,gzip)
44         @echo '  Kernel $@ is ready'
45
46 $(obj)/main.o: $(obj)/ksize.h
47 $(obj)/bootp.o: $(obj)/ksize.h
48 $(obj)/bootpz.o: $(obj)/kzsize.h
49
50 $(obj)/ksize.h: $(obj)/vmlinux.nh FORCE
51         echo "#define KERNEL_SIZE `ls -l $(obj)/vmlinux.nh | awk '{print $$5}'`" > $@T
52 ifdef INITRD
53         [ -f $(INITRD) ] || exit 1
54         echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
55 endif
56         cmp -s $@T $@ || mv -f $@T $@
57         rm -f $@T
58
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
62 ifdef INITRD
63         [ -f $(INITRD) ] || exit 1
64         echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T
65 endif
66         cmp -s $@T $@ || mv -f $@T $@
67         rm -f $@T
68
69 quiet_cmd_strip = STRIP  $@
70       cmd_strip = $(STRIP) -o $@ $<
71
72 $(obj)/vmlinux: vmlinux FORCE
73         $(call if_changed,strip)
74
75 quiet_cmd_objstrip = OBJSTRIP $@
76       cmd_objstrip = $(OBJSTRIP) $(OSFLAGS_$(@F)) $< $@
77
78 OSFLAGS_vmlinux.nh      := -v
79 OSFLAGS_lxboot          := -p
80 OSFLAGS_bootlx          := -vb
81 OSFLAGS_bootph          := -vb
82 OSFLAGS_bootpzh         := -vb
83
84 $(obj)/vmlinux.nh: vmlinux $(OBJSTRIP) FORCE
85         $(call if_changed,objstrip)
86
87 $(obj)/vmlinux.nh.gz: $(obj)/vmlinux.nh FORCE
88         $(call if_changed,gzip)
89
90 $(obj)/tools/lxboot: $(obj)/bootloader $(OBJSTRIP) FORCE
91         $(call if_changed,objstrip)
92
93 $(obj)/tools/bootlx: $(obj)/bootloader $(OBJSTRIP) FORCE
94         $(call if_changed,objstrip)
95
96 $(obj)/tools/bootph: $(obj)/bootpheader $(OBJSTRIP) FORCE
97         $(call if_changed,objstrip)
98
99 $(obj)/tools/bootpzh: $(obj)/bootpzheader $(OBJSTRIP) FORCE
100         $(call if_changed,objstrip)
101
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
106
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
110
111 $(obj)/bootloader: $(obj)/bootloader.lds $(OBJ_bootlx) $(LIBS_Y) FORCE
112         $(call if_changed,ld)
113
114 $(obj)/bootpheader: $(obj)/bootloader.lds $(OBJ_bootph) $(LIBS_Y) FORCE
115         $(call if_changed,ld)
116
117 $(obj)/bootpzheader: $(obj)/bootloader.lds $(OBJ_bootpzh) $(LIBS_Y) FORCE
118         $(call if_changed,ld)
119
120 $(obj)/misc.o: lib/inflate.c