summaryrefslogtreecommitdiff
path: root/mkconfig
Commit message (Collapse)AuthorAgeLines
* kbuild: use $(KBUILD_SRC) to check out-of-tree buildMasahiro Yamada2014-03-12-2/+2
| | | | | | Non-empty $(KBUILD_SRC) means out-of-tree build. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kbuild: allow empty board directoriesMasahiro Yamada2014-03-04-2/+4
| | | | | | | | | | | | | | | | | U-Boot has compelled all boards to have board/${BOARD}/ or board/${VENDOR}/${BOARD}/ directory. Sometimes it does not seem suitable for some boards, for example Sandbox. (Is it a board?) And arcangel4 board has nothing to compile under the board directory. This commit makes the build system more flexible: If '<none>' is given to the 6th column (=Board name) of boards.cfg, Kbuild will not descend into the board directory. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* kbuild: change out-of-tree buildMasahiro Yamada2014-02-19-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the working directory where the build process occurs. Before this commit, build process occurred under the source tree for both in-tree and out-of-tree build. That's why we needed to add $(obj) prefix to all generated files in makefiles like follows: $(obj)u-boot.bin: $(obj)u-boot Here, $(obj) is empty for in-tree build, whereas it points to the output directory for out-of-tree build. And our old build system changes the current working directory with "make -C <sub-dir>" syntax when descending into the sub-directories. On the other hand, Kbuild uses a different idea to handle out-of-tree build and directory descending. The build process of Kbuild always occurs under the output tree. When "O=dir/to/store/output/files" is given, the build system changes the current working directory to that directory and restarts the make. Kbuild uses "make -f $(srctree)/scripts/Makefile.build obj=<sub-dir>" syntax for descending into sub-directories. (We can write it like "make $(obj)=<sub-dir>" with a shorthand.) This means the current working directory is always the top of the output directory. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Tested-by: Gerhard Sittig <gsi@denx.de>
* arm: make 'MAKEALL -a' distinguish between arm and aarch64Albert ARIBAUD2014-01-10-0/+7
| | | | | | | | | | | | The vexpress_aemv8a is the first aarch64 board in U-Boot. As it was introduced, it gets built when "MAKEALL -a arm" is invoked, and fails as this command is run with a 32-bit, not 64-bit, toolchain as the cross-compiler. Introduce 'aarch64' as a valid 'MAKEALL -a' argument, treated as 'arm' for all other intents, and change the architecture of the vexpress_aemv8a entry in boards.cfg from 'arm' to 'aarch64'.
* Makefile: do not create a symbolic link to arch/${ARCH}/include/asmMasahiro Yamada2013-11-08-8/+6
| | | | | | | | | | | | | | | In-tree build: - Do not create a symbolic link from include/asm to arch/${ARCH}/include/asm - Add ${SRCTREE}/arch/arm/include into the header search path Out-of-tree build: - Do not create a directory ${OBJTREE}/include2 - Do not create a symbolic link from ${OBJTREE}/include2/asm to ${SRCTREE}/arch/${ARCH}/include/asm - Add ${SRCTREE}/arch/arm/include into the header search path Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* Merge and reformat boards.cfg and MAINTAINERSAlbert ARIBAUD2013-09-12-15/+16
| | | | | | | | Put all informations about targets, including state (active or orphan) and maintainers, in boards.cfg; remove MAINTAINERS; adjust the build system accordingly. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* Licenses: introduce SPDX Unique Lincense IdentifiersWolfgang Denk2013-07-24-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like many other projects, U-Boot has a tradition of including big blocks of License headers in all files. This not only blows up the source code with mostly redundant information, but also makes it very difficult to generate License Clearing Reports. An additional problem is that even the same lincenses are referred to by a number of slightly varying text blocks (full, abbreviated, different indentation, line wrapping and/or white space, with obsolete address information, ...) which makes automatic processing a nightmare. To make this easier, such license headers in the source files will be replaced with a single line reference to Unique Lincense Identifiers as defined by the Linux Foundation's SPDX project [1]. For example, in a source file the full "GPL v2.0 or later" header text will be replaced by a single line: SPDX-License-Identifier: GPL-2.0+ We use the SPDX Unique Lincense Identifiers here; these are available at [2]. Note: From the legal point of view, this patch is supposed to be only a change to the textual representation of the license information, but in no way any change to the actual license terms. With this patch applied, all files will still be licensed under the same terms they were before. Note 2: The apparent difference between the old "COPYING" and the new "Licenses/gpl-2.0.txt" only results from switching to the upstream version of the license which is differently formatted; there are not any actual changes to the content. Note 3: There are some recurring questions about linense issues, such as: - Is a "All Rights Reserved" clause a problem in GPL code? - Are files without any license header a problem? - Do we need license headers at all? The following excerpt from an e-mail by Daniel B. Ravicher should help with these: | Message-ID: <4ADF8CAA.5030808@softwarefreedom.org> | Date: Wed, 21 Oct 2009 18:35:22 -0400 | From: "Daniel B. Ravicher" <ravicher@softwarefreedom.org> | To: Wolfgang Denk <wd@denx.de> | Subject: Re: GPL and license cleanup questions | | Mr. Denk, | | Wolfgang Denk wrote: | > - There are a number of files which do not include any specific | > license information at all. Is it correct to assume that these files | > are automatically covered by the "GPL v2 or later" clause as | > specified by the COPYING file in the top level directory of the | > U-Boot source tree? | | That is a very fact specific analysis and could be different across the | various files. However, if the contributor could reasonably be expected | to have known that the project was licensed GPLv2 or later at the time | she made her contribution, then a reasonably implication is that she | consented to her contributions being distributed under those terms. | | > - Do such files need any clean up, for example should we add GPL | > headers to them, or is this not needed? | | If the project as a whole is licensed under clear terms, you need not | identify those same terms in each file, although there is no harm in | doing so. | | > - There are other files, which include both a GPL license header | > _plus_ some copyright note with an "All Rights Reserved" clause. It | > has been my understanding that this is a conflict, and me must ask | > the copyright holders to remove such "All Rights Reserved" clauses. | > But then, some people claim that "All Rights Reserved" is a no-op | > nowadays. License checking tools (like OSLC) seem to indicate this is | > a problem, but then we see quite a lot of "All rights reserved" in | > BSD-licensed files in gcc and glibc. So what is the correct way to | > deal with such files? | | It is not a conflict to grant a license and also reserve all rights, as | implicit in that language is that you are reserving all "other" rights | not granted in the license. Thus, a file with "Licensed under GPL, All | Rights Reserved" would mean that it is licensed under the GPL, but no | other rights are given to copy, modify or redistribute it. | | Warm regards, | --Dan | | Daniel B. Ravicher, Legal Director | Software Freedom Law Center (SFLC) and Moglen Ravicher LLC | 1995 Broadway, 17th Fl., New York, NY 10023 | (212) 461-1902 direct (212) 580-0800 main (212) 580-0898 fax | ravicher@softwarefreedom.org www.softwarefreedom.org [1] http://spdx.org/ [2] http://spdx.org/licenses/ Signed-off-by: Wolfgang Denk <wd@denx.de>
* Revert "mkconfig: start deprecating Makefile config targets"Benoît Thébaudeau2013-04-12-9/+0
| | | | | | | This reverts commit 1285a2808a254f3d1a809c1a541f0c0f746e03d7 since the migration of boards from Makefile to boards.cfg is now complete. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
* OMAP: networking support for SPLIlya Yanok2012-10-01-0/+1
| | | | | | | | | | | | | | This patch adds support for networking in SPL. Some devices are capable of loading SPL via network so it makes sense to load the main U-Boot binary via network too. This patch tries to use existing network code as much as possible. Unfortunately, it depends on environment which in turn depends on other code so SPL size is increased significantly. No effort was done to decouple network code and environment so far. Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Tom Rini <trini@ti.com>
* mkconfig: remove bashisms and cleanup config.mk generationAllen Martin2012-09-01-21/+17
| | | | | | | | | | This adds some cleanup to mkconfig related to SPL support. Bash specific script has been replaced with awk for better shell compatibility. config.mk generation is done through a subshell and single redirect to improve readability. Signed-off-by: Allen Martin <amartin@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
* mkconfig: add support for SPL CPUAllen Martin2012-08-09-1/+14
| | | | | | | | | | | | | Add support for specifying a differnt CPU for main u-boot and SPL u-boot builds. This is done by adding an optional SPL CPU after the main CPU in boards.cfg as follows: normal_cpu:spl_cpu This this case CPU will be set to "normal_cpu" during the main u-boot build and "spl_cpu" during the SPL build. Signed-off-by: Allen Martin <amartin@nvidia.com>
* Add env vars describing U-Boot target boardStephen Warren2012-07-09-0/+8
| | | | | | | | | | | This can be useful for generic scripts. For example, rather than hard- coding a script to ext2load tegra-harmony.dtb, it could load ${soc}-${board}.dtb and hence not need adjustments to run on multiple boards. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
* CONFIG_SYS_BAUDRATE_TABLE: Add <config_fallbacks.h>, place thereTom Rini2012-06-20-0/+1
| | | | | | | | | We provide a default table of { 9600, 19200, 38400, 57600, 115200 } in <config_fallbacks.h> which mkconfig places after <configs/...h> in the generated config file. This is used when a board has not set its own table. Signed-off-by: Tom Rini <trini@ti.com>
* mkconfig: start deprecating Makefile config targetsMike Frysinger2011-10-05-0/+9
| | | | | | | | Now that we've got boards.cfg and most people have converted over, start warning people who have yet to so we can phase board configs completely out of the Makefile. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mkconfig: also create CONFIG defines with BSD sedJeroen Hofstee2011-07-28-1/+1
| | | | | | | | | | | | | | | Parsing of boards.cfg fails on FreeBSD with the error: sed: 1: "/=/ {s/=/\t/;q } ; { s/ ...": extra characters at the end of q command BSD sed expects commands to be on seperate 'lines', hence it expects an additional ; before the closing brackets. BSD sed does not support \t, replaced by literal tab. Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl> Cc: Marek Vasut <marek.vasut@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* Don't add symlink in srctree when using an objtreeLoïc Minier2011-01-21-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | When building with srctree != objtree, the build creates arch/soc/cpu specific symlinks in the source tree. This means that the same source tree can't be used for multiple builds at the same time. Also, these symlinks in the source tree are only cleaned up if one passes the same O= to distclean. When srctree != objtree, mkconfig creates an $objtree/include2 directory in the objtree to host the asm -> arch/$arch/include/asm symlink so that "#include <asm>" can be used. But it also creates another identical symlink in $objtree/include. Then, mkconfig creates two symlinks: $objtree/include/asm/arch -> arch/$arch/include/asm/arch-$cpu (or $soc) $objtree/include/asm/proc -> arch/$arch/include/asm/proc-armv (on arm) but because $objtree/include/asm points at $srctree already, the two symlinks are created under $srctree. To fix this, create a real $objtree/include/asm directory, instead of a symlink. Update cleanup code accordingly. Signed-off-by: Loïc Minier <loic.minier@linaro.org>
* config_cmd_defaults.h: new header for common u-boot command defaultsMike Frysinger2011-01-09-0/+1
| | | | | | | | | | | | | We have config_defaults.h which are random configuration settings that everyone gets by default. We also have config_cmd_default.h which is a recommended list of defaults but boards have to opt into. Now we have config_cmd_defaults.h which is a list of defaults that everyone gets and has to actively opt out of. For now, we populate it with the bootm command which previously was unable to be disabled. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* mkconfig: change CONFIG_MK_ prefix into plain CONFIG_Wolfgang Denk2010-10-18-1/+1
| | | | | | | | | | | | | | | | | | | | When planning for more generalization and Makefile cleanup it became obvious that the introduction of a separate CONFIG_MK_ name space for config options that were set through scripting in the Makefile was not a good idea. Originally the idea was to provide a script-free approach to supply configuration options - there was no real need for a separate name space. But when we now convert the existing Makefile entries to make use of this approach, it would mean that we have to touch a large number of board config files and add #ifdef / #define sequences to "convert" from the CONFIG_MK_ to the CONFIG_ name space. It seems much cleaner to get rid of this somewhat arbitrary _MK string now for the few boards that actually use it. Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
* Build: Add "board options" column to boards.cfgMarek Vasut2010-10-18-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are some boards where it's currently not possible to detect all board information at runtime, therefore a new column was added to boards.cfg . This column can contain multiple options: a board configuration name, optionally followed by a colon (':') and a list of options, which are separated by comma (','). In case of simple options like '256M_U_BOOT', these expand to "#define CONFIG_MK_256M_U_BOOT 1" in config.h . In case of assignments like 'RAM=8192', these expand to "#define CONFIG_MK_RAM 8192" in config.h . Example: FOO:HAS_BAR,BAZ=64 means: - the name of the board config file is include/configs/FOO.h - the generated file include/config.h will contain these lines: #define CONFIG_HAS_BAR 1 #define CONFIG_BAZ 64 Signed-off-by: Marek Vasut <marek.vasut@gmail.com> [wd@denx.de: edited commit message; added code to deal with an optional board configuration name] Signed-off-by: Wolfgang Denk <wd@denx.de>
* Makefile/mkconfig: read simple board configurations from boards.cfgWolfgang Denk2010-06-13-21/+51
| | | | | | | | | | | | | | | | | | Instead of adding explicit build rules for each and every board to the top level Makefile (which makes it grow and grow), we now provide a simple default rule and extend the "mkconfig" script to read board configurations from a plain text file (table), "boards.cfg". For simple boards it is now sufficient to add a single line of text to the "boards.cfg" file, no changes to the top level Makefile are needed any more. To make the table better readable, change the notation for unused fields from "NULL" into "-". Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Peter Tyser <ptyser@xes-inc.com> Cc: Mike Frysinger <vapier@gentoo.org>
* Makefile: simplify handling of build target namesWolfgang Denk2010-06-13-3/+3
| | | | | | | | | | Instead of stripping the "_config" part from the make target names in each call of the "mkconfig" script let this script strip the string. This prepares the ground for forther simplification of the top level Makefile. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Move architecture-specific includes to arch/$ARCH/include/asmPeter Tyser2010-04-13-11/+9
| | | | | | | | This helps to clean up the include/ directory so that it only contains non-architecture-specific headers and also matches Linux's directory layout which many U-Boot developers are already familiar with. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* config_defaults.h: new header for common u-boot config defaultsMike Frysinger2010-01-18-4/+6
| | | | | | | | There are a bunch of features in U-Boot that we want to enable by default, and it's best if we centralize them in one place rather than updating all the board files out there. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Merge branch 'master' into nextWolfgang Denk2009-12-05-0/+5
|\ | | | | | | | | | | | | | | Conflicts: board/esd/plu405/plu405.c drivers/rtc/ftrtc010.c Signed-off-by: Wolfgang Denk <wd@denx.de>
| * mkconfig: deny messed up ARCH definitionNishanth Menon2009-11-24-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refuse to setup a platform if the command line ARCH= is not the same as the one required for the board. This prevents any user with prehistoric aliases from messing up their builds. Reported in thread: http://old.nabble.com/-U-Boot--Build-breaks-on-some-OMAP3-configs-to26132721.html Inputs from: Mike Frysinger and Wolfgang Denk: http://lists.denx.de/pipermail/u-boot/2009-November/063642.html Cc: Wolfgang Denk <wd@denx.de> Cc: Mike Frysinger <vapier@gentoo.org> Cc: Anand Gadiyar <gadiyar@ti.com> Cc: Dirk Behme <dirk.behme@googlemail.com> Signed-off-by: Nishanth Menon <nm@ti.com>
* | mkconfig: Create board directory (CONFIG_BOARDDIR) in include/config.hStefan Roese2009-11-02-0/+9
|/ | | | | | | | | | | | | This patch extends the mkconfig script to automatically create a define for the board directory in include/config.h: #define CONFIG_BOARDDIR board/amcc/canyonlands This is needed for the upcoming PPC4xx linker script consolidation, where the PPC440 platforms need to include a board specific file in the common linker script. Signed-off-by: Stefan Roese <sr@denx.de>
* mkconfig: split the board make target to multiple config targetsWolfgang Denk2009-09-15-1/+7
| | | | | | | | | | | | | | | | To simplify the top level makefile it useful to be able to parse the top level makefile target to multiple individual target, then put them to the config.h, leave the board config file to handle the different targets. Note that this method uses the '_'(underline) as the delimiter when splits the board make target. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com> This also reverts commit 511c02f611cb5afa1b8ca5980caaaabaa0de377f. Signed-off-by: Wolfgang Denk <wd@denx.de>
* mkconfig: pass the board name to board config fileMingkai Hu2009-09-10-0/+1
| | | | | | | | Then we can handle different config targets in the board file, which simplifies the top level Makefile for boards that have multiple config targets. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
* mkconfig: include board config.h before asm/config.hKim Phillips2009-02-19-1/+1
| | | | | | | | | | | | | | | | | | swapping the include order suppresses warnings for board configs that define their own CONFIG_MAX_MEM_MAPPED: In file included from /home/r1aaha/git/u-boot/include/config.h:5, from /home/r1aaha/git/u-boot/include/common.h:35, from simpc8313.c:26: /home/r1aaha/git/u-boot/include/configs/SIMPC8313.h:81:1: warning: "CONFIG_MAX_MEM_MAPPED" redefined In file included from /home/r1aaha/git/u-boot/include/config.h:4, from /home/r1aaha/git/u-boot/include/common.h:35, from simpc8313.c:26: /home/r1aaha/git/u-boot/include/asm/config.h:28:1: warning: this is the location of the previous definition Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* Add an architecture specific config.h for common definesKumar Gala2009-02-10-0/+1
| | | | | | | | | | We have common defines that we duplicate in various ways. Having an arch specific config.h gives us a common location for those defines. Eventually we should be able to replace this when we have proper Kconfig support. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Add support for a saving build objects in a separate directory.Marian Balakowicz2006-09-01-8/+22
| | | | | | | | | | | | | | | | | | | | | Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory.
* * Cleanup TQM5200 board configurations:Wolfgang Denk2006-07-21-1/+5
| | | | | | | | | | | - make highboot configurations use environment at high end, too, to avoid flash fragmentation - always use redundand environment - don't enable video code for modules without graphics controller - provide useful (though different) mtdparts settings - get rid of CONFIG_CS_AUTOCONF which was always set anyway * Extend mkconfig tool to print more useful target name
* Fix typo in mkconfig script (used == instead of =)Wolfgang Denk2005-08-03-1/+1
| | | | Patch by Murray Jensen, 18 Jul 2005
* Fix file permissionsWolfgang Denk2005-07-21-0/+0
|
* Patch by Steven Scholz, 03 Apr 2005:wdenk2005-04-03-1/+6
| | | | | - create SoC specific directories include/asm-arm/arch-imx and include/asm-arm/arch-s3c24x0
* Patch by Steven Scholz, 16 Aug 2004:wdenk2004-10-09-6/+8
| | | | | | | | - Introducing the concept of SoCs "./cpu/$(CPU)/$(SOC)" - creating subdirs for SoCs ./cpu/arm920t/imx and ./cpu/arm920t/s3c24x0 - moving SoC specific code out of cpu/arm920t/ into cpu/arm920t/$(SOC)/ - moving drivers/s3c24x0_i2c.c and drivers/serial_imx.c out of drivers/ into cpu/arm920t/$(SOC)/
* * Header file cleanup for ARMwdenk2003-06-25-0/+5
| | | | | | * Patch by Murray Jensen, 24 Jun 2003: - make sure to use only U-boot provided header files - fix problems with ".rodata.str1.4" section as used by GCC-3.x
* Initial revisionwdenk2002-11-02-0/+57