summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: rename cross target -> toolchainFabio Porcedda2013-01-151-4/+5
| | | | | | | | | | | | | | | - Use a more descriptive name, the same of the "toolchain" directory. - Add missing dependencies to be able to successfully use the target right after the configuration. - Move to a better position. - Documentation it in the help target. - Use toolchain target in the world target Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Reviewed-by: Markos Chandras <markos.chandras at imgtec.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be> Acked-by: Samuel Martin <s.martin49 at gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Integration with Buildroot Toolchain Eclipse pluginThomas Petazzoni2013-01-141-0/+7
| | | | | | | | | | | | | | | | | | The Eclipse plugin at https://github.com/mbats/eclipse-buildroot-toolchain-plugin allows users of Eclipse to easily use the toolchain available in Buildroot. To do so, this plugin reads ~/.buildroot-eclipse.toolchains, which contains the list of Buildroot toolchains available on the system, and then offer those toolchains to compile Eclipse projects. In order to interface with this plugin, this commit adds an option that allows the user to tell whether (s)he wants the Buildroot project toolchain to be visible under this Eclipse plugin. It simply adds a line in this ~/.buildroot-eclipse.toolchains file. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: don't export O to the environmentPeter Korsgaard2013-01-141-1/+1
| | | | | | | | Several projects use the kernel style O=<dir> syntax to build out of tree, and atleast uClibc doesn't check that it was explictly passed on the command line, so setting it in the environment breaks the build. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: use newly-introduced BUILDROOT_CONFIGYann E. MORIN2013-01-131-8/+8
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: export a few variables to help support scriptsYann E. MORIN2013-01-131-0/+11
| | | | | | | | | | | | | | | | | | | | | | | Support scripts (in support/) may need to parse the .config file, so give them an easy access to it, by exporting BUILDROOT_CONFIG with the fully- qualified path to .config. Also, post-build scripts may need to reference a few locations, so export those, too. Note: we export both O and BASE_DIR. Although they are the same, BASE_DIR is used internally, while O is used on the command line, which makes it a bit ambiguous to know which to use. As users use O= on the command line, they will probably tend to use that in their post-build scripts. Update doc accordingly. [Peter: fixed typo] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> cc: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: system.mk rootfs modifications should be done before target-finalizePeter Korsgaard2013-01-091-1/+1
| | | | | | | So they don't override E.G. changes done in post build scripts (E.G. password settings). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: kickoff 2013.02 cyclePeter Korsgaard2012-12-021-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.112012.11Peter Korsgaard2012-12-021-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* unexport PKG_CONFIG_SYSROOT_DIRCharles Manning2012-12-021-0/+1
| | | | | | | | | | If this is not done then pkg-config can get confused. Thomas and Arnout really deserve the credit for this - I just did the testing. Signed-off-by: Charles Manning <cdhmanning@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* {rand,allyes}packageconfig: ensure legacy test options don't get enabledPeter Korsgaard2012-12-011-0/+6
| | | | | | | The legacy BR2_PACKAGE_* options in Config.in.legacy are not supposed to be user selectable, so {rand,allyes}packageconfig shouldn't enable them. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.11-rc22012.11_rc2Peter Korsgaard2012-11-301-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: fix thread libraries strippingRichard Braun2012-11-301-1/+9
| | | | | | | | | | | Strip libthread_db the same as any other library, but strip libpthread with --strip-debug. See the relevant mailing list discussion [1] for additional details. [1] http://lists.busybox.net/pipermail/buildroot/2012-October/060126.html Signed-off-by: Richard Braun <rbraun@sceen.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: introduce errors for legacy APIArnout Vandecappelle (Essensium/Mind)2012-11-301-1/+6
| | | | | | | | | | | | | As discussed in the BR developer days, we want to be more strict about API changes in buildroot. I.e., we want to make it less likely that a user's customizations break down after upgrading buildroot. A first step is to make sure that the user is warned about API changes. This patch introduces Makefile.legacy and Config.in.legacy, which will issue clear error messages for such situations. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.11-rc12012.11_rc1Peter Korsgaard2012-11-171-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Allow to run severals post build scripts instead of only onePhilippe Reynes2012-11-171-2/+3
| | | | | | | | | Using severals post build scripts is usefull to share script between severals boards/projects. [Peter: fix trailing spaces in Config.in] Signed-off-by: Philippe Reynes <philippe.reynes@sagemcom.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Warn the user about the usage of output/target as the root filesystemThomas Petazzoni2012-11-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A very common mistake done by our users is that they use output/target/ directory as their root filesystem. Even though this is loudly documented in our Buildroot manual, people don't read documentation, so it is not sufficient. This patch adds a text file named output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM which explains why output/target isn't appropriate to use as the root filesystem. The process is: * At the beginning of the build, right after the skeleton has been copied, support/misc/target-dir-warning.txt is copied to output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM * In the filesystem images creation code, this file is removed before launching fakeroot, and restored right after that, so that this file is not present in the generated root filesystem images. Note that the file has not been added to the default skeleton for two reasons: * It would have annoying to have in our source tree a file named in capital letters inside system/skeleton/ * The proposed way works even if the user uses a custom skeleton. [Peter: fixed typo] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Juha Lumme <juha.lumme@gmail.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* New top-level directory: systemThomas Petazzoni2012-11-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | This directory groups the following elements: * the default root filesystem skeleton * the default device tables * the Config.in options for system configuration (UART port for getty, system hostname, etc.) * the make rules to apply the system configuration options Even though the skeleton and device tables could have lived in fs/, it would have been strange to have the UART, system hostname and other related options into fs/. A new system/ directory makes more sense. As a consequence, this patch also removes target/Makefile.in, which has become useless in the process. [Peter: fixup TARGET_SKELETON settings / documentation to match] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Yann E. MORIN <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Support KERNEL_ARCH for AArch64Thomas Petazzoni2012-11-021-0/+1
| | | | | | | | | The architecture tuple is 'aarch64', but the kernel people decided to call it 'arm64', so we have to do some mungling to get the kernel architecture name from the Buildroot architecture name. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: Remove more pkgconfig filesValentine Barshak2012-10-041-1/+2
| | | | | | | | | | | | | The pkgconfig files are located in /usr/lib/pkgconfig and /usr/share/pkgconfig directories. However, only /usr/lib/pkgconfig is removed when no development files are needed in the target filesystem. Remove pkgconfig directory from $(TARGET_DIR)/usr/share as well if BR2_HAVE_DEVFILES is not set. Signed-off-by: Valentine Barshak <gvaxon@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove the Xtensa architectureThomas Petazzoni2012-09-201-3/+0
| | | | | | | | | | | | | | As stated in commit 555c2585bf28c3ef71f6d2dcdd983d17a19892af, the Xtensa architecture has been introduced in 2009 and never changed since its initial introduction. It requires some special handling that is a bit annoying, and despite our call to the initial developers, and the announcement of the deprecation of the architecture during the 2012.05, nothing has happened. Therefore, drop support for this architecture. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: me Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-download: allow relative BR2_DL_DIRPeter Korsgaard2012-09-101-8/+3
| | | | | | And move the BUILDROOT_DL_DIR override here as well for consistency. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Kickoff 2012.11 cyclePeter Korsgaard2012-09-031-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Prepare for 2012.082012.08Thomas Petazzoni2012-08-311-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Prepare for 2012.08-rc32012.08_rc3Thomas Petazzoni2012-08-251-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Added QMAKESPEC to the list of unexported symbolsStephan Hoffmann2012-08-171-0/+1
| | | | | | | Building QT might fail if QMAKESPEC is defined. Signed-off-by: Stephan Hoffmann <sho@relinux.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Update for 2012.08-rc22012.08_rc2Thomas Petazzoni2012-08-151-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Update for 2012.08-rc12012.08_rc1Thomas Petazzoni2012-08-011-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* add host arch detection and Kconfig BR2_HOSTARCHFrancois Perrad2012-07-181-0/+10
| | | | | | | | | This will allow to install binary package only if they are supported by the host. As example Atmel SAM-BA (x86 only). Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* legal-info: infrastructure to collect legally-relevant materialLuca Ceresoli2012-07-171-3/+39
| | | | | | | | | | | | | | | | | | | | | This allows to automatically collect material that may be needed to comply with the license of packages that Buildroot prepares for the target device. The core of the implementation is made by the following parts: - in package/pkg-utils.mk some helper functions are defined for common actions such as generating a warning, producing info about a package etc; - in package/pkg-gentargets.mk, within the GENTARGETS framework, a new <PKG>-legal-info target produces all the info for a given package; - Makefile implements the top-level targets: - legal-info-prepare creates the output directory and produces legal info about Buildroot itself and the toolchain, which mostly means just warning the user that this is not implemented; - legal-info, the only target that is supposed to be used directly, depends on all of the above and finishes things by producing the README files from the various pieces. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Ensure DESTDIR will not confuse the buildThomas Petazzoni2012-07-021-0/+4
| | | | | | | | | Having DESTDIR defined will confuse the build of certain packages, so we ensure that it is undefined from the environment when Buildroot starts. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Globally disable PKG_CONFIG_PATHArnout Vandecappelle2012-07-011-0/+3
| | | | | | | | | | If PKG_CONFIG_PATH is set in the environment, it allows pkg-config to look for libraries outside of the buildroot tree. This is a problem both for host and target builds. To avoid it, globally set an empty PKG_CONFIG_PATH in the environment. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* source-check: change behavior to check only selected packages / add ↵Thomas De Schampheleire2012-06-231-2/+2
| | | | | | | | | | | | | | | | | | | | source-check-all The original 'source-check' target first selects all packages, and then checks whether the package tarballs can be found. This is useful for Buildroot maintainers, but less useful for developers working on a specific project. The latter only care about the packages used in that project. This patch removes the allyesconfig dependency to source-check so that only selected packages are checked. The original behavior is moved to a new target 'source-check-all'. [Peter: removed source-check-all, people can just make allyesconfig before] Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* build: add option to exclude executables/dirs from being strippedThomas De Schampheleire2012-06-231-2/+8
| | | | | | | | | | | | | | Sometimes it may be desirable to keep debug symbols for some binaries and libraries on the target. This commit introduces the config option BR2_STRIP_EXCLUDE_FILES, which is interpreted as a list of such binaries and libraries, and the option BR2_STRIP_EXCLUDE_DIRS, which indicates directories excluded from stripping entirely. These exclusions are passed to the find command in the target-finalize step. Signed-off-by: Sven Neumann <s.neumann@raumfeld.com> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Kickoff 2012.08 cyclePeter Korsgaard2012-05-311-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.052012.05Peter Korsgaard2012-05-301-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.05-rc32012.05_rc3Peter Korsgaard2012-05-251-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.05-rc22012.05_rc2Peter Korsgaard2012-05-181-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* ccache: allow dynamic selection of cache directoryThomas De Schampheleire2012-05-181-1/+2
| | | | | | | | | | | | | | | | | | | | The existing ccache infrastructure sets the cache directory hardcoded in the ccache binary. As this directory was set to ~/.buildroot-ccache, the cache is not necessarily local (e.g. in corporate environments the home directories may be mounted over NFS.) Previous versions of buildroot did allow to set the cache directory, but this was also hardcoded (so you had to rebuild ccache to change it), plus that support was removed. See http://lists.busybox.net/pipermail/buildroot/2011-July/044511.html for a discussion on this. This patch modifies ccache to respect a new shell variable (exported from the Makefile, based on a configuration option) instead of CCACHE_DIR. The name CCACHE_DIR itself is already used by autotargets for the ccache package. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.05-rc12012.05_rc1Peter Korsgaard2012-05-101-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add support to generate locale dataThomas Petazzoni2012-05-091-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to use locale support on a Linux system, you need locale data to be present: * on a (e)glibc based system, this data is typically in the /usr/lib/locale/locale-archive file, which can be created and extended using the localedef program * on an uClibc based system, the set of supported locales is defined at build time by an uClibc configuration option. This patch implements generating locale data for the following cases: * Internal toolchain * External toolchain based on (e)glibc. uClibc external toolchains are not supported, because with uClibc, the set of supported locales is defined at build time. CodeSourcery and Linaro toolchains have been tested, Crosstool-NG toolchains are believed to work properly as well. * Toolchains built using the Crosstool-NG backend, but only (e)glibc toolchains. This feature was runtime tested with internal uClibc toolchain, CodeSourcery ARM toolchain and Linaro ARM toolchain, thanks to a simple C program that shows the data and a gettext translated message. Note that this option differs from the "purge locales" option, which is responsible for removing translation files and other locale stuff installed by packages. At some point in the future, we may want to clarify the respective roles of those options. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* config: make it possible to specify which config file to use for 'make ↵Arnout Vandecappelle2012-05-051-1/+2
| | | | | | | | | | | | | | | | | | | | | defconfig' So that this works: % make defconfig BR2_DEFCONFIG=~/buildroot-defconfig Right now we have to do: % cp ~/buildroot-defconfig configs/buildroot_defconfig % make buildroot_defconfig That would dirty the buildroot tree and requires it to be writable. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: remove toolchain/Makefile.in and toolchain/gcc/Makefile.inThomas Petazzoni2012-04-251-1/+0
| | | | | | | | | | Re-integrate in gcc-uclibc-4.x.mk things from toolchain/gcc/Makefile.in that were completely gcc-specific. There was no reason to pull that when building with other backends than the internal one. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove unused GNU_TARGET_SUFFIXThomas Petazzoni2012-04-251-2/+0
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* cmake: move creation of toolchain file to package/pkg-cmaketargets.mkThomas Petazzoni2012-04-201-20/+2
| | | | | | | | | | This also requires moving a few include directives below the "all:" target in the main Makefile, otherwise the new target to create the toolchain file in pkg-cmaketargets.mk gets used as the default make target instead of "all:". Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Move the manual build infrastructure to docs/manual/manual.mkThomas Petazzoni2012-04-201-48/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove unused .fakeroot.* mechanismThomas Petazzoni2012-04-191-6/+0
| | | | | | | | | | | | | | | | | | | There used to be a mechanism using which packages could leave a .fakeroot.<something> file which could contain commands to be executed within the fakeroot environment. Since this mechanism is no longer used by any package, remove it from the common infrastructure. The latest user was nfs-utils, which used this mechanism to do the "make install" as root, since doing otherwise was not supported. But since 16e7b8255c82815126a2c502c3787d442d254a86, nfs-utils has been upgraded and converted to the package infrastructure, and this hack is no longer necessary. Another past user was the ltp-testsuite package, for the same reason, and since a72a670489547a3ca645ff7c3a0d9c3fb66eab51, the fakeroot hack is no longer needed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove filename extension crap for OS compatibilityThomas Petazzoni2012-04-191-28/+0
| | | | | | | | | The only variable that is used is HOST_LOADLIBES, defined for the cygwin case in the kconfig build. Since we don't support cygwin, simply get rid of this. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove cc-option: not used anywhereThomas Petazzoni2012-04-191-7/+0
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add documentation for <pkg>-rebuild and <pkg>-reconfigureStephan Hoffmann2012-04-071-0/+2
| | | | | | | | | Since these two special make targets are very useful but not yet mentioned in the documentation I added them to the make help and the manual. Signed-off-by: Stephan Hoffmann <sho@reLinux.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add target to print buildroot versionArnout Vandecappelle (Essensium/Mind)2012-03-131-1/+4
| | | | | | | | | | It's convenient to have a target to print the buildroot version, for use in external scripts calling buildroot. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>