summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Merge branch 'next'Peter Korsgaard2012-03-011-3/+11
|\
| * Makefile: move cmake toolchain file to $HOST_DIR/usr/share/buildrootPeter Korsgaard2012-02-251-2/+3
| | | | | | | | | | | | To make it part of the SDK installation. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
| * Print a message before executing the post-build scriptLuca Ceresoli2012-02-191-0/+1
| | | | | | | | | | | | 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>
| * Makefile: use /etc/os-release for version info rather than /etc/br-versionPeter Korsgaard2012-02-141-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /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>
* | Update copyright yearPeter Korsgaard2012-03-011-1/+1
| | | | | | | | | | | | We're in 2012 by now. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* | kickoff 2012.05 development cyclePeter Korsgaard2012-03-011-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* | Update for 2012.022012.02Peter Korsgaard2012-02-291-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* | Update for 2012.02-rc32012.02_rc3Peter Korsgaard2012-02-271-1/+1
| | | | | | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* | Update for 2012.02-rc22012.02_rc2Peter Korsgaard2012-02-191-1/+1
|/ | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2012.02-rc12012.02_rc1Peter Korsgaard2012-02-121-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: fix old make check thinkoPeter Korsgaard2012-02-091-1/+1
| | | | | | So it doesn't fail with 3.81. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: change order of dirs and dependenciesThomas De Schampheleire2012-02-091-1/+1
| | | | | | | | | | | | 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>
* dependencies: check minimal make version early onThomas De Schampheleire2012-02-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* dependencies: move from toolchain/ to support/Thomas De Schampheleire2012-02-091-0/+2
| | | | | | | | | | 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>
* make release: add html/text/pdf manual and create .tar.bz2 format as wellPeter Korsgaard2012-02-071-1/+8
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: GENDOC_INNER: don't create subdirs for generated manualsPeter Korsgaard2012-02-071-1/+1
| | | | | | The output files are generated directly in $(O)/docs/manual. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc-uclibc-4.x.mk: get rid of BR2_DEPENDS_DIRPeter Korsgaard2012-01-151-4/+2
| | | | | | Now that we have dropped the make-write-deps patch. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: ensure CONFIG_SITE isn't setPeter Korsgaard2011-12-121-0/+1
| | | | | | | Fixes lib/lib64 issue when building on OpenSUSE. Reported-by: Guillaume Gardet <guillaume.gardet@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kickoff 2012.02 development cyclePeter Korsgaard2011-11-111-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update for 2011.11-rc12011.11_rc1Peter Korsgaard2011-11-111-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: build all manuals in $(O)/docs/manualPeter Korsgaard2011-10-261-8/+4
| | | | | | Like Arnouts' patch originally did. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* manual: refactor the targets into GENDOC macro.Arnout Vandecappelle (Essensium/Mind)2011-10-251-33/+52
| | | | | | | | | 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>
* manual: provide make targets to build the documentationThomas Petazzoni2011-10-251-1/+43
| | | | | | | | | | | | 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>
* package: add configuration option to specify a local override fileThomas Petazzoni2011-09-291-0/+7
| | | | | | | | | | | | | | | | | 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>
* support: move package/gnuconfig to support/gnuconfigThomas Petazzoni2011-09-171-1/+1
| | | | | | | | | | | | 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>
* support: move kconfig stuff from package/config to support/kconfigThomas Petazzoni2011-09-171-1/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* support: move scripts/ to a new support/ directoryThomas Petazzoni2011-09-171-3/+3
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>