Go to file
Trent Piepho b8d0aadc6d Makefile: fix issue with printvars executing giant shell command
The underlying problem is that $(foreach V,1 2 3,) does not evaluate to
an empty string.  It evaluates to "  ", three empty strings separated by
whitespace.

A construct of this format, with a giant list in the foreach, is part of
the printvars command.  This means that "@:$(foreach ....)", which is
intended to expand to a null command, in fact expands to "@:       "
with a great deal of whitespace.  Make chooses to execute this command
with:
    execve("/bin/sh", ["/bin/sh", "-c", ":       "]

But with far more whitespace.  So much that it can exceed shell command
line length limits.

This solution is to move the foreach to another step in the recipe.  The
"@:" is retained as the first line so the recipe is not Empty, which
would cause a change in make behavior when make builds the target.  The
2nd line, all whitespace, will be skipped by make.

Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-18 22:03:23 +02:00
arch
board configs/olimex_a20_olinuxino_lime_mali: rename to olimex_a20_olinuxino_lime_legacy 2018-09-18 21:00:02 +02:00
boot boot/uboot: needs bison/flex even for the legacy buildsystem 2018-09-14 22:24:54 +02:00
configs configs/olimex_a20_olinuxino_lime_mali: rename to olimex_a20_olinuxino_lime_legacy 2018-09-18 21:00:02 +02:00
docs docs/website: add paragraph about the IRC channel restrictions 2018-09-11 15:47:06 +02:00
fs
linux linux: bump default to version 4.18.8 2018-09-16 15:09:21 +02:00
package monkey: add option for SSL/TLS plugin compilation 2018-09-18 21:41:15 +02:00
support support/scripts/mkusers: preserve group members 2018-09-12 21:22:25 +02:00
system system: update Config.in comment about systemd dependencies 2018-09-15 00:05:48 +02:00
toolchain
utils
.defconfig
.flake8
.gitignore
.gitlab-ci.yml configs/olimex_a20_olinuxino_lime_mali: rename to olimex_a20_olinuxino_lime_legacy 2018-09-18 21:00:02 +02:00
.gitlab-ci.yml.in
CHANGES
Config.in
Config.in.legacy package/{mesa3d, mesa3d-headers}: bump version to 18.2.0 2018-09-10 21:58:42 +02:00
COPYING
DEVELOPERS DEVELOPERS: add myself for python-paramiko 2018-09-15 09:56:58 +02:00
Makefile Makefile: fix issue with printvars executing giant shell command 2018-09-18 22:03:23 +02:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches