summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2014-09-16kconfig: fix a bug of "make config"Masahiro Yamada
Since 3ff291f371fa9858426774f3732924bacb61ed1c (kconfig: convert Kconfig helper script into a shell script), "make config" is not working because of a missing '$' before '(Q)'. Besides, "make config" should be invoked via scripts/multiconfig.sh to avoid a warning message: Kconfig:11:warning: environment variable KCONFIG_OBJDIR undefined Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-09-16kbuild: force to define __UBOOT__ in all the C sourcesMasahiro Yamada
U-Boot has imported various source files from other projects, mostly Linux. Something like #ifdef __UBOOT__ [ modification for U-Boot ] #else [ original code ] #endif is an often used strategy for clarification of adjusted parts, that is, easier re-sync in future. Instead of defining __UBOOT__ in each source file, passing it from the top Makefile would be easier. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
2014-09-11Makefile: default to cc for host compilerJeroen Hofstee
Since the host compiler might not be gcc but e.g. clang default to cc/c++ to invoke it. cc: Masahiro Yamada <yamada.m@jp.panasonic.com> cc: Tom Rini <trini@ti.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
2014-09-02Prepare v2014.10-rc2v2014.10-rc2Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-08-28kconfig: add CONFIG_CC_OPTIMIZE_FOR_SIZEMasahiro Yamada
Copy the Kconfig option from "init/Kconfig" of Linux v3.16 tag and adjust the help document. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-22kconfig: convert Kconfig helper script into a shell scriptMasahiro Yamada
Commit 51148790 added scripts/multiconfig.py written in Python 2 to adjust Kconfig for U-Boot. It has been hard for Python 3 users because Python 2 and Python 3 are not compatible with each other. We are not happy about adding a new host tool dependency (in this case, Python version dependency) for the core build process. After some discussion, we decided to use only basic tools. The script may get a bit more unreadable by shell scripting, but we believe it is worthwhile. In addition, this commit revives "<board>_config" target that is equivalent to "<board>_defconfig" for backwards compatibility. It is annoying to adjust various projects which use U-Boot. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by: Igor Grinberg <grinberg@compulab.co.il> Tested-by: Igor Grinberg <grinberg@compulab.co.il> Acked-by: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com> Cc: Jeroen Hofstee <jeroen@myspectrum.nl> Cc: Stephen Warren <swarren@nvidia.com>
2014-08-22Makefile: remove generated boards.cfg within make distcleanRoger Meier
Signed-off-by: Roger Meier <roger@bufferoverflow.ch> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Tested-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Simon Glass <sjg@chromium.org>
2014-08-21Makefile: Use Kbuild style for system_map.o generation stepVasili Galka
The command generating the "common/system_map.o" file was always shown during the build making the output messy. Now it is called using the Kbuild "cmd" macro, so that the full command is shown only when building in verbose mode. Signed-off-by: Vasili Galka <vvv444@gmail.com>
2014-08-21kbuild: sync mixed targets handling with Linux 3.16Masahiro Yamada
"make %_config all" was supported for the first time in U-Boot: commit 53bca5ab kbuild: support simultaneous board configuration and "make all" Surprisingly it had not been working in Linux Kernel for a long time. So I sent back the patch to the Linux Kbuild community and it was accepted with a little code improvement, at commit 9319f453. Now, you can do "make defconfig all" or "make %_defconfig all" in Linux too. This commit updates some scripts to fill the code-diff between Linux and U-Boot. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-21kbuild: move extra gcc checks to scripts/Makefile.extrawarnMasahiro Yamada
This commit was imported from Linux Kernel: commit a86fe353 written by me. W=... provides extra gcc checks. Having such code in scripts/Makefile.build results in the same flags being added to KBUILD_CFLAGS multiple times becuase scripts/Makefile.build is invoked every time Kbuild descends into the subdirectories. Since the top Makefile is already too cluttered, this commit moves all of extra gcc check stuff to a new file scripts/Makefile.extrawarn, which is included from the top Makefile. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-09Makefile: use u-boot.map for binary_size_checkChris Packham
u-boot.map is generated automatically by the compiler and more importantly can handle addresses >4GB.
2014-08-09Makefile: use $(shell ...) for determining file_sizeChris Packham
file_size was being calculated using back-ticks but map_size uses $(shell ...). Update the file_size calculation to use $(shell ...). From: Jeroen Hofstee <jeroen@myspectrum.nl> The binary_size_check target relies on stat -c %s to return the size of u-boot.bin. This only works with GNU stat though. Use wc instead. Signed-off-by: Chris Packham <judge.packham@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-08-06Prepare v2014.10-rc1v2014.10-rc1Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-07-30kconfig: switch to KconfigMasahiro Yamada
This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. Usage: Run "make <board>_defconfig" to do the board configuration. It will create the .config file and additionally spl/.config, tpl/.config if SPL, TPL is enabled, respectively. You can use "make config", "make menuconfig" etc. to create a new .config or modify the existing one. Use "make spl/config", "make spl/menuconfig" etc. for spl/.config and do likewise for tpl/.config file. The generic syntax of configuration targets for SPL, TPL is: <target_image>/<config_command> Here, <target_image> is either 'spl' or 'tpl' <config_command> is 'config', 'menuconfig', 'xconfig', etc. When the configuration is done, run "make". (Or "make <board>_defconfig all" will do the configuration and build in one time.) For futher information of how Kconfig works in U-Boot, please read the comment block of scripts/multiconfig.py. By the way, there is another item worth remarking here: coexistence of Kconfig and board herder files. Prior to Kconfig, we used C headers to define a set of configs. We expect a very long term to migrate from C headers to Kconfig. Two different infractructure must coexist in the interim. In our former configuration scheme, include/autoconf.mk was generated for use in makefiles. It is still generated under include/, spl/include/, tpl/include/ directory for the Normal, SPL, TPL image, respectively. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-07-28Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-07-25keystone: add support for NAND gpheader imageKhoronzhuk, Ivan
Add support for NAND gpheader image. TI Keystone2 ROM bootloader expects 8 bytes of trailing zeroes in the nand u-boot image. So add zeros at the end of the nand gph image. Acked-by: Murali Karicheri <m-karicheri2@ti.com> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
2014-07-22Makefile: fix tags target documentationIgor Grinberg
Replace the TAGS target name by the actual ctags target name. Also, add etags target documentation. Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
2014-07-22Makefile: fix ctags/etags clean targetsIgor Grinberg
Commit efcf861 (kbuild: use scripts/Makefile.clean) refactored the cleaning targets and accidentially replaced the actually generated "ctags" and "etags" files in the file list by "tags" and "TAGS". "tags" and "TAGS" are not part of the Makefile build targets and therefore should not be a part of the list for clean targets. Substitute the actually generated files instead, to fix the clean targets behavior. Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
2014-07-22Makefile: fix the {c, e}tags/cscope build targetsIgor Grinberg
Commit 9e41403 (kbuild: change out-of-tree build) changed the U-Boot build working directory to the output tree for the out-of-tree builds. This broke the {c,e}tags/cscope build targets as TAG_SUBDIRS variable collected directories based on assumption that the build working directory is the U-Boot source tree directory. Fix the {c,e}tags/cscope build targets by adding the $(srctree) prefix. Also, remove the $(obj) prefix from the etags build target to finish the $(obj) prefix removal started by the same commit. Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
2014-07-14Prepare v2014.07v2014.07Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-07-07Makefile: drop arch/*/include/asm/proc from make mrproper patternMasahiro Yamada
Commit 7d89982b stopped creating symbolic link arch/${arch}/include/asm/proc. We do not need to delete it by "make mrproper" any more. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Vasili Galka <vvv444@gmail.com>
2014-07-07Avoid using gawk-specific strtonum()Simon Glass
We need to subtract two hex numbers. Avoid using strtonum() by doing the subtraction in bc with a suitable input base. Signed-off-by: Simon Glass <sjg@chromium.org> Reported-by: Vasili Galka <vvv444@gmail.com>
2014-07-02Prepare v2014.07-rc4v2014.07-rc4Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-06-20cosmetic: kbuild: clean-up coding style (sync with Linux 3.16-rc1)Masahiro Yamada
Import the following trivial commits from Linux v3.16-rc1: bb66fc6 kbuild: trivial - use tabs for code indent where possible 7eb6e34 kbuild: trivial - remove trailing empty lines 3fbb43d kbuild: trivial - fix comment block indent 38385f8 kbuild: trivial - remove trailing spaces Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-19fdt: Rename the DEV_TREE_BIN Makefile flag to to EXT_DTBSimon Glass
This seems like a better name. This is a patch-up to the earlier commit 63b4b5b, and also removes a redundant Makefile change. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-06-11kbuild: move spl/Makefile to scripts/Makefile.splMasahiro Yamada
All files under spl/ and tpl/ are generated during the build process except spl/Makefile. We can simplify clean-rule and git-ignore by moving spl/Makefile to somewhere else. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-11kbuild: export HOSTCXX and HOSTCXXFLAGSMasahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-11fdt: Add DEV_TREE_BIN option to specify a device tree binary fileSimon Glass
In some cases, an externally-built device tree binary is required to be attached to U-Boot. An example is when using image signing, since in that case the .dtb file must include the public keys. Add a DEV_TREE_BIN option to the Makefile, and update the documentation. Usage is something like: make DEV_TREE_BIN=boot/am335x-boneblack-pubkey.dtb Signed-off-by: Simon Glass <sjg@chromium.org>
2014-06-11Check that u-boot.bin size looks correctSimon Glass
Check that the image size matches the size we get from u-boot.bin. If it doesn't, that generally means that some extra sections are being added to u-boot.bin, meaning that it is not possible to access data appended to the U-Boot binary. This is used for device tree, so needs to work. This problem was introduced by commit b02bfc4. By adding a test we can prevent a reccurence. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-06-11Makefile: fix clang warnings due to clang supportJeroen Hofstee
Building u-boot tools with clang as a host compiler e.g. on FreeBSD with `gmake HOSTCC=clang CONFIG_USE_PRIVATE_LIBGCC=y tools` leads to many warnings [1] for every compiler invocation since commit 598e2d33. Part of mentioned commit imports linux patches: - kbuild: LLVMLinux: Adapt warnings for compilation with clang - kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang No version of clang supports the gcc fno-delete-null-pointer-checks though, but it is only passed to clang. Gcc does not have the clang specific Qunused-arguments for the target. Furthermore several warnings are disabled which aren't encountered in u-boot. Since such a build has worked for quite some time and works after removing these changes, just remove the clang specific handling to restore normal building with clang as hostcc. [1] Actual warnings ------------------- GEN include/autoconf.mk.dep arm-freebsd-gcc: unrecognized option '-Qunused-arguments' HOSTCC scripts/basic/fixdep clang: warning: argument unused during compilation: '-fno-delete-null-pointer-checks' cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
2014-06-10Prepare v2014.07-rc3v2014.07-rc3Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-06-05nand_spl: remove nand_spl infrastructureMasahiro Yamada
Remove the common infrastructure of nand_spl and clean-up the code inside ifdef(CONFIG_NAND_U_BOOT)..endif. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-05kbuild: add missing PERL definitionMasahiro Yamada
"checkstack" target uses $(PERL) so PERL must be defined. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-06-05kbuild: remove unused RANLIBMasahiro Yamada
RANLIB was added by commit e221174 (more than a decade ago) but it has been never referenced at all. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-05-30Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
2014-05-27Prepare v2014.07-rc2v2014.07-rc2Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-05-25sunxi: non-FEL SPL boot support for sun7iIan Campbell
Add support for booting from an MMC card. Signed-off-by: Stefan Roese <sr@denx.de> Signed-off-by: Henrik Nordström <henrik@henriknordstrom.net> Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Reviewed-by: Marek Vasut <marex@denx.de> Cc: Tom Cubie <Mr.hipboi@gmail.com> Reviewed-by: Tom Rini <trini@ti.com>
2014-05-24Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
2014-05-23examples: select libgcc for non-default architectureAlexey Brodkin
In case of multilib-enabled toolchains if default architecture differ from the one examples are being built for linker will fail to link example object files with libgcc of another (non-compatible) architecture. Interesting enough for years in main Makefile we used CFLAGS/c_flags for this but not for examples. So fixing it now. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Tom Rini <trini@ti.com> Cc: Wolfgang Denx <wd@denx.de> Acked-by: WOlfgang Denk <wd@denx.de> Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-05-23Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master'Albert ARIBAUD
2014-05-20Merge remote-tracking branch 'u-boot/master'Albert ARIBAUD
Conflicts: boards.cfg Conflicts were trivial once u-boot-arm/master boards.cfg was reformatted (commit 6130c146) to match u-boot/master's own reformatting (commit 1b37fa83).
2014-05-15build: support a new image u-boot-dtb.imgMasahiro Yamada
In SPL framework, SPL uses u-boot.img to load u-boot.bin. Here, u-boot.img = uImage header + u-boot.bin To use OF control with a separate devicetree, u-boot.dtb must be placed right after u-boot.bin. In this case, u-boot-dtb.bin is generally used. Here, u-boot-dtb.bin = u-boot.bin + u-boot.dtb We need u-boot-dtb.img to use both SPL framework and separate OF control at the same time. u-boot-dtb.img = uImage header + u-boot-dtb.bin For example, Zynq boards already define all of - CONFIG_SPL - CONFIG_OF_CONTROL - CONFIG_OF_SEPARATE So, the support of u-boot-dtb.img is urgent. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michal Simek <michal.simek@xilinx.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-05-13arm, davinci: Use CONFIG_SPL_PAD_TO for padding the SPL in an ais imageChristian Riesch
The commits commit b7b5f1a16ca66dfdd817e7339f0e263a5b9f2758 Author: Albert ARIBAUD <albert.u.boot@aribaud.net> da850evm, da850_am18xxevm: convert to CONFIG_SPL_MAX_FOOTPRINT and commit e7497891e34efe5cb2b3a3dc7c6c096c012ede28 Author: Albert ARIBAUD <albert.u.boot@aribaud.net> cam_enc_4xx: convert to CONFIG_SPL_MAX_FOOTPRINT replaced CONFIG_SPL_MAX_SIZE by CONFIG_SPL_MAX_FOOTPRINT. However, CONFIG_SPL_MAX_SIZE is used in the Makefile for padding the SPL when preparing an u-boot.ais image. By removing CONFIG_SPL_MAX_SIZE said commits broke the ais image of the da850evm and cam_enc_4xx configurations. This patch converts the u-boot.ais target to use CONFIG_SPL_PAD_TO instead of CONFIG_SPL_MAX_SIZE for padding the SPL and adds a #define CONFIG_SPL_PAD_TO where it is required. Signed-off-by: Christian Riesch <christian.riesch@omicron.at> Reported-by: Tom Taylor <ttaylor.tampa@gmail.com> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Cc: Heiko Schocher <hs@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
2014-05-12kbuild: Fix trailing whitespacesMichal Simek
Trivial fix. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2014-05-12kbuild: build with -Werror=date-time if the compiler supports itMasahiro Yamada
Using __DATE__, __TIME__ would make the build non-deterministic. If the code needs to refer to build date/time, use U_BOOT_DATE and U_BOOT_TIME in include/generated/timestamp_autogenerated.h instead. This commit has been imported from Linux Kernel, which should be applied to U-Boot too: commit fe7c36c7bde12190341722af69358e42171162f3 Author: Josh Triplett <josh@joshtriplett.org> Date: Mon Dec 23 13:56:06 2013 -0800 Makefile: Build with -Werror=date-time if the compiler supports it GCC 4.9 and newer have a new warning -Wdate-time, which warns on any use of __DATE__, __TIME__, or __TIMESTAMP__, which would make the build non-deterministic. Now that the kernel does not use any of those macros, turn on -Werror=date-time if available, to keep it that way. The kernel already (optionally) records this information at build time in a single place; other kernel code should not duplicate that. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-05-12Prepare v2014.07-rc1v2014.07-rc1Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-05-09Merge branch 'u-boot/master'Albert ARIBAUD
Conflicts: drivers/net/Makefile (trivial merge)
2014-04-25Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2014-04-23Revert "build: Use filechk rules to create and update u-boot.lds"Masahiro Yamada
This reverts commit a8b993eb81c142a439c24b871a2317f765fe5397. Commit a8b993eb claims it fixes u-boot.lds rule by replacing $(call if_changed) with $(call filechk). But the problem had already been fixed by commit 395e60cd a few days before commit a8b993eb was posted. There is no reason to apply commit a8b993eb. What is worse is $(call filechk) is too strong to fix the problem and looks weird. Date of the two patches: [1] commit 395e60cdc292dc0183c6867d34b43f14a373df55 Author: Masahiro Yamada <yamada.m@jp.panasonic.com> AuthorDate: Wed Apr 9 20:10:43 2014 +0900 Commit: Tom Rini <trini@ti.com> CommitDate: Fri Apr 11 10:08:42 2014 -0400 replaces $(call if_changed) -> $(call if_changed_dep) [2] commit a8b993eb81c142a439c24b871a2317f765fe5397 Author: Jon Loeliger <jon.loeliger@oracle.com> AuthorDate: Tue Apr 15 16:09:37 2014 -0500 Commit: Tom Rini <trini@ti.com> CommitDate: Fri Apr 18 16:14:16 2014 -0400 replaces $(call if_changed) -> $(call filechk) A conflict must have happened when applying [2], but somehow it was applied, sadly. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Jon Loeliger <jon.loeliger@oracle.com> Cc: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Tom Rini <trini@ti.com>
2014-04-22Makefile: Add support of CONFIG_SPL_FSL_PBLPrabhakar Kushwaha
Objective of this target to have concatenate binary having - SPL binary in PBL command format - U-boot binary Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>