[Buildroot] [PATCH 1/1] package/olsr: use make foreach loops
Arnout Vandecappelle
arnout at mind.be
Mon Jan 13 22:15:09 UTC 2020
On 13/01/2020 21:32, Fabrice Fontaine wrote:
> Dear Thomas,
>
> Le lun. 13 janv. 2020 à 21:17, Thomas Petazzoni
> <thomas.petazzoni at bootlin.com> a écrit :
>>
>> On Mon, 13 Jan 2020 19:08:56 +0100
>> Fabrice Fontaine <fontaine.fabrice at gmail.com> wrote:
>>
>>> Replace shell for loops by make foreach loops
>>>
>>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>>> ---
>>> package/olsr/olsr.mk | 14 +++++++-------
>>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/package/olsr/olsr.mk b/package/olsr/olsr.mk
>>> index e643a0cfb3..3533e2a1fd 100644
>>> --- a/package/olsr/olsr.mk
>>> +++ b/package/olsr/olsr.mk
>>> @@ -18,19 +18,19 @@ OLSR_DEPENDENCIES = host-flex host-bison
>>>
>>> define OLSR_BUILD_CMDS
>>> $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(KERNEL_ARCH) -C $(@D) olsrd
>>> - for p in $(OLSR_PLUGINS) ; do \
>>> - $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(KERNEL_ARCH) -C $(@D)/lib/$$p ; \
>>> - done
>>> + $(foreach p,$(OLSR_PLUGINS),
>>
>> Did you test this? To me, it seems like a backslash is missing at the end of this line.
> Yes, it builds fine. I decided to skip the backslash as some packages
> (ltp-testsuite, selinux-python, policycoreutils, python-pyqt5) don't
> add it while others (systemd, sunxi-tools) do.
> But I can add a backslash if you want, I don't know what is the "best practice".
It works because it's within a define:
-------------
# This works, because 'define' creates a multiline "statement"
define test1
$(foreach i,1 2 3,
$(info $(i)))
endef
$(test1)
# The following fail without backslash, because it's interpreted line-by-line
all:
$(foreach i,4 5,
$(info $(i)))
$(foreach i,7 8,
$(info $(i)))
-------------
For consistency, I think it makes sense to always use a backslash.
Regards,
Arnout
>>
>>> + $(TARGET_CONFIGURE_OPTS) $(MAKE) ARCH=$(KERNEL_ARCH) -C $(@D)/lib/$(p)
>>> + )
>>> endef
>>>
>>> define OLSR_INSTALL_TARGET_CMDS
>>> $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \
>>> prefix="/usr" install_bin
>>> - for p in $(OLSR_PLUGINS) ; do \
>>> - $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/lib/$$p \
>>> + $(foreach p,$(OLSR_PLUGINS),
>>
>> Same here.
>>
>>> + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/lib/$(p) \
>>> LDCONFIG=/bin/true DESTDIR=$(TARGET_DIR) \
>>> - prefix="/usr" install ; \
>>> - done
>>> + prefix="/usr" install
>>> + )
>>
>> Best regards,
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
> Best Regards,
>
> Fabrice
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
More information about the buildroot
mailing list