[PATCH 3/6] arc: Use full path in KBUILD_IMAGE definition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dne 23.11.2016 v 20:40 Alexey Brodkin napsal(a):
>> diff --git a/arch/arc/Makefile b/arch/arc/Makefile
>> index 19cce226d1a8..44ef35d33956 100644
>> --- a/arch/arc/Makefile
>> +++ b/arch/arc/Makefile
>> @@ -123,9 +123,9 @@ libs-y		+= arch/arc/lib/ $(LIBGCC)
>>  boot		:= arch/arc/boot
>>  
>>  #default target for make without any arguments.
>> -KBUILD_IMAGE	:= bootpImage
>> +KBUILD_IMAGE	:= $(boot)/bootpImage
>>  
>> -all:	$(KBUILD_IMAGE)
>> +all:	bootpImage
>>  bootpImage: vmlinux
>>  
>>  boot_targets += uImage uImage.bin uImage.gz
> 
> I tried to find any examples on how that KBUILD_IMAGE thingy is used
> but to no avail.

Ho Alexey,

see scripts/pacakge/{builddeb,buildtar,mkspec}. mkspec calls make
image_name, which in turn outputs $KBUILD_IMAGE.


> It looks like for ARC "bootpImage" makes not much
> sense and if you really want to get something useful in .deb/.rpm
> most probably something like below may work much better:
> ------------------------>8--------------------------
> KBUILD_IMAGE	:= $(boot)/uImage
> ------------------------>8--------------------------
> 
> And I don't know context of KBUILD_IMAGE usage but in
> case of ARC our default target is "vmlinux" so I'm not sure then if
> KBUILD_IMAGE may point to non-default target.

Right, this will not work for make rpm-pkg, since it calls make with no
explicit target and expects the file pointed to by KBUILD_IMAGE to exist
afterward. This will work if you also change the 'all' target to depend
on uImage.


> For example in "arch/avr32/Makefile" I see more complicated construction:
> ------------------------>8--------------------------
>              KBUILD_IMAGE := $(boot)/uImage
> vmlinux.elf: KBUILD_IMAGE := $(boot)/vmlinux.elf
> vmlinux.cso: KBUILD_IMAGE := $(boot)/vmlinux.cso
> uImage.srec: KBUILD_IMAGE := $(boot)/uImage.srec
> uImage:      KBUILD_IMAGE := $(boot)/uImage
> ------------------------>8--------------------------

Right, but the packaging targets will only build and package uImage. The
other redefinitions are there only for the avr32 install rule:

install: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@


> and may imagine that we need something similar for ARC obviously with
> default being "$(boot)/vmlinux".

What some other architectures do is that the image format is selected
via Kconfig and not on the make command line. E.g. arm and sh do this.

Michal



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux