2 # arch/nios2/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
9 UIMAGE_LOADADDR
= $(shell $(NM
) vmlinux | awk
'$$NF == "_stext" {print $$1}')
10 UIMAGE_ENTRYADDR
= $(shell $(NM
) vmlinux | awk
'$$NF == "_start" {print $$1}')
11 UIMAGE_COMPRESSION
= gzip
13 OBJCOPYFLAGS_vmlinux.bin
:= -O binary
15 targets
+= vmlinux.bin vmlinux.gz vmImage
17 $(obj
)/vmlinux.bin
: vmlinux FORCE
18 $(call if_changed
,objcopy
)
20 $(obj
)/vmlinux.gz
: $(obj
)/vmlinux.bin FORCE
21 $(call if_changed
,gzip
)
23 $(obj
)/vmImage
: $(obj
)/vmlinux.gz
24 $(call if_changed
,uimage
)
25 @
$(kecho
) 'Kernel: $@ is ready'
27 $(obj
)/zImage
: $(obj
)/compressed
/vmlinux FORCE
28 $(call if_changed
,objcopy
)
29 @
$(kecho
) 'Kernel: $@ is ready'
31 $(obj
)/compressed
/vmlinux
: $(obj
)/vmlinux.gz FORCE
32 $(Q
)$(MAKE
) $(build
)=$(obj
)/compressed
$@
34 # Rule to build device tree blobs
35 DTB_SRC
:= $(patsubst "%",%,$(CONFIG_NIOS2_DTB_SOURCE
))
37 # Make sure the generated dtb gets removed during clean
38 extra-
$(CONFIG_NIOS2_DTB_SOURCE_BOOL
) += system.dtb
40 $(obj
)/system.dtb
: $(DTB_SRC
) FORCE
43 # Ensure system.dtb exists
44 $(obj
)/linked_dtb.o
: $(obj
)/system.dtb
46 obj-
$(CONFIG_NIOS2_DTB_SOURCE_BOOL
) += linked_dtb.o
50 # Rule to build device tree blobs with make command
51 $(obj
)/%.dtb
: $(src
)/dts
/%.dts FORCE
52 $(call if_changed_dep
,dtc
)
54 $(obj
)/dtbs
: $(addprefix $(obj
)/, $(dtb-y
))
57 sh
$(srctree
)/$(src
)/install.sh
$(KERNELRELEASE
) $(BOOTIMAGE
) System.map
"$(INSTALL_PATH)"