summaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: generate a Makefile wrapper in $(O)Yann E. MORIN2010-09-261-17/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | If building out-of-tree, add a Makefile wrapper that calls-out to the real Makefile with proper args. Avoids having to pass -C and O= every time we call make. This is highly inspired from how the Linux kernel does it, and portions of it have been used. We can't use exactly the same implementation as the kernel does, because: - the script writing the wrapper has been expunged of the few lines that were too kernel-related: in buildroot we do not need the version string in the wrapper, and we do not have a patchlevel version; - "in-tree build" does not have the same meaning for the kernel and for buildroot: for the kernel, $(O) point to the $(TOPDIR), while for buildroot $(O) points to $(TOPDIR)/output. For more complete explanations, see: http://lists.busybox.net/pipermail/buildroot/2010-September/037815.html [Peter: minor tweaks] Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Re-implement the source-check and external-deps targetsMaxime Petazzoni2010-09-131-11/+2
| | | | | | | | | | | | | | | The new DL_MODE variable dispatches between the various download implementations of each method (Git, Subversion, Wget) to deal with the normal download (default mode, 'DOWNLOAD'), the source-check ('SOURCE_CHECK') and to show the external dependencies for external-deps ('SHOW_EXTERNAL_DEPS'). For the latter, the legacy script wget-show-external-deps.sh is no longer required as $(WGET) isn't called directly anymore but always through the DOWNLOAD helper. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Cleanup the VCS commands configurationMaxime Petazzoni2010-09-131-4/+2
| | | | | | | | | It's not really necessary to differenciate the commands for checking out or updating a repository. Only the path to the binary and eventual top-level flags are useful to configure. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Remove the spider featureMaxime Petazzoni2010-09-131-4/+3
| | | | | | | | | | In preparation for the re-work of the DOWNLOAD helper to support multiple download methods and protocols, the spider feature used with wget is removed for now until it is re-implemented on top of the new download methods. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Merge branch 'for-2010.11/kconfig-upgrade' of ↵Peter Korsgaard2010-09-021-55/+49
|\ | | | | | | git://git.busybox.net/~tpetazzoni/git/buildroot
| * Ensure that all config-related files are generated before the buildThomas Petazzoni2010-09-011-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit has removed calls to conf_write_autoconf(), which is the function that generates the KCONFIG_AUTOCONF, KCONFIG_AUTOHEADER, KCONFIG_TRISTATE files and the split config (with one file per config item). Therefore, those things were not generated anymore before the build. In order to get them generated before the build, we use the same mechanism as the kernel: run a silentoldconfig when the .config file is newer than the KCONFIG_AUTOCONF file. In Buildroot, all those elements are not really used today, except the split config which is used a little bit in the toolchain build, in a try to make sure the toolchain gets rebuilt properly when the configuration changes. It does not seem that this work has been completed. However, as we want to keep the same behaviour as previously, we have to generate all those elements before starting the build. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Add support for savedefconfigThomas Petazzoni2010-09-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | savedefconfig allows to create a minimal defconfig file from an existing configuration. For example : make O=/path/to/some/buildroot/build/directory savedefconfig will generate a minimal 'defconfig' file in the main Buildroot source directory. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Factorize environment variables for config utilitiesThomas Petazzoni2010-09-011-43/+23
| | | | | | | | | | | | | | | | | | | | | | Instead of duplicating the definition of KCONFIG_AUTOCONFIG, KCONFIG_AUTOHEADER and BUILDROOT_CONFIG, let's define them in a COMMON_CONFIG_ENV variable, which is used by all the xconfig, gconfig, menuconfig, nconfig, config, oldconfig, randconfig, allyesconfig, allnoconfig, randpackageconfig, allyespackageconfig, allnopackageconfig, defconfig, %_defconfig targets. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Makefile: use long options names for the 'conf' utilityThomas Petazzoni2010-09-011-9/+9
| | | | | | | | | | | | | | | | | | The short option names have been removed as they were starting to cause too much confusion. See http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4062f1a4c030157216dc8932e27131975cf7253c for details. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Add support for the new nconf configuration toolThomas Petazzoni2010-09-011-1/+9
| | | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Clean up our patches against kconfigThomas Petazzoni2010-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our kconfig-to-buildroot2.patch hasn't been kept up to date with all the changes made into package/config, and a single patch wasn't very practical to maintain all our changes. Therefore, this commit adds a package/config/patches directory, which contains a Quilt series of patches that correspond to our modifications to the kconfig mechanism. The huge kconfig-to-buildroot2.patch has been split into 16 smaller patches. The purpose of some of the modifications has been clearly identified, while some others were not identified. The 16 patches together do match exactly the old kconfig-to-buildroot2.patch. We have been very careful in making sure that we wouldn't loose any of our modifications. The only modifications made are : * Instead of renaming the kernel Makefile to Makefile.kconfig and naming the Buildroot Makefile just 'Makefile', we instead keep the original package/config/Makefile from the kernel scripts/kconfig/Makefile and name the Buildroot Makefile package/config/Makefile.br. The main Buildroot Makefile is modified accordingly. * The documentation README.buildroot2 is updated to explain how to upgrade to a newer version of scripts/kconfig. * The kconfig-language.txt documentation is removed, as anybody can easily find it in the kernel sources so there's no need to duplicate it here. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Implement %_defconfig similarly to the kernelThomas Petazzoni2010-09-011-5/+7
| | | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Remove CONFIG_DEFCONFIGThomas Petazzoni2010-09-011-5/+0
| | | | | | | | | | | | | | | | There's no need to have a .defconfig, when you run make menuconfig, make xconfig or anything else for the first time, it will just start with the default configuration anyway. This is what the kernel does. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | Fix ldconfig call in target-finalizeThomas Petazzoni2010-08-301-3/+7
|/ | | | | | | | | | | | | | | | | Recent versions of ldconfig require the directory /var/lib/ldconfig, otherwise they bail out with an error. Moreover, having a /etc/ld.so.conf file also avoids a warning. In addition to this, we remove the redirection of stderr, so that errors remain visible to the user. Thanks to Baruch Siach, Andy Gibbs and Darcy Watkins for investigating the issue and proposing solutions. This fixes the build on recent distributions such as Fedora 13 or Gentoo. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: fix source/source-check/external-deps with O=Peter Korsgaard2010-08-291-8/+6
| | | | | | | | | | | | | | Based on patch by Will Wagner <will_wagner@carallon.com>. Now that the .config is located in the output directory when O=<dir> is used, we have to pass the O= option to make for source/source-check/external-deps to get them to look in the right place for the .config. Fix it by introducing an EXTRAMAKEARGS variable and use it whenever we call back into the toplevel Makefile. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove gdb plugins from targetMalte Starostik2010-07-301-0/+3
| | | | | | | * Don't install gdb plugins unless BR2_TARGET_GDB is set Signed-off-by: Malte Starostik <m-starostik@versanet.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Globally remove aclocal directories from targetMalte Starostik2010-07-301-1/+1
| | | | | | | | | | * Remove $(TARGET_DIR)/usr/share/aclocal from target-finalize when not installing devfiles and * Remove some (now) redundant cleanup from individual packages Signed-off-by: Malte Starostik <m-starostik@versanet.de> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: move makefile includesYann E. MORIN2010-07-281-14/+2
| | | | | | | | | | | | | | | | | | | Including a bunch of Makefiles with wildcard makes it impossible to add new toolchain backends. Avoid that by namely including needed files. The external toolchain still needs to include all the toolchain/*/*.mk sub-makefiles, as they are needed to build a toolchain that runs on the target. It is to be noted that the cross-toolchain is not built in this case, as the make-targets to build the cross-toolchain are not present in the $(BASE_TARGETS) variable, which is later used to create the dependency rules. Also, the comment 'Explicit ordering' has been removed, as it is mis- leading. It is make's responsibility to create the proper ordering based on the dependency rules it finds in the Makefiles Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: move helper functions from external toolchainYann E. MORIN2010-07-281-0/+1
| | | | | | | | | The helper functions used for external toolchains may also be useful to alternate toolchain backends (currently, the external toolchain is the sole user). Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: fix ldconfig selection for internal toolchainsPeter Korsgaard2010-07-261-2/+6
| | | | | | | | | | | | Commit ed0d45fdd (Choose host/target ldconfig based on availability) added a runtime check for a cross-ldconfig being available. Unfortunately this checks runs too early (at package/Makefile.in parsing time), so it always fails when using an internal toolchain as ldconfig isn't built yet. Fix it by moving the check to the only place it is used (target-finalize). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix default skeleton pathMalte Starostik2010-07-191-1/+1
| | | | | Signed-off-by: Malte Starostik <m-starostik@versanet.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs: add option to define path to custom rootfs skeletonDmytro Milinevskyy2010-07-181-0/+4
| | | | | | Signed-off-by: Dmytro Milinevskyy <milinevskyy@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* move default skeleton to fs/ and drop busybox skeletonDmytro Milinevskyy2010-07-181-0/+1
| | | | | | | [Peter: fixup patch, adjust for busybox.mk changes] Signed-off-by: Dmytro Milinevskyy <milinevskyy@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Introduce support for host config cacheThomas Petazzoni2010-07-071-4/+4
| | | | | | | | | We now have for quite some time a configuration cache used to speed-up the execution of ./configure scripts when compiling programs for the target. This commit introduces a similar concept when Buildroot compiles programs for the host. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: fixup make distclean after kconfig build in BUILD_DIRPeter Korsgaard2010-07-011-1/+0
| | | | | | | | | We don't actually need to explicitly clean the kconfig stuff, as distclean already removes the entire BUILD_DIR, but fix up the packag/config makefile to do the right thing if make clean/distclean is called manually for completeness. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix: convert leftover $(CONFIG)/conf to $(BUILD_DIR)/buildroot-config/confDaniel Hobi2010-06-291-7/+7
| | | | | Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove old Linux infrastructureThomas Petazzoni2010-06-221-4/+0
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* New, simpler, infrastructure for building the Linux kernelThomas Petazzoni2010-06-221-0/+1
| | | | | | | | | | | | | | | | | | This patch introduces a single, simple, infrastructure to build the Linux kernel. The configuration is limited to : * Kernel version: a fixed recent stable version, same as kernel headers version (for internal toolchains only), custom stable version, or custom tarball URL * Kernel patch: either a local file, directory or an URL * Kernel configuration: either the name of a defconfig or the location of a custom configuration file * Kernel image: either uImage, bzImage, zImage or vmlinux. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* kconfig: build in BUILD_DIR/buildroot-configPeter Korsgaard2010-06-211-20/+21
| | | | | | | This way the main buildroot dir can be completely read-only for out-of-tree builds Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: fix make <blah>_defconfigPeter Korsgaard2010-06-211-1/+5
| | | | | | | | | | | | Make sure we only pass O=<path> if we were originally called like that, otherwise we might end up looking for the .config in the wrong place. Likewise, when changing between using O= or not (or simply running make <blah>_defconfig in a pristine source tree), we do end up having a .config, but no .config.cmd. It isn't really critical so just continue even if we couldn't read it. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Move config files into output directory for out-of-tree buildWill Wagner2010-06-211-101/+103
| | | | | | | Closes #1213 Signed-off-by: Will Wagner <will_wagner@carallon.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: remove gcc 4.1.2 and non-sysroot supportPeter Korsgaard2010-06-151-10/+0
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* bootloaders: move bootloader build code to boot/Thomas Petazzoni2010-06-101-1/+2
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: support gconfig (GTK-based configurator) similar to xconfigPeter Korsgaard2010-06-051-1/+10
| | | | | | | Support the GTK variant of the graphical kconfig configurator as an alternative to the Qt3-based one. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: cleanup *conf targetsPeter Korsgaard2010-06-051-18/+4
| | | | | | | The make targets for the kconfig conf/mconf/qconf are almost identical, so us a single rule for it. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Merge branch 'graph-dependencies' of ↵Peter Korsgaard2010-05-271-0/+3
|\ | | | | | | git://git.busybox.net/~tpetazzoni/git/buildroot
| * Add a show-targets targetThomas Petazzoni2010-05-211-0/+3
| | | | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | Makefile: move filesystem stuff after u-boot build againPeter Korsgaard2010-05-211-2/+0
|/ | | | | | | | | | Otherwise u-boot tools / kernel modules are only added to target AFTER the filesystems are built. Long term u-boot/kernel stuff should get splitted from target/device, but this is the safest solution for now. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: make GNU_HOST_NAME a simply expanded variable (:=)Peter Korsgaard2010-05-061-1/+1
| | | | | | | | | GNU_HOST_NAME is referred more than 100 times in the tree, used 5 times during startup, and is relatively expensive to run - so make it a simple expanded variable (:=) rather than recursively expanded one (=). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove gtk-doc documentations from targetPaulius Zaleckas2010-05-051-0/+1
| | | | | | | | | | | | | On my target rootfs it is installed documentation for: atk, cairo, gdk, gdk-pixbuf, gio, glib, gobject, gtk, pango It ocupies 34M of space. Configure option --disable-gtk-doc doesn't prevent installation of it. So we should remove them manually if documentation is disabled. [Peter: also remove manual rm's from hal/libxml2/libglade] Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove BR2_GNU_TARGET_SUFFIX and compute GNU_TARGET_NAMEThomas Petazzoni2010-05-031-0/+1
| | | | | | | | Instead of asking the user about the GNU target suffix, just compute it automatically from the other configuration options. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Commonalize the definition of TOOLCHAIN_DIRThomas Petazzoni2010-05-031-0/+1
| | | | | | | | | The definition of TOOLCHAIN_DIR is the same regardless of whether external or internal toolchains are used. Moreover, move its definition together with all the other *_DIR definitions. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Get rid of unused variablesThomas Petazzoni2010-04-111-7/+0
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Guess build system and remove BR2_GNU_BUILD_SUFFIXThomas Petazzoni2010-04-111-4/+6
| | | | | | | Instead of having a configuration option BR2_GNU_BUILD_SUFFIX, let's use config.guess to guess the build system type. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Remove all documentation when BR2_HAVE_DOCUMENTATION is not setThomas Petazzoni2010-04-111-3/+2
| | | | | | | | | | | | Until now, we had BR2_HAVE_MANPAGES, BR2_HAVE_INFOPAGES and BR2_HAVE_DOCUMENTATION, but there's no need to have such a fine-grained control over what documentation gets kept or not. Therefore, just remove all the documentation (man pages, info pages and documentation in $(TARGET_DIR)/usr/doc and $(TARGET_DIR)/usr/share/doc) when BR2_HAVE_DOCUMENTATION is not set. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Move all filesystem generation code to fs/Thomas Petazzoni2010-04-091-0/+2
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile: out-of-tree fix for uclibc 0.9.31Peter Korsgaard2010-04-051-0/+6
| | | | | | | | | | Strangely enough O is still passed to submakes with MAKEOVERRIDES (with make 3.81 atleast), the only thing that changes is the output of the origin function (command line -> environment). Unfortunately some packages don't look at origin (E.G. uClibc 0.9.31+) To really make O go away, we have to override it. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: prepare for more than two alternativesYann E. MORIN2010-03-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Lay down the path to add more than two toolchain kinds: - check the type of toolchain as: ifeq (toolchain_buildroot,y) blabla buildroot-specific else ifeq (toolchain_external,y) blabla external-specific endif - prefer using positive checks, a-la: ifeq (foo,y) instead of: ifneq (bar,y) (where foo and bar are mutually exclusive) - have the toolchain_buildroot case always appear first - gettext is handled differently, because we want to add an option only if not using the buildroot toolchain, hence we use ifneq. Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Acked-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* buildroot: we're in 2010 nowPeter Korsgaard2010-02-241-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Create $(STAGING_DIR)/usr/bin unconditionnallyThomas Petazzoni2010-02-091-0/+1
| | | | | | | This fixes the build of libcap, with external toolchain, when it is the first package being built. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>