All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so:
@ 2017-09-03  6:17 Heinrich Schuchardt
  2017-09-03 12:19 ` Alexander Graf
  0 siblings, 1 reply; 5+ messages in thread
From: Heinrich Schuchardt @ 2017-09-03  6:17 UTC (permalink / raw)
  To: u-boot

The target
$(obj)/helloworld.so:
exists twice in Makefile.lib.

If you add an echo command to each of the two recipes you get
warnings like:

scripts/Makefile.lib:383: warning:
overriding recipe for target 'drivers/power/battery/helloworld.so'
scripts/Makefile.lib:379: warning:
ignoring old recipe for target 'drivers/power/battery/helloworld.so'

This patch removes the obsolete target.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
Hello Alex,

could you, please, review the change as it relates to EFI.

Best regards

Heinrich
---
 scripts/Makefile.lib | 2 --
 1 file changed, 2 deletions(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 9ce47b4d22..7f97e8ebf3 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -375,8 +375,6 @@ cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T $(EFI_LDS_PATH) -shared \
 
 EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)
 
-$(obj)/helloworld.so: $(EFI_LDS_PATH)
-
 $(obj)/helloworld.so: $(obj)/helloworld.o arch/$(ARCH)/lib/$(EFI_CRT0) \
 		arch/$(ARCH)/lib/$(EFI_RELOC)
 	$(call cmd,efi_ld)
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so:
  2017-09-03  6:17 [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so: Heinrich Schuchardt
@ 2017-09-03 12:19 ` Alexander Graf
  2017-09-03 15:26   ` Heinrich Schuchardt
  2017-09-03 16:31   ` Heinrich Schuchardt
  0 siblings, 2 replies; 5+ messages in thread
From: Alexander Graf @ 2017-09-03 12:19 UTC (permalink / raw)
  To: u-boot



On 03.09.17 08:17, Heinrich Schuchardt wrote:
> The target
> $(obj)/helloworld.so:
> exists twice in Makefile.lib.
> 
> If you add an echo command to each of the two recipes you get
> warnings like:
> 
> scripts/Makefile.lib:383: warning:
> overriding recipe for target 'drivers/power/battery/helloworld.so'
> scripts/Makefile.lib:379: warning:
> ignoring old recipe for target 'drivers/power/battery/helloworld.so'
> 
> This patch removes the obsolete target.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
> Hello Alex,
> 
> could you, please, review the change as it relates to EFI.

My Makefile foo isn't quite as good as it should be, but doesn't the 
existing code simply add another dependency to the required build chain?


Alex

> 
> Best regards
> 
> Heinrich
> ---
>   scripts/Makefile.lib | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 9ce47b4d22..7f97e8ebf3 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -375,8 +375,6 @@ cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T $(EFI_LDS_PATH) -shared \
>   
>   EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)
>   
> -$(obj)/helloworld.so: $(EFI_LDS_PATH)
> -
>   $(obj)/helloworld.so: $(obj)/helloworld.o arch/$(ARCH)/lib/$(EFI_CRT0) \
>   		arch/$(ARCH)/lib/$(EFI_RELOC)
>   	$(call cmd,efi_ld)
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so:
  2017-09-03 12:19 ` Alexander Graf
@ 2017-09-03 15:26   ` Heinrich Schuchardt
  2017-09-07 18:32     ` Brüns, Stefan
  2017-09-03 16:31   ` Heinrich Schuchardt
  1 sibling, 1 reply; 5+ messages in thread
From: Heinrich Schuchardt @ 2017-09-03 15:26 UTC (permalink / raw)
  To: u-boot

On 09/03/2017 02:19 PM, Alexander Graf wrote:
> 
> 
> On 03.09.17 08:17, Heinrich Schuchardt wrote:
>> The target
>> $(obj)/helloworld.so:
>> exists twice in Makefile.lib.
>>
>> If you add an echo command to each of the two recipes you get
>> warnings like:
>>
>> scripts/Makefile.lib:383: warning:
>> overriding recipe for target 'drivers/power/battery/helloworld.so'
>> scripts/Makefile.lib:379: warning:
>> ignoring old recipe for target 'drivers/power/battery/helloworld.so'
>>
>> This patch removes the obsolete target.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>> ---
>> Hello Alex,
>>
>> could you, please, review the change as it relates to EFI.
> 
> My Makefile foo isn't quite as good as it should be, but doesn't the
> existing code simply add another dependency to the required build chain?
> 

The target is overridden so why should the dependency be executed?

https://www.gnu.org/software/make/manual/html_node/Overriding-Makefiles.html
says:
"However, it is invalid for two makefiles to give different recipes for
the same target. I guess this will be valid for a single makefile too."

If you think the dependency is necessary, I can add it to the remaining
target. Is this what you prefer?

Regards

Heinrich

> 
> Alex
> 
>>
>> Best regards
>>
>> Heinrich
>> ---
>>   scripts/Makefile.lib | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
>> index 9ce47b4d22..7f97e8ebf3 100644
>> --- a/scripts/Makefile.lib
>> +++ b/scripts/Makefile.lib
>> @@ -375,8 +375,6 @@ cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T
>> $(EFI_LDS_PATH) -shared \
>>     EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)
>>   -$(obj)/helloworld.so: $(EFI_LDS_PATH)
>> -
>>   $(obj)/helloworld.so: $(obj)/helloworld.o
>> arch/$(ARCH)/lib/$(EFI_CRT0) \
>>           arch/$(ARCH)/lib/$(EFI_RELOC)
>>       $(call cmd,efi_ld)
>>
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so:
  2017-09-03 12:19 ` Alexander Graf
  2017-09-03 15:26   ` Heinrich Schuchardt
@ 2017-09-03 16:31   ` Heinrich Schuchardt
  1 sibling, 0 replies; 5+ messages in thread
From: Heinrich Schuchardt @ 2017-09-03 16:31 UTC (permalink / raw)
  To: u-boot

On 09/03/2017 02:19 PM, Alexander Graf wrote:
> 
> 
> On 03.09.17 08:17, Heinrich Schuchardt wrote:
>> The target
>> $(obj)/helloworld.so:
>> exists twice in Makefile.lib.
>>
>> If you add an echo command to each of the two recipes you get
>> warnings like:
>>
>> scripts/Makefile.lib:383: warning:
>> overriding recipe for target 'drivers/power/battery/helloworld.so'
>> scripts/Makefile.lib:379: warning:
>> ignoring old recipe for target 'drivers/power/battery/helloworld.so'
>>
>> This patch removes the obsolete target.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
>> ---
>> Hello Alex,
>>
>> could you, please, review the change as it relates to EFI.
> 
> My Makefile foo isn't quite as good as it should be, but doesn't the
> existing code simply add another dependency to the required build chain?
> 

But the value given as "dependency" is not a valid target:

$ make arch/x86/lib/elf_ia32_efi.lds
make: Nothing to be done for 'arch/x86/lib/elf_ia32_efi.lds'.

So the line removed by the patch is just bogus.

But as it is overridden it is not executed.

Regards

Heinrich

> 
> Alex
> 
>>
>> Best regards
>>
>> Heinrich
>> ---
>>   scripts/Makefile.lib | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
>> index 9ce47b4d22..7f97e8ebf3 100644
>> --- a/scripts/Makefile.lib
>> +++ b/scripts/Makefile.lib
>> @@ -375,8 +375,6 @@ cmd_efi_ld = $(LD) -nostdlib -znocombreloc -T
>> $(EFI_LDS_PATH) -shared \
>>     EFI_LDS_PATH = $(srctree)/arch/$(ARCH)/lib/$(EFI_LDS)
>>   -$(obj)/helloworld.so: $(EFI_LDS_PATH)
>> -
>>   $(obj)/helloworld.so: $(obj)/helloworld.o
>> arch/$(ARCH)/lib/$(EFI_CRT0) \
>>           arch/$(ARCH)/lib/$(EFI_RELOC)
>>       $(call cmd,efi_ld)
>>
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so:
  2017-09-03 15:26   ` Heinrich Schuchardt
@ 2017-09-07 18:32     ` Brüns, Stefan
  0 siblings, 0 replies; 5+ messages in thread
From: Brüns, Stefan @ 2017-09-07 18:32 UTC (permalink / raw)
  To: u-boot

On Sonntag, 3. September 2017 17:26:43 CEST Heinrich Schuchardt wrote:
> On 09/03/2017 02:19 PM, Alexander Graf wrote:
> > On 03.09.17 08:17, Heinrich Schuchardt wrote:
> >> The target
> >> $(obj)/helloworld.so:
> >> exists twice in Makefile.lib.
> >> 
> >> If you add an echo command to each of the two recipes you get
> >> warnings like:
> >> 
> >> scripts/Makefile.lib:383: warning:
> >> overriding recipe for target 'drivers/power/battery/helloworld.so'
> >> scripts/Makefile.lib:379: warning:
> >> ignoring old recipe for target 'drivers/power/battery/helloworld.so'
> >> 
> >> This patch removes the obsolete target.
> >> 
> >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> >> ---
> >> Hello Alex,
> >> 
> >> could you, please, review the change as it relates to EFI.
> > 
> > My Makefile foo isn't quite as good as it should be, but doesn't the
> > existing code simply add another dependency to the required build chain?
> 
> The target is overridden so why should the dependency be executed?
> 
> https://www.gnu.org/software/make/manual/html_node/Overriding-Makefiles.html
> says:
> "However, it is invalid for two makefiles to give different recipes for
> the same target. I guess this will be valid for a single makefile too."
> 
> If you think the dependency is necessary, I can add it to the remaining
> target. Is this what you prefer?

Note there is a difference between prerequisite and recipe - specifying a 
target multiple times without recipe adds the the prerequisite to the existing 
set, see

https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html#Multiple-Targets

---
foo: a

foo: b c

a:
        @echo "Creating prereq a"

%:
        @echo "Creating $@"
----

This tries to create the default target foo (first specified target), which 
has three prerequisites (a, b, c), which are run in parallel.

Kind regards,

Stefan

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-09-07 18:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-03  6:17 [U-Boot] [PATCH 1/1] scripts/Makefile.lib: remove overridden target $(obj)/helloworld.so: Heinrich Schuchardt
2017-09-03 12:19 ` Alexander Graf
2017-09-03 15:26   ` Heinrich Schuchardt
2017-09-07 18:32     ` Brüns, Stefan
2017-09-03 16:31   ` Heinrich Schuchardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.