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 # Rule to build device tree blobs
28 DTB_SRC
:= $(patsubst "%",%,$(CONFIG_NIOS2_DTB_SOURCE
))
30 # Make sure the generated dtb gets removed during clean
31 extra-
$(CONFIG_NIOS2_DTB_SOURCE_BOOL
) += system.dtb
33 $(obj
)/system.dtb
: $(DTB_SRC
) FORCE
36 # Ensure system.dtb exists
37 $(obj
)/linked_dtb.o
: $(obj
)/system.dtb
39 obj-
$(CONFIG_NIOS2_DTB_SOURCE_BOOL
) += linked_dtb.o
43 # Rule to build device tree blobs with make command
44 $(obj
)/%.dtb
: $(src
)/dts
/%.dts FORCE
45 $(call if_changed_dep
,dtc
)
47 $(obj
)/dtbs
: $(addprefix $(obj
)/, $(dtb-y
))
52 sh
$(srctree
)/$(src
)/install.sh
$(KERNELRELEASE
) $(BOOTIMAGE
) System.map
"$(INSTALL_PATH)"