2 # arch/ppc/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
9 # Adapted for PowerPC by Gary Thomas
10 # modified by Cort (cort@cs.nmt.edu)
15 CFLAGS += -fno-builtin -D__BOOTER__ -I$(TOPDIR)/arch/$(ARCH)/boot/include
17 AFLAGS += -D__BOOTER__
18 OBJCOPY_ARGS = -O elf32-powerpc
20 MKIMAGE := $(TOPDIR)/scripts/mkuboot.sh
22 lib/zlib.a: lib/zlib.c
25 images/vmlinux.gz: $(TOPDIR)/vmlinux
26 $(MAKE) -C images vmlinux.gz
28 # Subdirs and tools needed for each. Assume we always need to go into
29 # 'simple' unless told otherwise.
30 subdir-y := lib common simple
31 subdir-$(CONFIG_ALL_PPC) := chrp pmac prep
32 tools-$(CONFIG_ALL_PPC) := addnote mknote hack-coff mkprep
33 tools-$(CONFIG_4xx) := mktree
34 tools-$(CONFIG_LOPEC) := mkbugboot mkprep
35 tools-$(CONFIG_PPLUS) := mkbugboot mkprep
36 tools-$(CONFIG_PRPMC750) := mkbugboot mkprep
37 tools-$(CONFIG_SPRUCE) := mktree
39 # These are dirs we don't want to go into on BOOT_TARGETS. We have them for
43 # These are the subdirs we want to use
44 BOOTDIRS = $(filter-out $(NONBOOT), $(subdir-y))
49 # This will make the tools we need. We do it like this to ensure that we use
52 $(MAKE) -C utils $(tools-y)
54 # The targets all boards support for boot images.
55 BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd
57 $(BOOT_TARGETS): vmapus lib/zlib.a images/vmlinux.gz makeof1275 maketools
59 for d in $(BOOTDIRS); do $(MAKE) -C $$d $@; done
62 vmapus: $(TOPDIR)/vmlinux
64 $(STRIP) $(TOPDIR)/vmlinux -o images/vmapus
65 gzip $(GZIP_FLAGS) images/vmapus
68 # Make an image for PPCBoot / U-Boot.
69 uImage: $(MKIMAGE) images/vmlinux.gz
70 $(CONFIG_SHELL) $(MKIMAGE) -A ppc -O linux -T kernel \
71 -C gzip -a 00000000 -e 00000000 \
72 -n 'Linux-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)' \
73 -d images/vmlinux.gz images/vmlinux.UBoot
74 ln -sf vmlinux.UBoot images/uImage
77 # These are subdirs with files not normally rm'ed. -- Tom
79 $(MAKE) -C images clean
80 $(MAKE) -C utils clean
82 include $(TOPDIR)/Rules.make