aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
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>
2021-12-05binman: Allow providing tools and blob directoriesSimon Glass
At present it is necessary to symlink files containing external blobs into the U-Boot tree in order for binman to find them. This is not very convenient. Add two new environment/Makefile variables to help with this. Add documentation as well, fixing a related nit. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-11-29Merge tag 'v2022.01-rc3' into nextTom Rini
Prepare v2022.01-rc3 Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-29Prepare v2022.01-rc3Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>
2021-11-16env: Allow U-Boot scripts to be placed in a .env fileSimon Glass
At present U-Boot environment variables, and thus scripts, are defined by CONFIG_EXTRA_ENV_SETTINGS. It is painful to add large amounts of text to this file and dealing with quoting and newlines is harder than it should be. It would be better if we could just type the script into a text file and have it included by U-Boot. Add a feature that brings in a .env file associated with the board config, if present. To use it, create a file in a board/<vendor> directory, typically called <board>.env and controlled by the CONFIG_ENV_SOURCE_FILE option. The environment variables should be of the form "var=value". Values can extend to multiple lines. See the README under 'Environment Variables:' for more information and an example. In many cases environment variables need access to the U-Boot CONFIG variables to select different options. Enable this so that the environment scripts can be as useful as the ones currently in the board config files. This uses the C preprocessor, means that comments can be included in the environment using /* ... */ Also support += to allow variables to be appended to. This is needed when using the preprocessor. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Marek Behún <marek.behun@nic.cz> Tested-by: Marek Behún <marek.behun@nic.cz>
2021-11-15makefile: add missing semicolonsAngelo Dureghello
On some distributions, as Debian GNU 11, this targets fails with errors. Signed-off-by: Angelo Dureghello <angelo.dureghello@timesys.com>
2021-11-15Prepare v2022.01-rc2Tom Rini
Signed-off-by: Tom Rini <trini@konsulko.com>