summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Update for 2015.11-rc1Thomas Petazzoni2015-11-071-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: remove .br-external on distcleanYann E. MORIN2015-11-031-1/+1
| | | | | | | | | | | | | | distclean is supposed to return the current directory, whether in-tree or out-of-tree, into pristine conditions, which means we should also forget about any br2-external tree on distclean. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* core: do not accept multiple definitions of a packageYann E. MORIN2015-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | One of the selling points for br2-external is to provide a mean to add new packages. However, it is not supported that a package be defined by Buildroot and then redefined in a br2-external tree. This situation may occur without the user noticing or even willing to redefine the package, for example: - br2-external is first created against a version of Buildroot - a package (missing in Buildroot) is added to that br2-external tree - upstream Buildroot adds this package - user updates to the new Buildroot In this case, the result in undefined, and we can't make any guarantee on the result (working or not). Add a sanity check so that a package redefinition gets caught. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: Remove 'quiet' variableCédric Marie2015-10-291-3/+1
| | | | | | | | | | | | | | | | | 'quiet' variable is set and exported, but it is not used. We can safely remove it. This variable is inherited from the Makefile of the Linux kernel, and is not used in Buildroot. In support/scripts/mkmakefile, 'quiet' value is checked, but the test is always true ('quiet' is never set to silent_), so the test can be removed as well. Signed-off-by: Cédric Marie <cedric.marie@openmailbox.org> Reviewed-by: "James Knight" <james.d.knight@live.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* ccache: allow for BR2_CCACHE_DIR environment overrideGustavo Zacarias2015-10-171-2/+4
| | | | | | | | | | | | | Allow the BR2_CCACHE_DIR .config option to be overriden by the BR2_CCACHE_DIR env variable. This is useful for big projects where in some cases the developers home directory might be a NFS mount (slow) and real production builds aren't. Update documentation accordingly as well. Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: implement a graph-size targetThomas Petazzoni2015-10-171-0/+8
| | | | | | | | | | | This commit implements a graph-size target that calls the script of the same name to generate the graph and CSV files related to package and file sizes. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain-wrapper: support change of BR2_CCACHEArnout Vandecappelle2015-10-041-0/+2
| | | | | | | | | | | | | | | | | | By moving the ccache call to the toolchain wrapper, the following scenario no longer works: make foo-dirclean all BR2_CCACHE= That's a sometimes useful call to check if some failure is perhaps caused by ccache. We can enable this scenario again by exporting BR_NO_CCACHE when BR2_CCACHE is not set, and by handling this in the toolchain wrapper. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* legal-info: allow to declare the actual sources for binary packagesLuca Ceresoli2015-10-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FOO_SITE/FOO_SOURCE variables usually point to a tarball containing source code. For the downloaded external toolchains this is not true, the "source" tarball actually contains binaries. This is fine for making Buildroot work, but for legal-info we really want to ship real source code, not binaries. Luckily, some (hopefully all) toolchain vendors publish a downloadable tarball containing the source code counterpart for their binary packages. Here we allow the user to declare the URL of this other tarball in the pair of variables FOO_ACTUAL_SOURCE_TARBALL (by default equal to FOO_SOURCE) and FOO_ACTUAL_SOURCE_SITE (by default equal to FOO_SITE). If the "actual source" package can be downloaded from the same directory as the binary package, then only FOO_ACTUAL_SOURCE_TARBALL needs to be set. Note this change is not strictly toolchain-specific: it might be useful for other packages that happen to ship binaries in the same way. [Thomas: - remove "the source code has not been saved" warning that could never be triggered due to how the conditions were organized. Discussed with Luca live during the meeting.] Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* target-finalize: remove extra /usr/libexec/{*.a,*.la} filesHerve Codina2015-09-191-2/+2
| | | | | | | | | | | | | | | Some packages, sudo for instance, install .a and .la files in $(TARGET_DIR)/usr/libexec. These files are not needed on target. This patch refactors the existing "find" invocations in target-finalize into a single one removing all .a and .la files from lib, usr/lib and usr/libexec. [Thomas: rework to use a single "find" invocation, and adjusted the commit log accordingly.] Signed-off-by: Herve Codina <Herve.CODINA@celad.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* make help: remove <pkg>-legal-infoLuca Ceresoli2015-09-041-1/+0
| | | | | | | | | | | | | | The <pkg>-legal-info target is only a component of the top-level legal-info target, it is not meant to be used alone. For example, calling twice 'make busybox-legal-info' produces duplicate entries in licenses.txt and manifest.csv. Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Kickoff 2015.11 cyclePeter Korsgaard2015-09-011-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.08Peter Korsgaard2015-08-311-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.08-rc2Thomas Petazzoni2015-08-241-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Update for 2015.08-rc1Thomas Petazzoni2015-08-051-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: unexport OGuido Martínez2015-07-261-0/+1
| | | | | | | | | | | | | | | | | | | After bee5745ccc2 ("Makefile: don't depend on the umask"), any use of "make O=<dir>" would leak $O into the enviroment for submakes, and it's inherited by package makefiles. Some package makefiles have protections to make sure they don't use the value of $O if it comes from the enviroment (Linux), but some don't (uClibc). This caused build failures when using a different output dir. Fix this by unconditionally unexporting the O variable, since we never need to have it set in the environment for packages, it should be only internally used by BR. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: fix performance regression caused by the umask handlingGuido Martínez2015-07-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | Commit bee5745c introduced an extra level of 'make' when the umask is different from 0022. However, when several targets were specified on the command line, a new make instance would be called for each target. This introduces a huge performance overhead when many targets are specified on the command line. To fix this, use the same approach as used in the mkmakefile script: an addition target on which the MAKECMDGOALS depend, so that this target is run only once. Note that the mkmakefile script contains a special exception for Makefile, because the Makefile in the output directory is generated. Since the top-level Makefile is not generated, this exception is not needed here. While we're at it, also fix the whitespace in the UMASK assignment. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [yann.morin.1998@free.fr: aggregate patches from Arnout and Guido] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* release: remove manual build files from release tarballsThomas De Schampheleire2015-07-171-0/+1
| | | | | | | | | | | | | | | | | | | The Buildroot release tarballs inadvertently contain a build/docs directory, containing the manual sources, the generated lists, and manual.text and manual.pdf (but excluding manual.html). This directory is populated as $(BUILD_DIR) (==$(O)/build), while O is set explicitly from the release target to a subdirectory buildroot-xxxx.yy-git/ which was populated with 'git archive'. Since the generated manuals are available in docs/manual, which is also referred to from the README, the build directory is not needed and should be removed from the release tarball. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: save MAKE_VERSIONGustavo Zacarias2015-07-141-2/+5
| | | | | | | | | | | Save MAKE_VERSION as RUNNING_MAKE_VERSION since this is later clobbered by the make package. It will be used by the webkitgtk24 package to check for older make versions which have a bug building it with parallel jobs (it hangs). Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* skeleton: New packageMaxime Hadjinlian2015-07-141-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a proper package for the skeleton. The main Makefile is modified to remove the skeleton support. The 'dirs' target, will create the $(TARGET_DIR). The file 'output/target/.root' doesn't exists anymore, as there's no Make rule to statisfy. The infrastructure are modified to filter host-skeleton. It's needed becauses the host-dependencies are derived from the dependencies of the target package where 'host-' is preprended to the depedency name. In the pkg-generic we add skeleton as a dependency to every package. The whole system/system.mk is now removed at the profit of package/skeleton/skeleton.mk [Thomas: - rebase on top of master and fix some minor conflicts - remove the 'select BR2_PACKAGE_SKELETON' in BR2_ROOTFS_SKELETON_DEFAULT and BR2_ROOTFS_SKELETON_CUSTOM, since anyway the skeleton package is always enabled. - fixup a few mistakes in the getty handling due to misnamed variables.] Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* purge-locales: fix handling of X11 locale.dirValentine Barshak2015-07-141-0/+15
| | | | | | | | | | | | | | The /usr/share/X11/locale/locale.dir file is needed by libX11. Removing it breaks locale support in X11. However, make removes not only directories but also all files, which are not listed in the BR2_ENABLE_LOCALE_WHITELIST. This re-creates locale.dir database file where needed. Signed-off-by: Valentine Barshak <gvaxon@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Arnout: use a separate loop, and add some explanatory comments] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* purge-locales: further refactoring after removing man pathsArnout Vandecappelle2015-07-141-2/+2
| | | | | | | | | Since the man paths have been removed, it is no longer necessary to grep them out and the loop can be simplified. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* purge-locales: skip /usr/man and /usr/share/manArnout Vandecappelle2015-07-131-1/+1
| | | | | | | | | These directories are going to be removed anyway, so no point purging their locales. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: don't depend on current skeleton/overlay permissionsGuido Martínez2015-07-131-2/+2
| | | | | | | | | | | | | | | | We use 'rsync -a' to copy the skeleton and overlays, so the target ends up with the exact same permissions as on the repo. The problem is we don't track these permissions, since Git doesn't allow for that (except for the exec bit). This means users with different umasks at the time of cloning could end up with different target permissions. Fix this by using --chmod on rsync calls so we don't depend on the current permission set for the skeleton and overlays. We do depend on the exec bit, but that's fine since that one is tracked by Git. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: don't depend on the umaskGuido Martínez2015-07-131-0/+15
| | | | | | | | | | | | | | | | Some packages and BR itself create files and directories on the target with cp/mkdir/etc which depend on the umask at the time of building. To fix this, use a trick inside the Makefile which wraps all rules when the umask is not 0022. This sets the umask at the top level, and then the building process continues as usual. [Thomas: add --no-print-directory, as suggested by Arnout.] Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: Remove shell completion at finalize stageMaxime Hadjinlian2015-07-121-0/+6
| | | | | | | | | | | | Instead of doing a removal of the completion file package per package, do it all at the finalize stage so it's done once and for all. Note: This fixes an issue with systemd where passing a --bashcompletiondir or --zshcompletiondir would be evaluated to '.' by the autotools macro. This would create a 'target./' directory. Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* aarch64: add big endian(aarch64_be) supportBamvor Jian Zhang2015-07-121-1/+1
| | | | | | | | | Add aarch64_be support. Note that CONFIG_CPU_BIG_ENDIAN should be defined in kernel config when building a big endian kernel. Signed-off-by: Zhang Jian(Bamvor) <bamvor.zhangjian@huawei.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* packages: fix and improve support for top-level parallel makeFabio Porcedda2015-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The boost and jack2 packages fail to build when PARALLEL_JOBS is empty so instead of using an empty PARALLEL_JOBS don't use it in the MAKE variable when top-level parallel make is being used. To simplify the use of top-level parallel make, check the MAKEFLAGS variable to know automatically if the -j option is being used, also use the "=" operator instead of the ":=" operator because the MAKEFLAGS variable can be checked only in a "recursively expanded variable". The "override" keyword must be used in order to change the automatic variable "MAKE". When the top-parallel make is being used the sub-make are called without specifying the "-j" option in order to let GNU make share the job slots specified in the top make. This is done because GNU make is able to share the job slots available between each instance of make so if you want to increase the number of jobs you just need to increase the <jobs> value in the top make -j<jobs> command. If we specify the -j<jobs> option in each instance of make, it is less efficient, e.g. in a processor with 8 cores we specify -j9 in each instance: the number of processes goes up to 81 because each sub-make can execute 9 processes. The excessive number of processes is not a good thing because in my tests even -j16 is slower than -j9. Instead if we don't specify the -j<jobs> option in the sub-make, the top make share the job slots automatically between each instance, so the number of process in this examples goes up to 9 that is faster than using up to 81 processes. e.g. when the -j3 option is specified only in the top make: possible state n. 1: process 1 - <packagea>-build process 2 - <packagea>-build process 3 - <packagea>-build possible state n. 2: process 1 - <packagea>-extract process 2 - <packageb>-configure process 3 - <packagec>-build possible state n. 3: process 1 - <packagea>-build make -j1 process 2 - <packageb>-build make -j1 process 3 - <packagec>-build make -j1 Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: Don't export VERBOSE unless V=1 (for CMake)Cédric Marie2015-06-251-1/+2
| | | | | | | | | | | | | | | | | | | | CMake verbose mode is based on VERBOSE environment variable. * If VERBOSE is exported but empty, only "Dependee ... is newer than depender ..." messages are shown. * If VERBOSE is exported and set (whatever the value), all compilation commands are shown. VERBOSE is currently systematically exported by Buildroot, even if it is empty, in the root Makefile, which implies that the "light" verbose mode - with "Dependee ... is newer than depender ..." messages - is always enabled. VERBOSE should only be exported when V=1, which is the standard way to enable verbose mode in Buildroot. Signed-off-by: Cédric Marie <cedric.marie@openmailbox.org> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* savedefconfig: Remove BR2_DEFCONFIG from saved defconfig fileHerve Codina2015-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | BR2_DEFCONFIG should not be present in saved defconfig file. The use case is: make qemu_arm_versatile make savedefconfig BR2_DEFCONFIG=my_custom_defconfig BR2_DEFCONFIG is set in my_custom_defconfig with an absolute path to qemu_arm_versatile (value present in .config) and set in my_custom_defconfig as it is different from default mentioned in config.in (default is BR2_DEFCONFIG from environment). On savedefconfig recipe, simply remove BR2_DEFCONFIG from generated file [Peter: fixup typos and use SED as noted by Arnout] Signed-off-by: Herve Codina <Herve.CODINA@celad.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Kickoff 2015.08 cyclePeter Korsgaard2015-06-011-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.05Peter Korsgaard2015-05-311-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.05-rc3Peter Korsgaard2015-05-221-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.05-rc2Peter Korsgaard2015-05-111-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: Handle whitespace when stripping .koerico.nunes2015-05-101-2/+2
| | | | | | | | | | | | | | | | | It is possible to end up with a path containing spaces if the kernel localversion contains spaces. Be it good practice or not, there are third party vendors which distribute kernel configuration files for reference platforms which have quoted strings containing whitespaces in the localversion. There was already a fix to handle paths with whitespaces or other special characters when running strip, which consists of using the find -print0 and xargs -0 pair of arguments, but the kernel module stripping wasn't included in the fix. This commit includes the same fix to the kernel module stripping line. Signed-off-by: Erico Nunes <erico.nunes@datacom.ind.br> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Update for 2015.05-rc1Peter Korsgaard2015-05-041-1/+1
| | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: add a few more targets to nobuild_targetsThomas Petazzoni2015-04-261-1/+3
| | | | | | | | | | | | | | | | With this commit, one can now execute the source-check, external-deps and legal-info targets regardless of the checks normally being done by packages on the configuration. Note that we intentionally do not go down the road of adding %-source, %-legal-info, and the miryad of other targets that could work in such situations. We only whitelist a few targets that are really useful to have as nobuild_targets. [Thomas: also add 'clean' and 'distclean' to the nobuild_targets, as suggested by Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: add BR_BUILDING variableThomas Petazzoni2015-04-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some packages do some sanity checks on their configuration, for example linux checks that the defconfig string is not empty when a defconfig is used. Such checks are currently always performed, except when the 'source' target is part of make goals. This is problematic for two reasons: - Other targets such as 'source-check', 'external-deps' or 'legal-info', that do not consist in doing a build, cannot be executed in such situations. - The current code removes the check as soon as one of the targets is source. But if there are other non-source targets called at the same time, the checks are ignored. This commit therefore introduces an internal variable called BR_BUILDING, which tells packages if we are actually building or not. A variable nobuild_targets indicates the targets that we do not consider as being build targets. For the moment, nobuild_targets only contains 'source', to be completely iso-functional. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Makefile: remove unneeded variablesThomas Petazzoni2015-04-261-21/+0
| | | | | | | | | | | | | | | | Now that all the external-deps, source-check and source targets are properly implemented based on the package infrastructure, the PACKAGES_SOURCE, TARGET_HOST_DEPS, HOST_DEPS and HOST_SOURCE variables are no longer needed. This is a good thing since they were anyway incorrect, as they were only doing a two level recursion in the dependencies of host packages. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [tested with a randpackageconfig]
* Makefile: implement the 'source' target using the package infrastructureThomas Petazzoni2015-04-261-1/+1
| | | | | | | | | | | | | Now that all the bits are in place, switch the global 'source' target to use the package infrastructure logic. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [with 'make source' (actually together with the next patch).] Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> [tested with a randpackageconfig]
* Makefile: implement a package based source-check targetThomas Petazzoni2015-04-261-2/+1
| | | | | | | | | | | This commit switches the implementation of the global source-check target to use a package infrastructure based mechanism, using the $(1)-all-source-check target added in the previous commit. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* Makefile: move source-check outside of noconfig_targetsThomas Petazzoni2015-04-261-6/+6
| | | | | | | | | | | | | | | | | make source-check is here to check whether the remote sources for the current selection of packages are still available. In its current implementation, since it simply calls recursively a sub-make with the source target, it can be a noconfig_targets. However, a follow-up change will make source-check not use a sub-make, which will require it to no longer be a noconfig_targets. Therefore, as a preparation, this commit moves source-check outside of noconfig_targets. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* Makefile: use the package infra based external-depsThomas Petazzoni2015-04-261-1/+2
| | | | | | | | | | This commit changes the global 'external-deps' target to use the newly introduced per-package <pkg>-all-external-deps, instead of relying on the 'source' target with a custom DL_MODE. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Makefile: add list-defconfig to the general helpYann E. MORIN2015-04-241-0/+1
| | | | | | | | | | | | | When listing defconfig files was moved to its own make target, it was not added to the general help text. However, this is a very important topic, so list it. [Peter: drop ':' character] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* Makefile: fix typo in a commentLuca Ceresoli2015-04-221-1/+1
| | | | | Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* target-finalize: fix calling ldconfigYann E. MORIN2015-04-181-2/+4
| | | | | | | | | | | | | | | On some systems (e.g. Fedora 20), the build breaks when parsing include directives in our /etc/ld.so.conf, with error messages as thus: /sbin/ldconfig: need absolute file name for configuration file when using -r So, enforce the path to the ld.so.conf file to point to our own, in the target/ directory. Reported-by: Al West <al.west@v-nova.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: remove redundant mkdir from *configArnout Vandecappelle2015-04-181-18/+0
| | | | | | | | | | The first dependency of these targets is $(BUILD_DIR)/buildroot-config/*conf so the $(BUILD_DIR)/buildroot-config directory certainly exists. Reported-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: simplify show-targetsThomas Petazzoni2015-04-141-1/+1
| | | | | | | | | | | | | | | | show-targets is only used currently by the graph-depends script, which already recurses into the dependencies of the selected packages to build the dependency graph. Therefore, dumping the contents of $(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and $(TARGET_HOST_DEPS) will contain packages that are dependencies of packages already listed in $(PACKAGES), which graph-depends will discover by itself. This allows to remove one more usage of $(HOST_DEPS) and $(TARGET_HOST_DEPS), which is one more step towards their removal. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Makefile: use <pkg>-all-legal-info to implement the legal-info targetThomas Petazzoni2015-04-141-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the implementation of the global 'legal-info' target to use the newly introduced per-package <pkg>-all-legal-info target. This allows to avoid using the $(TARGET_HOST_DEPS) and $(HOST_DEPS) variables that we are trying to remove. It is worth mentionning that this commit might change the output of 'make legal-info' by making it more correct than it was. With the existing implementations, we could be missing packages if they were host packages, or target packages not properly selected in terms of Config.in dependencies, and with a more than a two-level deep dependency from a target package properly selected at the Config.in level. This is because our previous logic was simply taking all packages in the "TARGETS" (now called "PACKAGES") variable, which are only the target packages explicitly selected in the .config file, and doing a two-level deep recursion in the dependencies. With this commit, we switch legal-info to use proper make-based dependencies, so we no longer have the limitations we used to have. For this reason, the output of 'make legal-info' after this patch may contain *more* entries than before this patch, but it is really because it is now correct. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Makefile: rename TARGETS to PACKAGESThomas Petazzoni2015-04-141-11/+11
| | | | | | | | | | For clarity, this commit renames the TARGETS variable to the more meaningful PACKAGES variable. Indeed, only packages (handled by one of the package infrastructures) should be listed in this variable, and not other random non-package targets. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
* Makefile: targets are now declared phony by the appropriate infrastructuresThomas Petazzoni2015-04-141-4/+1
| | | | | | | | | | | | | | The main Makefile was declaring a subset of the per-package targets as being PHONY, but not all of them. Now that the pkg-generic package infrastructure is taking care of that in a much more systematic fashion, this commit gets rid of the unneeded code from the main Makefile. [Thomas: re-add list-defconfigs to the list of PHONY targets, as noticed by Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
OpenPOWER on IntegriCloud