summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeLines
* x86: Refactor u-boot.rom build rulesBin Meng2014-12-13-21/+27
| | | | | | | | | | Refactor u-boot.rom build rules by utilizing quiet_cmd_ and cmd_ macros. Also make writing mrc.bin and pci option rom to u-boot.rom optional and remove mrc.bin from its dependent file list as not every x86 board port needs mrc binary blob. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>
* spl: Use u-boot.img instead of u-boot.binAlison Wang2014-12-11-1/+7
| | | | | | | | | | In SD boot, the magic number of u-boot image will be checked. For LS102xA, u-boot.bin doesn't have the magic number. So use u-boot.img which includes the magic number instead of u-boot.bin when producing u-boot-with-spl-pbl.bin. Signed-off-by: Alison Wang <alison.wang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
* ls102xa: pblimage: Add pblimage tool support for LS102xAAlison Wang2014-12-11-1/+2
| | | | | | | | | | | | | | For LS102xA, the size of spl/u-boot-spl.bin is variable. This patch adds the support to deal with the variable u-boot size in pblimage tool. It will be padded to 64 byte boundary. Use pblimage_check_params() to add the specific operations for ARM, such as PBI CRC and END command and the calculation of pbl_cmd_initaddr. Signed-off-by: Alison Wang <alison.wang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
* Prepare v2015.01-rc3Tom Rini2014-12-08-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* libfdt: descend from lib/ to lib/libfdt/Masahiro Yamada2014-12-08-1/+0
| | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Kbuild: introduce Makefile in arch/$ARCH/Daniel Schwierzeck2014-12-08-17/+1
| | | | | | | | | | | | | | | Introduce a Makefile under arch/$ARCH/ and include it in the top Makefile (similar to Linux kernel). This allows further refactoringi like moving architecture-specific code out of global makefiles, deprecating config variables (CPU, CPUDIR, SOC) or deprecating arch/$ARCH/config.mk. In contrary to Linux kernel, U-Boot defines the ARCH variable by Kconfig, thus the arch Makefile can only included conditionally after the top config.mk. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Acked-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* x86: Allow an option ROM to be built into U-BootSimon Glass2014-11-25-0/+3
| | | | | | | | Some x86 machines require a binary blob containing 16-bit initialisation code for their video hardware. Allow this to be built into the x86 ROM so that it is accessible during boot. Signed-off-by: Simon Glass <sjg@chromium.org>
* Prepare v2015.01-rc2Tom Rini2014-11-24-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* Merge git://git.denx.de/u-boot-x86Tom Rini2014-11-24-1/+35
|\ | | | | | | | | | | | | Conflicts: arch/x86/cpu/Makefile Signed-off-by: Tom Rini <trini@ti.com>
| * x86: Build a .rom file which can be flashed to an x86 machineSimon Glass2014-11-21-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | On x86 machines U-Boot needs to be added to a large ROM image which is then flashed onto the target board. The ROM has a particular format so it makes sense for U-Boot to build this image automatically. Unfortunately it relies on binary blobs so we cannot require this for the default build as yet. Create a u-boot.rom output file for this purpose. Signed-off-by: Simon Glass <sjg@chromium.org>
* | kbuild: Descend into SOC directory from CPU directoryMasahiro Yamada2014-11-23-3/+0
|/ | | | | | | | | Some CPUs of some architectures have SOC directories. At present, the build system directly descends into SOC directories from the top Makefile, but it should generally descend into each directory from its parent directory. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Prepare v2015.01-rc1Tom Rini2014-11-10-3/+3
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* Merge branch 'master' of git://git.denx.de/u-boot-blackfinTom Rini2014-11-10-1/+1
|\
| * bfin: make the CPU macro of LDR target more genenricSonic Zhang2014-11-10-1/+1
| | | | | | | | | | | | Remove BFIN from the CPU macro in Makefile. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
* | kbuild: sync misc scripts with Linux 3.18-rc1Masahiro Yamada2014-11-07-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit imports some updates in misc scripts from Linux 3.18-rc1. [1] commit cbb4d3e6510b99522719c5ef0 by Horia Geanta scripts/kernel-doc: handle object-like macros [2] commit 164f0d2efaaef83 by Michal Marek kbuild: Fix handling of backslashes in *.cmd files [3] commit 270a00963cd367214e by Randy Dunlap scripts/kernel-doc: recognize __meminit [4] commit a4954fd7724c0f55361eb5 by Masahiro Yamada kbuild: remove obj-n and lib-n handling [5] commit 5b2389b45d1a9c12b9f by Masahiro Yamada kbuild: simplify build, clean, modbuiltin shorthands Signed-off-by: Horia Geanta <horia.geanta@freescale.com> Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* | kbuild: sync top Makefile with Linux 3.18-rc1Masahiro Yamada2014-11-07-90/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Linux 3.15, relative path feature and related fixes, cleanups have been merged to the top Makefile. The relative path feature looks stable enough, so let's import it to U-Boot along with various cleanups. Commits imported from Linux (some need adjustment) are: [1] commit 7e1c04779efd by Michal Marek kbuild: Use relative path for $(objtree) [2] commit 890676c65d69 by Michal Marek kbuild: Use relative path when building in the source tree [3] commit 9da0763bdd82 by Michal Marek kbuild: Use relative path when building in a subdir of the source tree [4] commit c2e28dc975ea by Michal Marek kbuild: Print the name of the build directory [5] commit 066b7ed95580 by Michal Marek kbuild: Do not print the build directory with make -s [6] commit 3f1d9a6cec01 by Michal Marek kbuild: make -s should be used with kernelrelease/kernelversion/image_name [7] commit 7ff525712acf by Masahiro Yamada kbuild: fake the "Entering directory ..." message more simply [8] commit 745a254322c8 by Masahiro Yamada kbuild: use $(Q) for sub-make target [9] commit aa55c8e2f7a3 by Masahiro Yamada kbuild: handle C=... and M=... after entering into build directory [10] commit ab7474ea5361 by Borislav Petkov Kbuild: Ignore GREP_OPTIONS env variable To use relative path feature, tools/Makefile and scripts/Makefile.autoconf must be tweaked. Signed-off-by: Michal Marek <mmarek@suse.cz> Signed-off-by: Borislav Petkov <bp@suse.de> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* | kbuild: remove "clobber" targetMasahiro Yamada2014-11-07-21/+7
| | | | | | | | | | | | | | Now we stick to Linux Kernel's build system, so squash "clobber" to "clean" target. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* | generic-board: make compile-time noise for non-generic boardsMasahiro Yamada2014-11-07-0/+7
|/ | | | | | | | | | | | | | | | Commit 0f605c1501f6 (Start the deprecation process for generic board) added a run-time warning message. Let's be noisier for non-generic boards to inform the dead line of the conversion. This commit intentionally outputs a warning message to stdout. We still have many unconverted boards. If we print the message to stderr, MAKEALL and buildman will report tons of broken boards and really important information will be buried. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@ti.com>
* dm: sunxi: Add a new config for an FDT-based pcDuino3Simon Glass2014-11-05-1/+2
| | | | | | | | | For now we won't want to mess with the existing configurations. Create a new one which will enable device tree and driver model. Note that this brings the device tree binary into u-boot-sunxi-with-spl.bin. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* kbuild: drop CONFIG_USE_PRIVATE_LIBGCC=path/to/libgcc syntaxMasahiro Yamada2014-10-23-4/+0
| | | | | | | | | Now CONFIG_USE_PRIVATE_LIBGCC is only used as a boolean macro. Remove CONFIG_USE_PRIVATE_LIBGCC=path/to/libgcc syntax. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Tested-by: Simon Glass <sjg@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
* Makefile: Add CONFIG_BUILD_TARGET to automatically build an special imageStefan Roese2014-10-23-0/+5
| | | | | | | | | | | | Add target to build it automatically upon "make" / MAKEALL. This can/should be set by board / cpu specific headers if a special U-Boot image is required for this SoC / board. E.g. used by Marvell Armada XP to automatically build the u-boot.kwb target. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
* arm: armada-xp: Add basic support for Marvell Armada XP SoCStefan Roese2014-10-23-1/+1
| | | | | | | | | | | This basic support for the Marvell Armada XP is base on the existing kirkwood support. Which has been generatized by moving some common files into common marvell locations. This is in preparation for the upcoming Armada XP MV78460 support. Signed-off-by: Stefan Roese <sr@denx.de> Tested-by: Luka Perkov <luka@openwrt.org>
* arm: kirkwood: Move some SoC files into new arch/arm/mvebu-commonStefan Roese2014-10-23-0/+4
| | | | | | | | | | | | | | | | By moving some kirkwood files into a Marvell common directory, those files can be used by other Marvell platforms as well. The name mvebu is taken from the Linux kernel source tree. It has been chosen there to represent the SoC's from the Marvell EBU (Engineering Business Unit). Those SoC's currently are: Armada 370/375/XP, Dove, mv78xx0, Kirkwood, Orion5x This will be used by the upcoming Armada XP (MV78460) platform support. Signed-off-by: Stefan Roese <sr@denx.de> Tested-by: Luka Perkov <luka@openwrt.org> Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
* Prepare v2014.10Tom Rini2014-10-14-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* Makefile: drop "tools-only" from no-dot-config-targetsTom Rini2014-10-13-1/+1
| | | | | | | | | With the introduction of CONFIG_LOCALVERSION support we cannot build tools without having a config file (as we won't know our PLAIN_VERSION until then). Reported-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Tom Rini <trini@ti.com>
* Prepare v2014.10-rc3Tom Rini2014-10-06-1/+1
| | | | Signed-off-by: Tom Rini <trini@ti.com>
* 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>