aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2023-10-11Makefile: make u-boot-initial-env target depend explicitly on scripts_basicRasmus Villemoes1-1/+1
We're seeing sporadic errors like ENVC include/generated/env.txt HOSTCC scripts/basic/fixdep ENVP include/generated/env.in ENVT include/generated/environment.h HOSTCC tools/printinitialenv /bin/sh: 1: scripts/basic/fixdep: not found make[1]: *** [scripts/Makefile.host:95: tools/printinitialenv] Error 127 make[1]: *** Deleting file 'tools/printinitialenv' make: *** [Makefile:2446: u-boot-initial-env] Error 2 make: *** Waiting for unfinished jobs.... where sometimes the "fixdep: not found" is instead "fixdep: Permission denied" and the Error 127 becomes 126. This smells like a race condition, and indeed it is: Currently, u-boot-initial-env is a prerequisite of the envtools target, which also lists scripts_basic as a prerequisite: envtools: u-boot-initial-env scripts_basic $(version_h) $(timestamp_h) tools/version.h $(Q)$(MAKE) $(build)=tools/env However, the u-boot-initial-env rule involves building the printinitialenv helper, which in turn is built using an if_changed_dep rule. That means we must ensure scripts/basic/fixdep is built and ready before trying to build printinitialenv, i.e. the u-boot-initial-env rule itself must depend on the phony scripts_basic target. Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-09Makefile: Allow for board directories to not have a MakefileTom Rini1-1/+1
It is entirely possible at this point to have platforms in U-Boot that do not have board-specific C code (just Kconfig or environment) and so make it optional to have to descend in to and then build in the board directory. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-09Makefile: Force regeneration of env.txtAndrew Davis1-1/+1
If the source .env file changes to one that is also older than the generated env.txt file then the .env file is not regenerated. This means when switching board configs we do not regenerate the env. This can be tested with: $ make j721e_evm_a72_defconfig $ make # this may fail to complete but that is okay for this test $ make am64x_evm_a53_defconfig $ make $ vim include/generated/env.txt Note this is still the J721e env not the AM64 config as expected. As ENV_FILE is set based on configuration, regenerate anytime autoconf.h changes. Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-06Tidy up uses of CONFIG_SYS_MALLOC_F_LENSimon Glass1-1/+1
Use CONFIG_SYS_MALLOC_F instead to of CONFIG_SYS_MALLOC_F_LEN to determine whether pre-relocation malloc() is enabled. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-10-02Merge branch 'next'Tom Rini1-12/+13
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-10-02Prepare v2023.10v2023.10Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-09-30Convert CFG_SYS_UBOOT_START to KconfigJesse Taube1-12/+4
Commit 65cc0e2a65d2 ("global: Move remaining CONFIG_SYS_* to CFG_SYS_*") renamed CONFIG_SYS_UBOOT_START to CFG_SYS_UBOOT_START. Unfortunately, this meant that the value was no longer available to the Makefile. This caused imxrt to fail to boot. All the other boards that used this variable were unaffected because they were using the default value which is CONFIG_TEXT_BASE. This commit converts CFG_SYS_UBOOT_START to Kconfig and sets the default value to CONFIG_TEXT_BASE. Suggested-by: Marek Vasut <marek.vasut+renesas@gmail.com> Suggested-by: Tom Rini <trini@konsulko.com> Signed-off-by: Jesse Taube <Mr.Bossman075@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-09-22Allow Python packages to be droppedSimon Glass1-0/+9
When building in a portage chroot, we do not have the environment needed to build pylibfdt. It is instead build as a separate package. Provide a build option to tell U-Boot to skip this part of the build. We still need it to use binman, etc. but don't need it to build its dependencies. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [s/build bytes/builds bytes in tools.rst] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2023-09-04Prepare v2023.10-rc4v2023.10-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-28Revert "binman: Add a temporary hack for duplicate phandles"Simon Glass1-6/+0
The affected boards have been fixed, so drop this hack. This reverts commit 288ae53cb73605500b7fc01e5919753c878466be. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Tim Harvey <tharvey@gateworks.com>
2023-08-21Prepare v2023.10-rc3v2023.10-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-07Prepare v2023.10-rc2v2023.10-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-08-02binman: Add a temporary hack for duplicate phandlesSimon Glass1-0/+6
Three boards use a phandle in a FIT generator and the maintainer is away. For now, add a hack to allow this. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-08-02Makefile: Show binman missing blob messageJonas Karlman1-1/+1
When binman is invoked during a build of U-Boot and an external blob is missing, the user is usually presented with a generic file not found in input path message. Invoke binman with --allow-missing so that binman can show relevant missing blob help messages. Build continue to fail with missing blobs unless BINMAN_ALLOW_MISSING=1 is used, same as before. This changes the following error message during a normal build: binman: Filename 'atf-bl31' not found in input path (...) to the following: Image 'itb' is missing external blobs and is non-functional: atf-blob /binman/itb/fit/images/atf/atf-blob (bl31.bin): See the documentation for your board. You may need to build ARM Trusted Firmware and build with BL31=/path/to/bl31.bin Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-25Prepare v2023.10-rc1v2023.10-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-25Makefile: Use sort shortoptsWIP/2023-07-25-assorted-general-updatesMarek Vasut1-1/+1
POSIX does not defined longopts for sort, use shortops for even more compatibility. Fixes: cc5a490cf465 ("Makefile: Sort u-boot-initial-env output") Reported-by: Milan P. Stanić <mps@arvanta.net> Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Mark Kettenis <kettenis@openbsd.org> Tested-by: Milan P. Stanić <mps@arvanta.net>
2023-07-17Makefile: Add missing quotes around sort --field-separatorMarek Vasut1-1/+1
Busybox sort does not handle --field-separator== , replace this with --field-separator='=' for maximum compatibility. Fixes: cc5a490cf465 ("Makefile: Sort u-boot-initial-env output") Reported-by: Milan P. Stanić <mps@arvanta.net> Signed-off-by: Marek Vasut <marex@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-07-11Makefile: Drop -rc6Tom Rini1-1/+1
When tagging and releasing v2023.07 I forgot to drop the -rc6 tag. For regular use, I've made a v2023.07.01 tag, but for here we can just drop the -rc6 tag. Signed-off-by: Tom Rini <trini@konsulko.com>
2023-07-07Kbuild: Fix cleanup of VPLTobias Deiminger1-2/+2
VPL artifacts like example vpl/u-boot-vpl are currently not removed by 'make clean'. We can clean them just as it's already done for SPL and TPL. Fixes: f86ca5ad8f78 ("Introduce Verifying Program Loader (VPL)") Signed-off-by: Tobias Deiminger <tdmg@linutronix.de>
2023-07-05Merge tag 'v2023.07-rc6' into nextTom Rini1-2/+2
Prepare v2023.07-rc6
2023-07-03Prepare v2023.07-rc6v2023.07-rc6Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-06-26Prepare v2023.07-rc5v2023.07-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-06-16Makefile: clean lib/efi_loader/helloworld_efi.SHeinrich Schuchardt1-1/+1
lib/efi_loader/helloworld_efi.S is a generated file and shall be removed by 'make clean'. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2023-06-12Merge tag v2023.07-rc4 into nextTom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-06-12Prepare v2023.07-rc4v2023.07-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-05-31Makefile: Fix incorrect FORCE deps on env rulesSimon Glass1-2/+2
These rules run on every build even if nothing has changed. The FORCE dependency is only needed for if_changed, not for cmd. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-05-29Prepare v2023.07-rc3v2023.07-rc3Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-05-15envtools lack extra settings since commit 86b9c3e4e4 ("env: Allow U-Boot ↵Christophe Leroy1-1/+1
scripts to be placed in After converting my targets from CFG_EXTRA_ENV_SETTINGS to CONFIG_EXTRA_ENV_TEXT as suggested by Tom, I discovered that fw_setenv doesn't set the entire defaut environment anymore. I tried to fix it with the below patch, but it fails qemu-x86 CI test, see https://source.denx.de/u-boot/custodians/u-boot-mpc8xx/-/pipelines/16326 That's the only CI test that fails AFAICS. Could you help with a solution ? This needs to be fixed. Thanks Christophe ---- >8 ---- From: Christophe Leroy <christophe.leroy@csgroup.eu> Subject: [RFC PATCH] envtools: Fix default environment After converting some targets from CFG_EXTRA_ENV_SETTINGS to CONFIG_EXTRA_ENV_TEXT, default environment embedded in fw_env tool missed all extra settings. Commit 86b9c3e4e4 ("env: Allow U-Boot scripts to be placed in a .env file") restricted the inclusion of the content of that file to builds without USE_HOSTCC. But as mentionned in commit 79fc0c5f49 ("tools/env: cross-compile fw_printenv without setting HOSTCC"), HOSTCC and USE_HOSTCC are kept for code re-use. Remove the restricting so that settings included in a .env file are also added to fw_env tool. Fixes: 86b9c3e4e4 ("env: Allow U-Boot scripts to be placed in a .env file") Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2023-05-15Fix sparse checks processingWIP/2023-05-15-build-system-updatesChristophe Leroy1-1/+5
A lot of errors are encountered when building with sparse checking activated (make C=1 or make C=2). Many of them are fixed in Linux. Resynchronise Makefile and include/linux/build_bug.h with Linux kernel sources by porting the following Linux commits into u-boot: - 6c49f359ca14 ("kbuild: disable sparse warnings about unknown attributes") - 80591e61a0f7 ("kbuild: tell sparse about the $ARCH") - 8788994376d8 ("linux/build_bug.h: change type to int") - 527edbc18a70 ("build_bug.h: remove most of dummy BUILD_BUG_ON stubs for Sparse") - c60d3b79423a ("build_bug.h: remove negative-array fallback for BUILD_BUG_ON()") - 14e83077d55f ("include: drop pointless __compiler_offsetof indirection") Also revert commit aa9e891c63 ("include/linux/stddef.h: avoid 'warning: preprocessor token offsetof redefined'") because the error it creates is worse than the warning it is trying to fix. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2023-05-08Prepare v2023.07-rc2v2023.07-rc2Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-05-01Prepare v2023.07-rc1v2023.07-rc1Tom Rini1-2/+2
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-04-25clang: Don't look for libgccTom Rini1-0/+2
In the case of using clang to build, and having not already enabled the private libgcc, do not look for it, as it will not be found nor required. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-25clang: Add $(CLANG_TARGET) to LDPPFLAGSTom Rini1-0/+1
When we invoke $(CPP) to make u-boot.lds we have LDPPFLAGS available to set other required flags here. As this file is for the target and not the host, we must ensure that CPP knows what the target architecture is. For this, pass in $(CLANG_TARGET). Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-04-20makefile: riscv: Drop useless argument of prelink-riscvBin Meng1-1/+1
The argv[2] is never used in prelink-riscv. Drop it. Signed-off-by: Bin Meng <bmeng@tinylab.org> Reviewed-by: Rick Chen <rick@andestech.com>
2023-04-04Merge tag 'u-boot-imx-next-20230404' of ↵WIP/04Apr2023Tom Rini1-0/+3
https://gitlab.denx.de/u-boot/custodians/u-boot-imx u-boot-imx-next-20230404 ------------------------ CI : https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/15887 - boards : DH-Electronics, Toradex, imx8mp-beacon-kit
2023-04-04arm: imx: add u-boot-nand.imx to boot from NAND without SPLLuca Ceresoli1-0/+3
U-Boot can be booted from NAND without SPL by prepending the DCD header to the actual U-Boot binary. However this requires prepending 1024 bytes to u-boot.imx (DCD + u-boot.bin). There is already a similar target to build spl/u-boot-nand-spl.imx, add the same option for no-SPL boot. Tested on i.MX6ULL. The resulting layout of u-boot-nand.imx is: - Offset 0x0000 (0 KiB): padding - Offset 0x0400 (1 KiB): DCD header - Offset 0x1000 (4 KiB): u-boot.bin Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
2023-04-03Merge branch 'next'Tom Rini1-2/+22
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-04-03Prepare v2023.04v2023.04Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-03-27Merge branch 'master' into nextTom Rini1-1/+1
2023-03-27Prepare v2023.04-rc5v2023.04-rc5Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-03-22global: Disable deprecated-non-prototype warning with clangTom Rini1-0/+1
We have a number of places in the code which use the following syntax: void func(a, b, c) int a; /* Does a */ something_t *b; /* Pointer to b */ int c; /* Does c */ { ... } Which while not what we document as our coding style, this is also code which we have imported from other projects, and would like to re-sync with in the future. While the biggest example of this is the zlib code, there are other places as well. For now, we will silence this warning. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2023-03-14Merge tag 'v2023.04-rc4' into nextTom Rini1-1/+2
Prepare v2023.04-rc4 Signed-off-by: Tom Rini <trini@konsulko.com>
2023-03-13Prepare v2023.04-rc4v2023.04-rc4Tom Rini1-1/+1
Signed-off-by: Tom Rini <trini@konsulko.com>
2023-03-08binman: Add support for building a binmanu PyPi packageSimon Glass1-0/+1
Create the necessary files to build this new package. It is not actually clear whether this is useful, since buildman has no purpose outside U-Boot. Move the main program into a function so that it can easily be called by the PyPi-created script. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-08dtoc: Add support for building a dtoc PyPi packageSimon Glass1-0/+1
Create the necessary files to build this new package. This is needed for binman. Move the main program into a function so that it can easily be called by the PyPi-created script. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-08buildman: Add support for building a buildman PyPi packageSimon Glass1-0/+1
Create the necessary files to build this new package. It is not actually clear whether this is useful, since buildman has no purpose outside U-Boot. It is included for completeness, since adding this later would be more trouble. Move the main program into a function so that it can easily be called by the PyPi-created script. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-08patman: Add support for building a patman PyPi packageSimon Glass1-0/+1
Create the necessary files to build this new package. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-08patman: Add support for building a u_boot_tools PyPi packageSimon Glass1-1/+17
Create the necessary files to build this new package. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-02mtd: Drop unused CONFIG_ONENAND_U_BOOTSimon Glass1-1/+0
This option does not exist, so the Makefile rule does nothing. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2023-02-28rockchip: Use an external TPL binary on RK3568Jonas Karlman1-0/+1
Rockchip SoCs typically use U-Boot TPL to initialize DRAM, then jumps back to BootRom to load next stage, U-Boot SPL, into DRAM. BootRom then jumps to U-Boot SPL to continue the normal boot flow. However, there is no support to initialize DRAM on RK35xx SoCs using U-Boot TPL and instead an external TPL binary must be used to generate a bootable u-boot-rockchip.bin image. Add CONFIG_ROCKCHIP_EXTERNAL_TPL to indicate that an external TPL should be used. Build U-Boot with ROCKCHIP_TPL=/path/to/ddr.bin to generate a bootable u-boot-rockchip.bin image for RK3568. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Tested-by: Eugen Hristev <eugen.hristev@collabora.com>