summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2012-07-17legal-info: infrastructure to collect legally-relevant materialLuca Ceresoli
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>
2012-07-02Ensure DESTDIR will not confuse the buildThomas Petazzoni
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>
2012-07-01Globally disable PKG_CONFIG_PATHArnout Vandecappelle
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>
2012-06-23source-check: change behavior to check only selected packages / add ↵Thomas De Schampheleire
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>
2012-06-23build: add option to exclude executables/dirs from being strippedThomas De Schampheleire
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>
2012-05-31Kickoff 2012.08 cyclePeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-30Update for 2012.052012.05Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-25Update for 2012.05-rc32012.05_rc3Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-18Update for 2012.05-rc22012.05_rc2Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-18ccache: allow dynamic selection of cache directoryThomas De Schampheleire
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>
2012-05-10Update for 2012.05-rc12012.05_rc1Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09Add support to generate locale dataThomas Petazzoni
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>
2012-05-05config: make it possible to specify which config file to use for 'make ↵Arnout Vandecappelle
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>
2012-04-25toolchain: remove toolchain/Makefile.in and toolchain/gcc/Makefile.inThomas Petazzoni
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>
2012-04-25Remove unused GNU_TARGET_SUFFIXThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-20cmake: move creation of toolchain file to package/pkg-cmaketargets.mkThomas Petazzoni
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>
2012-04-20Move the manual build infrastructure to docs/manual/manual.mkThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-19Remove unused .fakeroot.* mechanismThomas Petazzoni
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>
2012-04-19Remove filename extension crap for OS compatibilityThomas Petazzoni
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>
2012-04-19Remove cc-option: not used anywhereThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-07Add documentation for <pkg>-rebuild and <pkg>-reconfigureStephan Hoffmann
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>
2012-03-13Add target to print buildroot versionArnout Vandecappelle (Essensium/Mind)
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>
2012-03-01Merge branch 'next'Peter Korsgaard
2012-03-01Update copyright yearPeter Korsgaard
We're in 2012 by now. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-01kickoff 2012.05 development cyclePeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-29Update for 2012.022012.02Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-27Update for 2012.02-rc32012.02_rc3Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-25Makefile: move cmake toolchain file to $HOST_DIR/usr/share/buildrootPeter Korsgaard
To make it part of the SDK installation. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-19Update for 2012.02-rc22012.02_rc2Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-19Print a message before executing the post-build scriptLuca Ceresoli
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-14Makefile: use /etc/os-release for version info rather than /etc/br-versionPeter Korsgaard
/etc/os-release is becoming a standard interface for distribution name/version info, so let's use that instead of the nonstandard /etc/br-version. Format of the file is something like: NAME=Buildroot VERSION=2012.02-rc1-00003-g2d10e81 ID=buildroot VERSION_ID=2012.02-rc1 PRETTY_NAME="Buildroot 2012.02-rc1" For more details, see: http://0pointer.de/public/systemd-man/os-release.html Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-12Update for 2012.02-rc12012.02_rc1Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09Makefile: fix old make check thinkoPeter Korsgaard
So it doesn't fail with 3.81. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09Makefile: change order of dirs and dependenciesThomas De Schampheleire
If during the dependencies step, a package needs to be downloaded, the download directory already has to be present. If not, the file will be downloaded under the name 'dl' instead of in the directory 'dl'. This patch changes the order of dirs and dependencies in the world target to fix this. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09dependencies: check minimal make version early onThomas De Schampheleire
Although support/dependencies/dependencies.sh checks for the version of make, this script doesn't get a chance to run if make encounters a syntax error as a result of being too old. For example, the following syntax is only supported from make 3.81 onwards: ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y) include toolchain/toolchain-buildroot.mk else ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y) include toolchain/toolchain-external.mk else ifeq ($(BR2_TOOLCHAIN_CTNG),y) include toolchain/toolchain-crosstool-ng.mk endif This patch adds a check for the version of make very early in the Makefile, so that old make versions are handled gracefully. [Peter: simplify check] Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09dependencies: move from toolchain/ to support/Thomas De Schampheleire
As suggested by Arnout Vandecappelle, move toolchain/dependencies to support/dependencies, as it really is not toolchain-specific anymore. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-07make release: add html/text/pdf manual and create .tar.bz2 format as wellPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-07Makefile: GENDOC_INNER: don't create subdirs for generated manualsPeter Korsgaard
The output files are generated directly in $(O)/docs/manual. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-15gcc-uclibc-4.x.mk: get rid of BR2_DEPENDS_DIRPeter Korsgaard
Now that we have dropped the make-write-deps patch. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-12Makefile: ensure CONFIG_SITE isn't setPeter Korsgaard
Fixes lib/lib64 issue when building on OpenSUSE. Reported-by: Guillaume Gardet <guillaume.gardet@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11kickoff 2012.02 development cyclePeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11Update for 2011.11-rc12011.11_rc1Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-26Makefile: build all manuals in $(O)/docs/manualPeter Korsgaard
Like Arnouts' patch originally did. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-25manual: refactor the targets into GENDOC macro.Arnout Vandecappelle (Essensium/Mind)
Also add a clean target, give absolute path to a2x, add a dependency on the output file, and add to .PHONY. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Peter: build in docs/manual/<format>, fix clean targets] Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-25manual: provide make targets to build the documentationThomas Petazzoni
Special thanks for Yann E. Morin for giving input and suggestions to implement this. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Luca Ceresoli <luca@lucaceresoli.net> Reviewed by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [Peter: skip double mention of manual target in make help] Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29package: add configuration option to specify a local override fileThomas Petazzoni
The user can now create a custom local override file to override the source directory for various packages. An example override file: ZLIB_OVERRIDE_SRCDIR = /tmp/zlib STRACE_OVERRIDE_SRCDIR = /opt/strace-4.5.20 would tell Buildroot to use the zlib and strace source code from the specified directories, instead of download, extracting and patching the code has done usually by Buildroot. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17support: move package/gnuconfig to support/gnuconfigThomas Petazzoni
The CONFIG_UPDATE macro is no longer defined in package/gnuconfig/gnuconfig.mk, but instead in package/Makefile.autotools.in. It it also changed a little bit to take the directory of the package sources as argument, and the AUTOTARGETS infrastructure is updated to use this macro. [Peter: drop echo in CONFIG_UPDATE] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17support: move kconfig stuff from package/config to support/kconfigThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17support: move scripts/ to a new support/ directoryThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-05kickoff 2011.11 development cyclePeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>