summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeLines
* kbuild: refactor some makefilesMasahiro Yamada2014-09-24-3/+0
| | | | | | | | | | | | | | | | | | [1] Move driver/core/, driver/input/ and drivers/input/ entries from the top Makefile to drivers/Makefile [2] Remove the conditional by CONFIG_DM in drivers/core/Makefile because the whole drivers/core directory is already selected by CONFIG_DM in the upper level [3] Likewise for CONFIG_DM_DEMO in drivers/demo/Makefile [4] Simplify common/Makefile - both CONFIG_DDR_SPD and CONFIG_SPD_EEPROM are boolean macros so they can directly select objects Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Marek Vasut <marex@denx.de>
* kconfig: fix a bug of "make config"Masahiro Yamada2014-09-16-1/+1
| | | | | | | | | | | | | 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>
* kbuild: force to define __UBOOT__ in all the C sourcesMasahiro Yamada2014-09-16-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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>
* Makefile: default to cc for host compilerJeroen Hofstee2014-09-11-2/+2
| | | | | | | | | 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>
* Prepare v2014.10-rc2Tom Rini2014-09-02-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* kconfig: add CONFIG_CC_OPTIMIZE_FOR_SIZEMasahiro Yamada2014-08-28-1/+5
| | | | | | | 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>
* kconfig: convert Kconfig helper script into a shell scriptMasahiro Yamada2014-08-22-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Makefile: remove generated boards.cfg within make distcleanRoger Meier2014-08-22-0/+1
| | | | | | | | | 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>
* Makefile: Use Kbuild style for system_map.o generation stepVasili Galka2014-08-21-3/+7
| | | | | | | | | 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>
* kbuild: sync mixed targets handling with Linux 3.16Masahiro Yamada2014-08-21-3/+3
| | | | | | | | | | | | | | | | | | | "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>
* kbuild: move extra gcc checks to scripts/Makefile.extrawarnMasahiro Yamada2014-08-21-4/+2
| | | | | | | | | | | | | | | | | | 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>
* Makefile: use u-boot.map for binary_size_checkChris Packham2014-08-09-3/+4
| | | | | u-boot.map is generated automatically by the compiler and more importantly can handle addresses >4GB.
* Makefile: use $(shell ...) for determining file_sizeChris Packham2014-08-09-1/+1
| | | | | | | | | | | | | | 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>
* Prepare v2014.10-rc1Tom Rini2014-08-06-2/+2
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* kconfig: switch to KconfigMasahiro Yamada2014-07-30-62/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'Albert ARIBAUD2014-07-28-0/+6
|\
| * keystone: add support for NAND gpheader imageKhoronzhuk, Ivan2014-07-25-0/+6
| | | | | | | | | | | | | | | | | | 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>
* | Makefile: fix tags target documentationIgor Grinberg2014-07-22-1/+2
| | | | | | | | | | | | | | | | 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>
* | Makefile: fix ctags/etags clean targetsIgor Grinberg2014-07-22-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Makefile: fix the {c, e}tags/cscope build targetsIgor Grinberg2014-07-22-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Prepare v2014.07Tom Rini2014-07-14-1/+1
| | | | | | | | Signed-off-by: Tom Rini <trini@ti.com>
* | Makefile: drop arch/*/include/asm/proc from make mrproper patternMasahiro Yamada2014-07-07-1/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Avoid using gawk-specific strtonum()Simon Glass2014-07-07-1/+2
|/ | | | | | | | 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>
* Prepare v2014.07-rc4Tom Rini2014-07-02-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* cosmetic: kbuild: clean-up coding style (sync with Linux 3.16-rc1)Masahiro Yamada2014-06-20-8/+8
| | | | | | | | | | | 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>
* fdt: Rename the DEV_TREE_BIN Makefile flag to to EXT_DTBSimon Glass2014-06-19-1/+1
| | | | | | | 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>
* kbuild: move spl/Makefile to scripts/Makefile.splMasahiro Yamada2014-06-11-5/+3
| | | | | | | | | | 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>
* kbuild: export HOSTCXX and HOSTCXXFLAGSMasahiro Yamada2014-06-11-1/+1
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* fdt: Add DEV_TREE_BIN option to specify a device tree binary fileSimon Glass2014-06-11-1/+1
| | | | | | | | | | | | | | 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>
* Check that u-boot.bin size looks correctSimon Glass2014-06-11-1/+13
| | | | | | | | | | | | 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>
* Makefile: fix clang warnings due to clang supportJeroen Hofstee2014-06-11-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Prepare v2014.07-rc3Tom Rini2014-06-10-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* nand_spl: remove nand_spl infrastructureMasahiro Yamada2014-06-05-27/+1
| | | | | | | 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>
* kbuild: add missing PERL definitionMasahiro Yamada2014-06-05-1/+2
| | | | | | "checkstack" target uses $(PERL) so PERL must be defined. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kbuild: remove unused RANLIBMasahiro Yamada2014-06-05-1/+0
| | | | | | | 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>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2014-05-30-0/+10
|\
| * sunxi: non-FEL SPL boot support for sun7iIan Campbell2014-05-25-0/+10
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Prepare v2014.07-rc2Tom Rini2014-05-27-1/+1
|/ | | | Signed-off-by: Tom Rini <trini@ti.com>
* Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2014-05-24-0/+8
|\
| * Merge branch 'u-boot-microblaze/zynq' into 'u-boot-arm/master'Albert ARIBAUD2014-05-23-0/+8
| |\
| | * build: support a new image u-boot-dtb.imgMasahiro Yamada2014-05-15-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | examples: select libgcc for non-default architectureAlexey Brodkin2014-05-23-0/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'u-boot/master'Albert ARIBAUD2014-05-20-5/+8
|\ \ | |/ | | | | | | | | | | | | | | 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).
| * kbuild: Fix trailing whitespacesMichal Simek2014-05-12-3/+3
| | | | | | | | | | | | Trivial fix. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * kbuild: build with -Werror=date-time if the compiler supports itMasahiro Yamada2014-05-12-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Prepare v2014.07-rc1Tom Rini2014-05-12-2/+2
| | | | | | | | Signed-off-by: Tom Rini <trini@ti.com>
* | arm, davinci: Use CONFIG_SPL_PAD_TO for padding the SPL in an ais imageChristian Riesch2014-05-13-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'u-boot/master'Albert ARIBAUD2014-05-09-6/+67
|\ | | | | | | | | | | | | Conflicts: drivers/net/Makefile (trivial merge)
| * Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini2014-04-25-0/+19
| |\
| | * Makefile: Add support of CONFIG_SPL_FSL_PBLPrabhakar Kushwaha2014-04-22-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>