summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Prepare v2020.10-rc4Tom Rini2020-09-071-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2020.10-rc3Tom Rini2020-08-261-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: fix annoying sunxi hack messageFrank Wunderlich2020-08-121-2/+2
| | | | | | | | | | | | | | every compilation shows this error Hack for sunxi which doesn't have a proper binman definition for 64-bit boards not only for sunxi-boards/arm64 fix this by changing to real comments Fixes: 9f55ee259d0c ("Makefile: sunxi: Don't use binman to build ATF image") Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
* Prepare v2020.10-rc2Tom Rini2020-08-101-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: sunxi: Don't use binman to build ATF imageSimon Glass2020-08-081-0/+4
| | | | | | | | | | | | | | At present with sunxi 64-bit, the Makefile builds u-boot-sunxi-with-spl.bin and then binman overwrites it with its own version. But the binman definition lacks some parts, in particular BL31. For now, work around this with a hack. Tested-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: 42b18df80fd ("x86: Makefile: Drop explicit targets built by binman")
* Makefile: Warn against using CONFIG_SPL_FIT_GENERATORSimon Glass2020-07-281-0/+9
| | | | | | | | | | | | | | | | | This option is used to run arch-specific shell scripts which produce .its files which are used to produce FIT images. We already have binman which is designed to produce firmware images. It is more powerful and has tests. So this option should be deprecated and not used. Existing uses should be migrated. Mentions of this in code reviews over the last year or so do not seem to have resulted in action, and things are getting worse. So let's add a warning. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Makefile: Allow CONFIG_SPL_FIT_GENERATOR to be emptySimon Glass2020-07-281-1/+1
| | | | | | | | | | At present we use the empty string to indicate that there is no FIT generator, but this doesn't allow an individual board to undefine it. Create a separate bool instead. Update the config of the boards which currently have an empty string. Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: Fix a long line in cmd_mkfitimageSimon Glass2020-07-281-1/+2
| | | | | | | Fix this line which is over the limit. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Makefile: Move CONFIG_TOOLS_DEBUG check to laterSimon Glass2020-07-281-1/+3
| | | | | | | | | | At present this is checked before the config has been loaded by the Makefile, so it doesn't work. Move the check to later. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* mediatek: Makefile: Drop explicit targets built by binmanSimon Glass2020-07-281-8/+16
| | | | | | | | | | | | | | | On mediatek various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Also update the binman definition so that idbloader.img is only needed when SPL is actually being used. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* tegra: Makefile: Drop explicit targets built by binmanSimon Glass2020-07-281-12/+0
| | | | | | | | | | | | On tegra various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* sunxi: Makefile: Drop explicit targets built by binmanSimon Glass2020-07-281-5/+2
| | | | | | | | | | | | On sunxi various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. This avoid sprinkling the Makefile with arch-specific code. Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Drop CONFIG_BUILD_ROM and repurpose BUILD_ROMSimon Glass2020-07-281-1/+2
| | | | | | | | | | | | | This Kconfig is not needed anymore since U-Boot will build the ROM if the required binary blobs exist. The BUILD_ROM environment variable used to request that the ROM be built. Now this always happens if the required binary blobs are available. Update it to mean that U-Boot should fail if the ROM cannot be built. This behaviour should be compatible with how it used to work. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* x86: Makefile: Drop explicit targets built by binmanSimon Glass2020-07-281-49/+14
| | | | | | | | | | | | | | On x86 various files that need to be created by binman. It does not make sense to enumerate these in the Makefile. They are described in the configuration (devicetree) for each board and we can simply run binman (always) to generate them. Update the Makefile to have a separate, final step which runs binman, once all input dependencies are present. This avoid sprinkling the Makefile with arch-specific code. Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: Rename ALL-y to INPUTS-ySimon Glass2020-07-281-28/+32
| | | | | | | | | | | When binman is in use, most of the targets built by the Makefile are inputs to binman. We then need a final rule to run binman to produce the final outputs. Rename the variable to indicate this, and add a new 'inputs' target. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* tegra: Drop the unused non-binman codeSimon Glass2020-07-281-15/+1
| | | | | | | This has been in the Makefile long enough to ensure migration is complete. Drop it. Signed-off-by: Simon Glass <sjg@chromium.org>
* Makefile: Allow building .rom files for non-x86 boardsSimon Glass2020-07-281-0/+14
| | | | | | | | | Some non-x86 devices can use SPI flash to boot and need to produce images of a fixed size to program the flash. Add a way to handle this for non-x86 boards. Signed-off-by: Simon Glass <sjg@chromium.org>
* x86: Change how selection of ROMs worksSimon Glass2020-07-281-5/+13
| | | | | | | | | | | | | | | | | | | | Most x86 boards build a u-boot.rom which is programmed into SPI flash. But this is not unique to x86. For example some rockchip boards can also boot from SPI flash. Also, at least on x86, binary blobs are sadly quite common. It is not possible to build a functional image without them, and U-Boot needs to know this at build time. Introduce a new CONFIG_HAS_ROM option which selects whether u-boot.rom is built and a new CONFIG_ROM_NEEDS_BLOBS option to indicate whether binary blobs are also needed. If they are not needed, it is safe to build the ROM always. Otherwise we still require the BUILD_ROM environment variable. For now this affects only x86, but future patches will enable this for rockchip too. Signed-off-by: Simon Glass <sjg@chromium.org>
* Prepare v2020.10-rc1Tom Rini2020-07-271-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Silence relocate-rela callJan Kiszka2020-07-171-6/+8
| | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
* Merge branch 'next'Tom Rini2020-07-061-2/+11
|\ | | | | | | | | Merge all outstanding changes from the current next branch in now that we have released.
| * Don't start ad-hoc games with -Wno-maybe-initializedTom Rini2020-07-011-0/+3
| | | | | | | | | | | | | | | | Borrowing from Linux commit 78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized") move to have maybe-initialized warnings be handled with building with W=2 instead of playing more guessing games with newer compilers. Signed-off-by: Tom Rini <trini@konsulko.com>
| * Merge tag 'mips-pull-2020-06-29' of ↵Tom Rini2020-06-301-0/+6
| |\ | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-mips into next - net: pcnet: cleanup and add DM support - Makefile: add rule to build an endian-swapped U-Boot image used by MIPS Malta EL variants - CI: add Qemu tests for MIPS Malta
| | * Makefile: add rule to generate u-boot-swap.binDaniel Schwierzeck2020-06-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | This rule generates an u-boot binary file where the byte endianness is swapped. This will be used by the MIPS Malta Little-Endian variants to be able to boot with Qemu. The Qemu Malta Machine expects the firmware in Big-Endian order. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
| * | Makefile: allow dm_mmc without of_controlMarcel Ziswiler2020-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | Allow for CONFIG_DM_MMC with platform data rather than CONFIG_OF_CONTROL. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
| * | nxp: Finish switch to CONFIG_NXP_ESBCTom Rini2020-06-261-1/+1
| |/ | | | | | | | | | | | | | | | | | | There are two remaining users of the CONFIG_SECURE_BOOT symbol that have not been migrated to another symbol. In this case, they should be using CONFIG_NXP_ESBC as their guard. Cc: Vladimir Oltean <olteanv@gmail.com> Fixes: 5536c3c9d0d1 ("freescale/layerscape: Rename the config CONFIG_SECURE_BOOT name") Signed-off-by: Tom Rini <trini@konsulko.com>
* / Prepare v2020.07Tom Rini2020-07-061-1/+1
|/ | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2020.07-rc5Tom Rini2020-06-221-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Prepare v2020.07-rc4Tom Rini2020-06-081-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: Drop to handle rkspi image typeJagan Teki2020-06-071-9/+2
| | | | | | | | | | | | | On rockchip platforms, SPI boot image creation is not straightforward like MMC boot image creation where former requires to specify tpl, spl in multimage format in mkimage, and later simply do a concatenate mkimaged-tpl with spl. On this note, let drop rkspi image type creation via kbuild and let inform via rockchip.rst Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
* Prepare v2020.07-rc3Tom Rini2020-05-251-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Makefile: add file 'defconfig' to clean targetHeinrich Schuchardt2020-05-151-1/+1
| | | | | | | | File 'defconfig' is a build artifact of 'make savedefconfig'. Remove it when cleaning. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* rename symbol: CONFIG_TEGRA -> CONFIG_ARCH_TEGRATrevor Woerner2020-05-151-2/+2
| | | | | | Have this symbol follow the pattern of all other such symbols. Signed-off-by: Trevor Woerner <twoerner@gmail.com>
* Makefile: remove m68k GCC 3.4 workaroundMasahiro Yamada2020-05-151-7/+0
| | | | | | | | | This code dates back to 2006, commit 483a0cf804df ("Fixes for gcc 3.4 based m68k toolchain,"). GCC 3.4 is so old. We do not support it. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
* Prepare v2020.07-rc2Tom Rini2020-05-111-1/+1
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* x86: Allow building an SPL image for corebootSimon Glass2020-05-041-0/+6
| | | | | | | | | | Coreboot runs in 32-bit mode and cannot run a 64-bit U-Boot. To get around this we can build a combined image with 32-bit SPL and 64-bit U-Boot. Add a build rule and binman definition for this. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
* Prepare v2020.07-rc1Tom Rini2020-04-281-2/+2
| | | | Signed-off-by: Tom Rini <trini@konsulko.com>
* Merge tag 'dm-pull-27apr20' of git://git.denx.de/u-boot-dmTom Rini2020-04-281-1/+5
|\ | | | | | | | | | | Move Python tools to use absolute paths Minor buildman fixes for new features Make libfdt code more similar to upsteam
| * Add a 'make tcheck' option to test toolsSimon Glass2020-04-261-1/+5
| | | | | | | | | | | | | | Running all the unit tests takes a while and is not useful when you are just modifying the tools. Add an option to run only the tools tests. Signed-off-by: Simon Glass <sjg@chromium.org>
* | Merge branch '2020-04-27-master-imports'Tom Rini2020-04-271-1/+3
|\ \ | | | | | | | | | | | | - Assorted bugfixes. - Documentation improvements including support for https://u-boot.readthedocs.io/
| * | Makefile: copy SPL_FIT_SOURCE in build directoryPatrick Delaunay2020-04-271-1/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | Copy the .its source file selected by CONFIG_SPL_FIT_SOURCE in builddir and in a file named "u-boot.its". This patch avoid compilation issue when CONFIG_SPL_FIT_SOURCE is used and KBUILD_OUTPUT is defined, in buildman for example. Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> Tested-by: Marek Vasut <marex@denx.de> Acked-by: Marek Vasut <marex@denx.de>
* / Makefile: add support to generate LZMA compressed u-boot imageWeijie Gao2020-04-271-0/+13
|/ | | | | | | | | | | This patch adds support for generating LZMA compressed u-boot image. The compressed image can be used for SPL to reduce the size of the u-boot binary. Reviewed-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
* kbuild: cherry-pick kbuild changes from LinuxMasahiro Yamada2020-04-241-2/+1
| | | | | | | | | | | | | b42841b7bb62 kbuild: Get rid of KBUILD_STR 2aedcd098a94 kbuild: suppress annoying "... is up to date." message 9c8fa9bc08f6 kbuild: fix if_change and friends to consider argument order ebf003f0cfb3 kbuild: Consolidate header generation from ASM offset information 2982c953570b kbuild: remove redundant $(wildcard ...) for cmd_files calculation 8a78756eb545 kbuild: create object directories simpler and faster 4d4b5c2e3b6e treewide: remove explicit rules for *offsets.s 01d509a48b46 kbuild: remove unimportant comments from ./Kbuild Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
* Makefile: ARMv7-M has no CPSR registerHeinrich Schuchardt2020-04-241-7/+9
| | | | | | | | | | | | | | Compiling on ARMv7-M fails when trying to address the CPSR register which is not available on this architecture. Atomic functions refer to the CPSR register if compiled with arch/arm/include/asm/proc-armv/system.h. On ARMv7-M we should hence use arch/arm/thumb1/include/asm/proc-armv/system.h instead. Cf. https://stackoverflow.com/questions/61097841/error-selected-processor-does-not-support-requested-special-purpose-register Reported-by: Sicris Rey Embay <sicris.embay@gmail.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* Merge branch 'next'Tom Rini2020-04-131-17/+74
|\ | | | | | | | | | | | | | | | | | | | | Pull in changes that have been pending in our 'next' branch. This includes: - A large number of CI improvements including moving to gcc-9.2 for all platforms. - amlogic, xilinx, stm32, TI SoC updates - USB and i2c subsystem updtaes - Re-sync Kbuild/etc logic with v4.19 of the Linux kernel. - RSA key handling improvements
| * kconfig / kbuild: Re-sync with Linux 4.19Tom Rini2020-04-101-14/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Align Kconfig and Kbuild logic to Linux 4.19 release with minimal impact on files outside of this scope. Our previous Kconfig sync was done by commit 5972ff077e0f ("kconfig / kbuild: re-sync with Linux 4.18"). In this particular re-sync in order to keep clang support working a number of related changes needed to be pulled in that had been missed previously. Not all of these changes we easily traceable and so have been omitted from the list below. The imported Linux commits are: [From prior to v4.18] 9f3f1fd29976 kbuild: Add __cc-option macro d7f14c66c273 kbuild: Enable Large File Support for hostprogs 6d79a7b424a5 kbuild: suppress warnings from 'getconf LFS_*' 24403874316a Shared library support 86a9df597cdd kbuild: fix linker feature test macros when cross compiling with Clang 0294e6f4a000 kbuild: simplify ld-option implementation [From v4.18 to v4.19] 96f14fe738b6 kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS 10844aebf448 kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS b90a368000ab kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS 8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS f92d19e0ef9b kbuild: Use HOST*FLAGS options from the command line 4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config 693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE f60b992e30ff kbuild: replace $(LDFLAGS) $(ldflags-y) with $(ld_flags) 2fb9279f2c3e kbuild: change ld_flags to contain LDFLAGS_$(@F) c931d34ea085 arm64: build with baremetal linker target instead of Linux when available 5accd7f3360e kconfig: handle format string before calling conf_message_callback() a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c 0608182ad542 kconfig: split out useful helpers in confdata.c adc18acf42a1 kconfig: remove unneeded directory generation from local*config 79123b1389cc kconfig: create directories needed for syncconfig by itself 16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count d6c6ab93e17f kbuild: remove deprecated host-progs variable 56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol c151272d1687 kconfig: remove unused sym_get_env_prop() function 1880861226c1 kconfig: remove P_ENV property type e3fd9b5384f3 scripts/dtc: consolidate include path options in Makefile 4bf6a9af0e91 kconfig: add build-only configurator targets f1575595d156 kconfig: error out when seeing recursive dependency 5e8c5299d315 kconfig: report recursive dependency involving 'imply' f498926c47aa kconfig: improve the recursive dependency report 98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build 9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig 87a32e624037 kbuild: pass LDFLAGS to recordmcount.pl d503ac531a52 kbuild: rename LDFLAGS to KBUILD_LDFLAGS 217c3e019675 disable stringop truncation warnings for now bc8d2e20a3eb kconfig: remove a spurious self-assignment fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config 5a4630aadb9a ftrace: Build with CPPFLAGS to get -Qunused-arguments Note that this adds new cleanup work to do in that we should adapt the shared library support we have to what is now upstream. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>
| * Merge tag 'xilinx-for-v2020.07' of ↵Tom Rini2020-04-071-8/+19
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2020.07 common: - Align ENV_FAT_INTERFACE - Fix MAC address source print log - Improve based autodetection code xilinx: - Enable netconsole Microblaze: - Setup default ENV_OFFSET/ENV_SECT_SIZE Zynq: - Multiple DT updates/fixes - Use DEVICE_TREE environment variable for DTB selection - Switch to single zynq configuration - Enable NOR flash via DM - Minor SPL print removal - Enable i2c mux driver ZynqMP: - Print multiboot register - Enable cache commands in mini mtest - Multiple DT updates/fixes - Fix firmware probing when driver is not enabled - Specify 3rd backup RAM boot mode in SPL - Add SPL support for zcu102 v1.1 and zcu111 revA - Redesign debug uart enabling and psu_init delay - Enable full u-boot run from EL3 - Enable u-boot.itb generation without ATF with U-Boot in EL3 Versal: - Enable distro default - Enable others SPI flashes - Enable systems without DDR Drivers: - Gem: - Flush memory after freeing - Handle mdio bus separately - Watchdog: - Get rid of unused global data pointer - Enable window watchdog timer - Serial: - Change reinitialization logic in zynq serial driver Signed-off-by: Tom Rini <trini@konsulko.com>
| | * Makefile: Add environment variable DEVICE_TREE to headerMichal Simek2020-04-061-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users have option to overwrite default device tree (CONFIG_DEFAULT_DEVICE_TREE) via environment variable DEVICE_TREE. Feature has been added long time ago by commit 74de8c9a1672 ("dts/Makefile: Build the user specified dts") for a little bit different reason. But this variable can be also used for different purpose like choosing proper configuration from FIT image in SPL. And this is the functionality I would like to use on Xilinx Zynq devices that current u-boot.img can be composed in the same way based on OF_LIST and different configuration is taken based on platform specific SPL. SPL requires low level ps7_init_gpl configuration that's why different boards require different SPL with fixed board_fit_config_name_match(). Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
| * | Merge branch 'next' of git://git.denx.de/u-boot-usb into nextTom Rini2020-03-311-2/+2
| |\ \
| * | | kconfig / kbuild: re-sync with Linux 4.18Tom Rini2020-03-161-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Align Kconfig and Kbuild logic to Linux 4.18 release with minimal impact on files outside of this scope. Our previous Kconfig sync was done by commit e91610da7c8a ("kconfig: re-sync with Linux 4.17-rc4"). A very small number of changes upstream since our sync with v4.17-rc4 that exist in the v4.18 release have already been applied here and have been omitted from the list in this commit (and are readily available in our own git history). The imported Linux commits are: [From prior to v4.17-rc4] 39a33ff80a25 kbuild: remove cc-option-align db547ef19064 Kbuild: don't add obj tree in additional includes b999596b963a Kbuild: don't add ../../ to include path [From v4.17 to v4.18] b3aa58d2e85d fixdep: suppress consecutive / from file paths in dependency list files 74656b682902 kbuild: disable new dtc graph and unit-address warnings 74d931716151 genksyms: remove symbol prefix support e6ecfb45072c kbuild: do not display CHK for filechk 0b669a5076fd kconfig: refactor Qt package checks for building qconf b464ef583dc7 kconfig: refactor GTK+ package checks for building gconf 1c5af5cf9308 kconfig: refactor ncurses package checks for building mconf and nconf 694c49a7c01c kconfig: drop localization support 96f60dfa5819 trace: Use -mcount-record for dynamic ftrace bb222ceeb327 kconfig: remove string expansion in file_lookup() 96d8e48da55a kconfig: remove string expansion for mainmenu after yyparse() 5b31a9746756 kconfig: remove sym_expand_string_value() 137c0118a900 kconfig: make default prompt of mainmenu less specific e298f3b49def kconfig: add built-in function support 2fd5b09c201e kconfig: add 'shell' built-in function 9de071536c87 kconfig: begin PARAM state only when seeing a command keyword 9ced3bddec08 kconfig: support user-defined function and recursively expanded variable 1175c02506ff kconfig: support simply expanded variable ed2a22f277c6 kconfig: support append assignment operator 82bc8bd82e5c kconfig: expand lefthand side of assignment statement 1d6272e6fe43 kconfig: add 'info', 'warning-if', and 'error-if' built-in functions a702a6176e2f kconfig: add 'filename' and 'lineno' built-in variables 915f64901eb3 kconfig: error out if a recursive variable references itself 2bece88f89fa kconfig: test: add Kconfig macro language tests 21c54b774744 kconfig: show compiler version text in the top comment 59f7b5847b0c kbuild: $(CHECK) doesnt need NOSTDINC_FLAGS twice 145167650b96 kbuild: add endianness flag to CHEKCFLAGS 1f2f01b122d7 kbuild: add machine size to CHECKFLAGS d6a0c8a1326b kconfig: Add testconfig into make help output bb6d83dde191 kbuild: Move last word of nconfig help to the previous line 8593080c0fcf kconfig: fix localmodconfig ed7d40bc67b8 tracing: Fix SKIP_STACK_VALIDATION=1 build due to bad merge with -mrecord-mcount b2d00d7c61c8 kconfig: fix line numbers for if-entries in menu tree ecd53ac2f2c6 kconfig: handle P_SYMBOL in print_symbol() 73d1c580f92b kconfig: loop boundary condition fix 48f6e3cf5bc6 kbuild: do not drop -I without parameter bd412d81b7ea kbuild: .PHONY is not a variable, but PHONY is 6916162c7308 kbuild: remove duplicated comments about PHONY Cc: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Masahiro Yamada <masahiroy@kernel.org>