Go to file
Arnout Vandecappelle 3038bcc6c1 package/pkg-generic.mk: fix rule order for reinstall/rebuild/reconfigure
The reinstall, rebuild and reconfigure commands rely on the
left-to-right order of evaluation of the dependencies to make sure that
the stamp files are removed before attempting to rebuild. However, this
order of evaluation is not guaranteed. In particular, if top-level
parallel build is enabled, they are executed in parallel and the stamp
file may not have been removed yet when it is evaluated to decide if
rebuild has to be done.

Since make 4.4, it is possible to reproduce this issue by passing
`--shuffle=reverse` to the make commandline.

To solve this, add a .WAIT directive between the clean and
install/build/configure dependencies. .WAIT was introduced in make 4.4
as well. It makes sure that the dependencies on the left are evaluated
before the dependencies on the right - exactly what we want here.

Earlier versions of make don't know about .WAIT, so we need to add a
.PHONY dependency to effectively ignore it.

Note that this doesn't fix the problem for make versions earlier than
4.4. However, the issue isn't really that important: reinstall, rebuild
and reconfigure are development tools, they're not fully reliable to
begin with, and it's anyway less likely that someone uses `make -j` when
doing a reinstall/rebuild/reconfigure.

Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Reported-by: James Hilliard <james.hilliard1@gmail.com>
(cherry picked from commit 7e3105d5c8)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-10-13 16:41:21 +02:00
arch arch/Config.in.x86: drop AVX512 from alderlake 2023-08-30 12:54:00 +02:00
board board/orangepi*: update links in readme files 2023-09-24 23:15:39 +02:00
boot boot/at91bootstrap: disable PIE and stack-protector build flags 2023-10-13 12:23:35 +02:00
configs configs/freescale_imx6qsabresd_defconfig: fix defconfig 2023-09-13 20:55:07 +02:00
docs docs/manual: add section to explain how to give credits to a sponsor 2023-09-26 09:55:31 +02:00
fs fs/cpio: allow users to provide their own dracut modules 2023-02-06 22:46:35 +01:00
linux {linux, linux-headers}: bump 4.{14, 19}.x / 5.{4, 10, 15}.x / 6.{1, 4}.x series 2023-09-30 12:23:51 +02:00
package package/pkg-generic.mk: fix rule order for reinstall/rebuild/reconfigure 2023-10-13 16:41:21 +02:00
support Update for 2023.02.5 2023-09-27 13:52:12 +02:00
system system: Warn if systemd is used with kernel < 4.15 2023-02-07 22:51:26 +01:00
toolchain toolchain/helpers.mk: strengthen uClibc locale check 2023-09-14 10:28:28 +02:00
utils utils/getdeveloperlib.py: handle file removal 2023-09-15 19:50:55 +02:00
.checkpackageignore package/linux-tools: fix SysV init script 2023-10-13 16:32:02 +02:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
.gitlab-ci.yml support/misc/gitlab-ci.yml.in: retry a job only if it failed due to a runner issue 2023-09-13 21:28:23 +02:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2023.02.5 2023-09-27 13:52:12 +02:00
Config.in package/sam-ba: drop 32bit host lib requirement 2023-08-31 00:25:17 +02:00
Config.in.legacy Config.in.legacy: add missing binutils 2.36.x entry 2023-05-02 13:20:44 +02:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS package/go-bootstrap: split into two stages: go1.4 and go1.19.10 2023-10-08 23:03:31 +02:00
Makefile package/pkg-generic.mk: fix rule order for reinstall/rebuild/reconfigure 2023-10-13 16:41:21 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

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 OFTC IRC.

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