aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2022-05-07Makefile: Avoid non-portable GNU sed extensionMark Kettenis
Use [:space:] instead of \s and \S in regular expression that determines the sandbox target architecture. Fixes the build failure on OpenBSD introduced with commit 4e65ca00f3a3 ("efi_loader: bootmgr: add booting from removable media"). Fixes: f7691a6d736b ("sandbox: allow cross-compiling sandbox") Signed-off-by: Mark Kettenis <kettenis@openbsd.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2022-05-02Introduce Verifying Program Loader (VPL)Simon Glass
Add support for VPL, a new phase of U-Boot. This runs after TPL. It is responsible for selecting which SPL binary to run, based on a verified-boot process. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-05-02Makefile: Tidy up the TPL build rulesSimon Glass
These should follow the same pattern as SPL, for consistency. Fix them. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-05-02Makefile: Simplify devicetree rules for SPL/TPLSimon Glass
The current logic checks several options to decide whether SPL/TPL need the U-Boot devicetree to be built. In fact we can check OF_CONTROL, which is enabled in all cases that matter. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-05-02test: Tidy up test building with SPLSimon Glass
We can in principle add tests to any SPL build, e.g. TPL or VPL. Update the build rules to handle this. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-04-25Prepare v2022.07-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-04-18Makefile: Drop a stale comment about linkingSimon Glass
The bug mentioned here is fixed, so drop the comment. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-04-07Makefile: Sort u-boot-initial-env outputChristoph Niedermaier
This will sort the default environment file generated by "make u-boot-initial-env", but won't sort the default environment in the compiled u-boot binary. The file u-boot-initial-env is considered to use for the userpace environment access tools [1] in case of that the environments is written the first time into its location. This is done on the one hand for a better overview and comparison of the generated environment file. On the other hand it is to synchronize the output with the script get_default_env.sh, which generated a sorted default environment file. The sorting preserves the order of equal variable names by sorting only the variable name, and disable the last-resort comparison. After sorting, unnoticed blank lines at the end move to the top. Avoid that by removing it before sorting. [1] https://github.com/sbabic/libubootenv Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com> Reviewed-by: Stefano Babic <sbabic@denx.de> Tested-by: Stefano Babic <sbabic@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Simon Glass <sjg@chromium.org> Cc: Marek Behún <marek.behun@nic.cz> To: u-boot@lists.denx.de Reviewed-by: Simon Glass <sjg@chromium.org>
2022-04-06Makefile: add endian link flag to u-boot-elf.oDu Huanpeng
fix compile error when using a little-endian to build with configs: sfr_nb4-ser_ram_defconfig comtrend_wap5813n_ram_defconfig comtrend_ar5387un_ram_defconfig comtrend_ct5361_ram_defconfig comtrend_vr3032u_ram_defconfig comtrend_ar5315u_ram_defconfig huawei_hg556a_ram_defconfig netgear_dgnd3700v2_ram_defconfig Signed-off-by: Du Huanpeng <dhu@hodcarrier.org>
2022-04-04Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-04-04Prepare v2022.04Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-04-04env: do not fail on non-existing env.in fileAndrey Zhizhikin
If include/generated/env.in does not exist, which is a typical case for clean build, quiet_cmd_gen_envp command tries to delete this file unconditionally. This produces following warning during the build: ENVP include/generated/env.in rm: cannot remove 'include/generated/env.in': No such file or directory Add '-f' option to the `rm` command to not complain if file does not exist. Fixes: f432eb6d8a9d ("env: Avoid using a leftover text-environment file") Reviewed-by: Sean Anderson <seanga2@gmail.com> Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
2022-03-31env: Avoid using a leftover text-environment fileSimon Glass
If include/generated/environment.h exists (perhaps leftover from a build of another board) it is used, even if the board currently being built does not have a text environment. This causes a build error. Fix it by emptying the file if it should not be there. Fixes: https://source.denx.de/u-boot/u-boot/-/issues/9 Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Sean Anderson <seanga2@gmail.com> Tested-by: Sean Anderson <seanga2@gmail.com>
2022-03-31Makefile: provide sah-key to binmanPhilippe Reynes
Set the variable pre-load-key-path with the shell variable PRE_LOAD_KEY_PATH that contain the keys path (used for signature). This variable pre-load-key-path is provided to binman. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
2022-03-31Makefile: make clean should delete include/generated/env.inHeinrich Schuchardt
'make sifive_unamtched_defconfig; make clean; make' fails if file include/generated/env.in exists. 'make clean' should remove all files that stop building. Add file include/generated/env.in to the clean target. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Marek Behún <marek.behun@nic.cz>
2022-03-28Merge tag 'v2022.04-rc5' into nextTom Rini
Prepare v2022.04-rc5
2022-03-28Prepare v2022.04-rc5Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-03-28Makefile: add drivers/video/u_boot_logo.S to cleanHeinrich Schuchardt
make sandbox_defconfig make mrproper make tests fails with ../drivers/video/u_boot_logo.S: Assembler messages: ../drivers/video/u_boot_logo.S:5: Error: file not found: drivers/video/u_boot_logo.bmp We have to delete the generated file. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-03-25Add option to use -OgSean Anderson
This adds support for using -Og when building U-Boot. According to the gcc man page: > -Og should be the optimization level of choice for the standard > edit-compile-debug cycle, offering a reasonable level of optimization > while maintaining fast compilation and a good debugging experience. This optimization level is roughly -O1 minus a few additional optimizations. It provides a noticably better debugging experience, with many fewer variables <optimized out>. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-03-25Split CONFIG_CC_OPTIMIZE_FOR_SIZE into two configsSean Anderson
This adds a separate CONFIG_CC_OPTIMIZE_FOR_SPEED option in a choice, in preparation for adding another optimization option. Also convert SH's makefile to use this new option. Signed-off-by: Sean Anderson <sean.anderson@seco.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-03-20Makefile: Fix doc path in warning messageJohannes Krottmayer
Fix documentation path in warning message about deprecated device driver. Signed-off-by: Johannes Krottmayer <krjdev@gmail.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2022-03-14Merge tag 'v2022.04-rc4' into nextTom Rini
Prepare v2022.04-rc4
2022-03-14Prepare v2022.04-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-03-03Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriqTom Rini
Update and fixes for sl28, lx2, pblimage generation for some powerpc products
2022-03-02Makefile: Add a way to check for pylint errorsSimon Glass
Add a new 'pylint_err' target which only reports errors, not warnings. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-02-28Prepare v2022.04-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-02-28tools: pblimage: fix image header verification functionHou Zhiqiang
The Layerscape platforms have different RCW header value from FSL PowerPC platforms, the current image header verification callback is only working on PowerPC, it will fail on Layerscape, this patch is to fix this issue. This is a historical problem and exposed by the following patch: http://patchwork.ozlabs.org/project/uboot/patch/20220114173443.9877-1-pali@kernel.org Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2022-02-25scripts: Makefile.lib: generate dsdt_generated.c instead of dsdt.cPhilippe Reynes
There is a conflict between the static file lib/acpi/dsdt.c and the file dsdt.c generated dynamicaly by scripts/Makefile.lib. When a mrproper is done, the static file dsdt.c is removed. If a build with acpi enabled is launched after, the following error is raised: CC lib/acpi/acpi_table.o make[2]: *** No rule to make target 'lib/acpi/dsdt.asl', needed by 'lib/acpi/dsdt.c'. Stop. scripts/Makefile.build:394: recipe for target 'lib/acpi' failed To avoid such error, the generated file is named dsdt_generated.c instead of dstdt.c. Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com> Tested-by: Heiko Thiery <heiko.thiery@gmail.com>
2022-02-22binman: Add support for TEE BL32Roger Quadros
Add an entry for OP-TEE Trusted OS 'BL32' payload. This is required by platforms using Cortex-A cores with TrustZone technology. Signed-off-by: Roger Quadros <rogerq@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org> Add missing-blob-help, renumber the test file, update entry-docs: Signed-off-by: Simon Glass <sjg@chromium.org>
2022-02-14Prepare v2022.04-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-02-11Replace echo -n's used in environment processing with touchqthedev
echo -n does not give the intended effect when invoked in macOS through /bin/sh, which is the shell make uses by default, see "https://stackoverflow.com/questions/11675070/makefile-echo-n-not-working" for a detailed explanation. In this case, it resulted in "-n" being written to env.txt and env.in even though they should be empty, which caused compilation to fail with "Your board uses a text-file environment, so must not define CONFIG_EXTRA_ENV_SETTINGS". This patch prevents the error by replacing echo -n's with touch, as they are used to create empty files in these cases.
2022-02-09dm: scsi: Add a migration deadline for scsiSimon Glass
Very few boards remain to be migrated: am57xx_hs_evm_usb controlcenterdc highbank ls1021atsn_qspi ls1021atsn_sdcard ls1021atwr_sdcard_ifc_SECURE_BOOT ls1046ardb_sdcard_SECURE_BOOT ls1088ardb_sdcard_qspi_SECURE_BOOT omap5_uevm pg_wcom_expu1 pg_wcom_seli8 sandbox sandbox64 sandbox_flattree sandbox_noinst sandbox_spl tools-only Addd a migration deadline for a year out. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stefan Roese <sr@denx.de>
2022-02-05Makefile: imx: Do not call arch/arm/mach-imx flash.bin generation if BINMAN ↵Marek Vasut
enabled Skip running arch/arm/mach-imx flash.bin generation in case BINMAN is enabled, otherwise the target in arch/arm/mach-imx/Makefile regenerates the flash.bin again and produces corrupted result. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Peng Fan <peng.fan@oss.nxp.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
2022-01-31Prepare v2022.04-rc1Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-31pylint: Adjust how the output is producedSimon Glass
The current Makefile rule requires there to be a 'Module' line in the pylint output, like this: ************* Module binman.fip_util This line only appears if pylint has some comments about the module. We cannot rely on it for naming. Update the code to instead use the filename as the identifier for each score, so rather than: multiplexed_log 7.49 we output: test_multiplexed_log.py 7.20 It is still easy to see which file the score relates to. In fact the new naming is nicer since the full subdirectories are shown. The avoids the problem where a module name is not produced, and the output gets out of sync. Regenerate pylint.base so we can start from the current baseline. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-28dm: serial: Add a migration deadline for serialSimon Glass
This probably should have been done a while back since it is a core system. Very few boards remain to be migrated. Addd a migration deadline for a year out. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-25Makefile: Fake external blobs by default with binmanSimon Glass
This behaviour is necessary with boards where the binman description requires processing external blobs, since these may be missing. Enable it by default, so that CI is happy. Warnings indicate that a valid image is not produced, as with the --allow-missing option. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-24Makefile: Add a pylint checker to the buildSimon Glass
At present the Python code in U-Boot is somewhat inconsistent, with some files passing pylint quite cleanly and others not. Add a way to track progress on this clean-up, by checking that no module has got any worse as a result of changes. This can be used with 'make pylint'. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: Re-generate pylint.base]
2022-01-15efi: Build the 64-bit app properlySimon Glass
Now that the linker crash is resolved, build the 64-bit EFI app, including all the required code. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-12timer: Add a migration messageSimon Glass
Some boards still use the old timer mechanism. Set a deadline for them to update to driver model. Point to some examples as well. This needs a bit of a strange rule to avoid an error on some boards. Signed-off-by: Simon Glass <sjg@chromium.org>
2022-01-12Makefile: Add more files to clean listAdam Ford
When building for i.mx8m boards with binman, a few more additional files are created which should be removed when running 'make clean' Signed-off-by: Adam Ford <aford173@gmail.com>
2022-01-10Merge branch 'next'Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-10Prepare v2022.01Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2022-01-07binman: add support for creating dummy files for external blobsHeiko Thiery
While converting to binman for an imx8mq board, it has been found that building in the u-boot CI fails. This is because an imx8mq requires an external binary (signed_hdmi_imx8m.bin). If this file cannot be found mkimage fails. To be able to build this board in the u-boot CI a binman option (--fake-ext-blobs) is introduced that can be switched on via the u-boot makefile option BINMAN_FAKE_EXT_BLOBS. With that the needed dummy files are created. Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-12-23fdt: Avoid emitting an device tree when not neededSimon Glass
U-Boot always needs some sort of a device tree in the build. Some boards never actually use this, at least in production systems, since a prior firmware stage sets one up and passes it to U-Boot. At present the only mechanism to do that is with custom function (OF_BOARD), but future work will include a standard way of doing this ('standard passage'). It can be confusing to see a device tree emitted from the U-Boot build in this situation. Add an option to drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-12-23fdt: Makefile: Ensure that OF_BOARD is used when neededSimon Glass
Boards which define OF_HAS_PRIOR_STAGE must define OF_BOARD at present, since a custom function is the only way to obtain the devicetree at runtime. Add a build error when this requirement is not met, to avoid accepting any patches which break this requirement. Add an allowlist for boards which use it, currently none. This allowlist can be updated for local development, if needed. Signed-off-by: Simon Glass <sjg@chromium.org> [trini: change of_whitelist to of_allowlist] Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-23fdt: Drop CONFIG_BINMAN_STANDALONE_FDTSimon Glass
This was added as a hack to work around not having an in-tree devicetree. Now that this is fixed it is not needed. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-12-20Merge tag 'v2022.01-rc4' into nextTom Rini
Prepare v2022.01-rc4
2021-12-20Prepare v2022.01-rc4Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-12-05keyboard: Add a migration messageSimon Glass
A few boards still use the old keyboard mechanism. Set a deadline for them to update to driver model. Signed-off-by: Simon Glass <sjg@chromium.org>