Commit Graph

520 Commits

Author SHA1 Message Date
Thomas Petazzoni
26082e79af Introduce support for host config cache
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>
2010-07-07 08:14:41 +02:00
Peter Korsgaard
8e29430410 Makefile: fixup make distclean after kconfig build in BUILD_DIR
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>
2010-07-01 09:03:36 +02:00
Daniel Hobi
cf4689f8b1 Fix: convert leftover $(CONFIG)/conf to $(BUILD_DIR)/buildroot-config/conf
Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-29 23:47:49 +02:00
Thomas Petazzoni
fe1cba690a Remove old Linux infrastructure
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-22 21:20:26 +02:00
Thomas Petazzoni
487e21cff6 New, simpler, infrastructure for building the Linux kernel
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>
2010-06-22 21:20:25 +02:00
Peter Korsgaard
2cc210c92f kconfig: build in BUILD_DIR/buildroot-config
This way the main buildroot dir can be completely read-only for
out-of-tree builds

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-21 22:16:34 +02:00
Peter Korsgaard
2691d80803 Makefile: fix make <blah>_defconfig
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>
2010-06-21 22:16:34 +02:00
Will Wagner
39ca6d50d8 Move config files into output directory for out-of-tree build
Closes #1213

Signed-off-by: Will Wagner <will_wagner@carallon.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-21 22:06:00 +02:00
Peter Korsgaard
5fd095b374 toolchain: remove gcc 4.1.2 and non-sysroot support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-15 23:16:55 +02:00
Thomas Petazzoni
649b5b9250 bootloaders: move bootloader build code to boot/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-06-10 21:05:12 +02:00
Peter Korsgaard
2b42aae784 Makefile: support gconfig (GTK-based configurator) similar to xconfig
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>
2010-06-05 21:15:10 +02:00
Peter Korsgaard
35fac17ebc Makefile: cleanup *conf targets
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>
2010-06-05 21:14:59 +02:00
Peter Korsgaard
aacfa18033 Merge branch 'graph-dependencies' of git://git.busybox.net/~tpetazzoni/git/buildroot 2010-05-27 14:11:26 +02:00
Peter Korsgaard
319a4751c4 Makefile: move filesystem stuff after u-boot build again
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>
2010-05-21 16:19:11 +02:00
Thomas Petazzoni
b7d6c8ad0f Add a show-targets target
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-05-21 15:07:34 +02:00
Peter Korsgaard
c71816a8a5 Makefile: make GNU_HOST_NAME a simply expanded variable (:=)
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>
2010-05-06 20:56:25 +02:00
Paulius Zaleckas
d701a82321 Remove gtk-doc documentations from target
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>
2010-05-05 12:21:21 +02:00
Thomas Petazzoni
65e80a0b0b Remove BR2_GNU_TARGET_SUFFIX and compute GNU_TARGET_NAME
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>
2010-05-03 00:00:08 +02:00
Thomas Petazzoni
4c5bf461cd Commonalize the definition of TOOLCHAIN_DIR
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>
2010-05-03 00:00:05 +02:00
Thomas Petazzoni
72f913bb3b Get rid of unused variables
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 21:10:34 +02:00
Thomas Petazzoni
60281cbfe4 Guess build system and remove BR2_GNU_BUILD_SUFFIX
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>
2010-04-11 21:10:33 +02:00
Thomas Petazzoni
87b0637bd0 Remove all documentation when BR2_HAVE_DOCUMENTATION is not set
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>
2010-04-11 06:01:08 +02:00
Thomas Petazzoni
0585241505 Move all filesystem generation code to fs/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 11:04:36 +02:00
Peter Korsgaard
cd61ea772b Makefile: out-of-tree fix for uclibc 0.9.31
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>
2010-04-05 10:44:54 +02:00
Yann E. MORIN
26b44b2b02 toolchain: prepare for more than two alternatives
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>
2010-03-31 10:53:12 +02:00
Peter Korsgaard
eb05757510 buildroot: we're in 2010 now
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-24 09:42:30 +01:00
Thomas Petazzoni
a05c337de5 Create $(STAGING_DIR)/usr/bin unconditionnally
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>
2010-02-09 22:44:15 +01:00
Peter Korsgaard
23ddf460aa Makefile: release: use git archive
Create tarballs with git-archive so we're sure they don't contain
anything not in git (E.G. local backup configs).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-09 16:34:04 +01:00
Yann E. MORIN
4b74321195 toolchain/gdb: get rid of another legacy and unused variable
BR2_VENDOR_GDB_VERSION and VENDOR_GDB_VERSION are no longer settable.
The only user is gdb, and it's totally useless in this case.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-09 11:44:20 +01:00
Yann E. MORIN
7dd0591183 toolchain/gdb: get rid of legacy & unused variables
The BR2_VENDOR_SUFFIX and VENDOR_SUFFIX variables are no longer settable.
The only user is gdb, and is totally useless in this case.

Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-02-08 17:03:03 +01:00
Anders Darander
b9656e81a4 Remove backup-files from the TARGET_DIR.
Closes #823.

~ is commonly used as a suffix to editor backup files.
Remove these files, just as we remove CVS-directories and
.empty-files.

[Peter: tweaked to remove in same find invocation as .empty]
Signed-off-by: Anders Darander <ad@datarespons.se>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-23 11:54:25 +01:00
Thomas Petazzoni
bc994c533c Use BR2_TOOLCHAIN_BUILDROOT instead of BR2_TOOLCHAIN_SOURCE
The BR2_TOOLCHAIN_SOURCE option is removed in a future commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:47 +01:00
Peter Korsgaard
f7a501e13c Makefile: fix build if CDPATH is set in environment
Reported by Bjørn Forsman <bjorn.forsman@gmail.com>.

If CDPATH is set in the environment, cd <dir> will print the absolute path
of <dir>, causing various trouble (The most critical being BASE_DIR ending
up as <path> <path> which breaks basically everything).

Fix it by clearing CDPATH. Notice that export doesn't affect the environment
of $(shell ..) calls, so explicitly throw away any output from cd in the
BASE_DIR shell call.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-13 22:58:49 +01:00
Peter Korsgaard
97c996d654 Makefile: document configure cache handling
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-12 08:50:00 +01:00
Peter Korsgaard
b5972138c3 Makefile: drop config cache on .config changes
The config cache might contain invalid values when .config is changed
(E.G. when adding/removing libraries), so drop it so config checks are
rerun for new packages (existing package still won't be rebuilt).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-12 00:16:33 +01:00
Peter Korsgaard
6b1dd45bf4 Makefile: use absolute path for TOPDIR
Reported by mr_claus on IRC.

This ensure DL_DIR is always an absolute path, like it was before the
build dir reorganization - Fixes vim (patch) build.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-11-30 17:31:56 +01:00
Peter Korsgaard
406053d5dc Makefile: cleanup *clean targets
As discussed on the list, fixup the *clean targets, so we now have:

clean: remove all generated files (E.G. everything in output/)
distclean: same as clean, but also remove the kconfig build and .config

Also tweak 'make help' output to match. This also merges the two
different clean / distclean targets we had depending on if there was
a .config present or not (most variables are not defined for !.config
case, so E.G. the clean target ends up being a noop).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-11-20 14:34:04 +01:00
Peter Korsgaard
58fd779a43 buildroot; move defconfigs to configs/ and print in help
As discussed earlier on the mailing list. It simplifies code, gives more
sensible error message on typos and makes the defconfigs easier to find
for users.

Furthermore, update documentation to match.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-04 22:20:28 +02:00
Peter Korsgaard
6652770f41 Makefile: add rand/allyes/allno package config targets
Similar to the normal targets, but only affects the BR2_PACKAGE_* options.
E.G. handy for keeping your current toolchain config while testing
(random) packages.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-04 21:57:12 +02:00
Peter Korsgaard
c48bbb8c08 Makefile: update help text
get rid of the removed saveconfig/getconfig targets, and instead document
randconfig/defconfig/allyesconfig/allnoconfig.

Furthermore, get rid of the unused tags target.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-04 21:45:10 +02:00
Peter Korsgaard
912ea81ad4 Makefile: reinstate /etc/br-version
Got lost in the recent cleanup, but is handy to know BR version.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-30 17:40:24 +02:00
Peter Korsgaard
89464a9601 Makefile: be more quiet when make -s is used
Somehow got lost in the recent reorganisation.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-30 17:39:44 +02:00
Michael Roth
18994732d3 Makefile: Remove ancient 'sourceball' target
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 12:09:08 +02:00
Michael Roth
483b2980d0 Remove unneeded trailing slash from TOPDIR
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:19:47 +02:00
Michael Roth
416323e934 Move download directory 'dl' back to the top hierachy of buildroot
Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:39 +02:00
Michael Roth
cb5710c538 rename TOOL_BUILD_DIR to TOOLCHAIN_DIR
To reflect the new output directory hierachy rename the Makefile variable
TOOL_BUILD_DIR to TOOLCHAIN_DIR.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:27 +02:00
Thomas Petazzoni
3b2a803d28 Rename the output directories
In the output directory, we now have

 - build/    where all the packages are built
 - images/   where the final kernel and rootfs images are stored
 - staging/  the staging directory (containing the development files
             and libraries compiled for the target)
 - target/   which contains the target root filesystem
 - host/     which contains all the host programs
 - stamps/   which contains the stamps files

Therefore, the build_ARCH and toolchain_build_ARCH have been
removed. People willing to use the same Buildroot sources to compile
for different architectures are invited to use the O= command line
option for out-of-tree compilation.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:33:31 +02:00
Thomas Petazzoni
fd3800c197 Remove BR2_TOPDIR_PREFIX and BR2_TOPDIR_SUFFIX
The same effect can be done using out-of-tree build with O=

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:33:27 +02:00
Thomas Petazzoni
a07d6b9d56 By default, put the output in an output/ directory
Instead of putting all the build-related stuff as a mess in the
Buildroot sources, group them in an output/ directory.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:32:54 +02:00
Thomas Petazzoni
18183726d4 Remove the BOARD/LOCAL feature
This can be achieved by adding a new target in target/device/, and I
will later propose a mechanism to add external boards and packages, so
that our users not willing to get their target-specific or
package-specific things merged can keep them cleanly separated from
Buildroot tree.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
397fe5cc0b Remove the "project" feature
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.

From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.

Description of the changes involved :

 * project/, directory removed

 * Makefile

    - Don't include project/Makefile.in and project/project.mk anymore

    - Grab a copy of the contents of project/Makefile.in at the
      location it was imported, but remove the definition related to
      PROJECT_BUILD_DIR. The TARGET_DIR is now in
      $(BUILD_DIR)/target_dir

    - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
      $(PROJECT_BUILD_DIR)/autotools-stamps directories

    - Don't make world depends on target-host-info. This target was
      defined by project/project.mk to customize /etc/issue,
      /etc/hostname and create /etc/br-version depending on the
      project definitions. We can of course imagine re-adding such a
      feature later.

    - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere

    - Remove the update, log and lognr.$(PROJECT) target, they were
      specific to the project feature.

 * package/Makefile.autotools.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

    - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
      directory as the other stamps (i.e, in the package directory).

 * package/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
      configure cache

 * package/at/at.mk,
   package/busybox/busybox.mk,
   package/busybox/initramfs.mk,
   package/customize/customize.mk,
   package/linux-fusion/linux-fusion.mk,
   package/ltp-testsuite/ltp-testsuite.mk,
   package/nfs-utils/nfs-utils.mk,
   target/cpio/cpioroot.mk,
   target/cramfs/cramfs.mk,
   target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
   target/device/Atmel/Makefile.in,
   target/device/Atmel/at91bootstrap/at91bootstrap.mk,
   target/device/KwikByte/Makefile.in,
   target/ext2/ext2root.mk,
   target/initramfs/initramfs.mk,
   target/iso9660/iso9660.mk,
   target/jffs2/jffs2root.mk,
   target/linux/Makefile.in,
   target/romfs/romfs.mk,
   target/squashfs/squashfsroot.mk,
   target/tar/tarroot.mk,
   target/ubifs/ubifsroot.mk

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

 * target/device/Config.in

    - Do not include project/Config.in anymore

 * target/linux/Makefile.in.advanced

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Store the stamps file in $(STAMP_DIR) instead of
      $(PROJECT_BUILD_DIR)/autotools-stamps

 * target/u-boot/Makefile.in

    - Replace PROJECT_BUILD_DIR by BUILD_DIR

    - Remove $(PROJECT) from the U-Boot target binary name

    - Remove the insertion in the configuration of the project name as
      the hostname

    - The u-boot-autoscript target now generates
      $(U_BOOT_AUTOSCRIPT).img instead of
      $(U_BOOT_AUTOSCRIPT).$(PROJECT)

 * toolchain/gcc/gcc-uclibc-3.x.mk
   toolchain/gcc/gcc-uclibc-4.x.mk

    - Move the stamps files to $(STAMP_DIR)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-16 20:28:25 +02:00
Thomas Petazzoni
6cdf2481ee makefile: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:16 +02:00
Thomas Petazzoni
580c6d9b44 makefile: new qstrip make function
Define a qstrip function that strips double quotes and then
whitespaces around a given string. This is a very commonly needed
thing, and having a function allows to remove a large quantity of
hand-written definitions, followed by a dummy comment to make text
editors not crazy because of the unmatching double quote.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:16 +02:00
Will Newton
fc3eb18b70 Makefile: Ensure CVS directories are removed from target fs.
The find command syntax is incorrect when deleting CVS and .svn directories
from the target filesystem, which prevent CVS directories from being
deleted.

It's useful to delete these dirs because users of buildroot often import
buildroot into CVS or Subversion.

Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-26 23:00:38 +02:00
Thomas Petazzoni
7e7576c3d8 Makefile: add the xconfig target to the help of the main Makefile
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-27 18:09:32 +02:00
Peter Korsgaard
76dade1788 Merge branch 'kconfig-update' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-07-27 17:24:01 +02:00
Alper Yildirim
b0df9df39a config: Add support for xconfig
It involved:

 * Modifying the top-level Makefile to create the xconfig target, and
   the $(CONFIG)/qconf target to compile the qconf utility

 * Modifying the package/config/Makefile magic so that C++ files and
   binaries gets linked properly, re-using the
   package/config/Makefile.kconfig logic inherited from the kernel

 * Hacking a little bit package/config/Makefile.kconfig in a way
   similar to the modifications done for the mconf (menuconfig
   interface)

Signed-off-by: Alper Yildirim <ayildirim@aselsan.com>
2009-07-27 16:07:00 +02:00
Daniel Mack
eed7d8737a Add support for custom post-build script
The config help text says it all:

  Specify a script to be run after the build has finished and before
  the BR2 starts packing the files into selected packages.

  This gives users the oportunity to do board-specific cleanups,
  add-ons and the like, so the generated files can be used directly
  without further processing.

  The script is called with the target directory name as first and
  only argument. Make sure the exit code of that script is 0,
  otherwise make will stop after calling it.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Sven Neumann <s.neumann@raumfeld.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-25 23:15:18 +02:00
Maxim Grigoriev
edb5ca9c52 Makefile: apply xtensa specific TARGET_SKELETON_PATCH if available
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:37:06 +02:00
Wade Berrier
027aa1d2ec Older versions of 'find' don't have the '-delete' option
Use find's '-print0' and 'xargs -0' as an equivalent alternative.
2009-04-28 17:33:44 +00:00
Peter Korsgaard
a767c8bdf7 Makefile: distclean: remove correct dirs
Remove toolchain build dir, and don't try to remove the non-existing include
dir. Also don't explicitly remove the kernel image located in binaries as
we're already removing that dir.
2009-04-17 13:53:07 +00:00
Peter Korsgaard
32faf35112 Makefile: add target-finalize for common filesystem cleanup
And remove from each rootfs variant.
2009-04-07 21:04:31 +00:00
Peter Korsgaard
b87b4742e0 Makefile: add BR2_ENABLE_LOCALE_PURGE to purge unwanted locales
Add BR2_ENABLE_LOCALE_PURGE / BR2_ENABLE_LOCALE_WHITELIST options to
remove unwanted locales from the target rootfs. Handy for stuff like
the gtk stack, which comes with ~25 MB locales.

Works similar to localepurge in Debian, E.G. you provide a white list
of wanted locales, and everything else is removed.
2009-04-06 09:21:26 +00:00
Peter Korsgaard
4d298a2d37 Makefile: target-devfiles: combine .a / .la find invocation 2009-04-06 09:21:22 +00:00
Peter Korsgaard
e7b38c71ce package: add STAMP_DIR and use for host builds
Move stamp (dependency) files outside the (version specific) source
directories, so other packages can hardcode dependencies on them instead
of having to use <PACKAGE>_VERSION variables.

This is important as the variables in the make rules are evaluated when
the rules is seen, which might be before the dependent makefile is parsed
(and hence <PACKAGE>_VERSION variable is known, screwing up stuff.

The downside of this is that the package isn't automatically rebuilt
when the version changes (E.G. by a svn update) and you now also have to
remove the stamp files next to $(BUILD_DIR)/<PACKAGE>-* to force a rebuild.
2009-03-19 11:06:47 +00:00
Peter Korsgaard
bd07d92aad Makefile: introduce $(HOST_DIR) for host binaries
Add HOST_DIR directory handling. HOST_DIR should be used just like
STAGING_DIR, but for host files instead of target ones.
2009-03-16 15:48:43 +00:00
Ulf Samuelsson
8a446caa89 make update shoudl save to PROJECT_defconfig 2009-01-31 20:38:55 +00:00
Ulf Samuelsson
260d3b4ac2 make flush, should always be visible 2009-01-29 09:34:11 +00:00
Peter Korsgaard
b30d673c06 Makefile: fix typo introduced in r25601 2009-01-26 19:42:47 +00:00
Ulf Samuelsson
cf7d9872f2 Fix spelling error in Makefile comment 2009-01-26 19:37:54 +00:00
Peter Korsgaard
e03683e066 libglib2: move HOST_GLIB detection to glib package
Makes more sense to have it here, and easier to change once we start
building host-glib.
2009-01-26 19:10:41 +00:00
Ulf Samuelsson
13a85e3c04 Flush configuration cache, needed if config has changed 2009-01-25 23:01:22 +00:00
Peter Korsgaard
f85f2de174 Makefile: globally define variables used at different places
$(comma) and $(space) are used in packages and the toolchain.

Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
2009-01-25 20:19:01 +00:00
Ulf Samuelsson
7b2ec61074 Add help for make configured 2009-01-22 23:03:17 +00:00
Peter Korsgaard
2671be4d64 Makefile: update copyright 2009-01-16 10:27:27 +00:00
Peter Korsgaard
e62d2ecda0 Makefile: implement make release 2009-01-15 19:36:06 +00:00
Hans-Christian Egtvedt
386b8139ea Mention the saveconfig and getconfig targets in make help
I often find myself forgetting what those targets were called, and I imagine
others may not even be aware of their existence.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2009-01-08 13:16:24 +00:00
Peter Korsgaard
69f8592407 buildroot: set SHELL instead of messing around with CONFIG_SHELL
Simply set SHELL to bash instead of adding CONFIG_SHELL to all shell
invocations. CONFIG_SHELL is still set, as it is used by kconfig.
2009-01-01 21:20:35 +00:00
Peter Korsgaard
95e165c2bc Makefile: revert HOST_GLIB_BIN staging_dir fix (r23920,23923)
It causes more trouble than it's worth, and we should move to building those
host tools ourselves to not get into version issues anyway.
2008-11-07 08:57:59 +00:00
Hans-Christian Egtvedt
7167dedea2 Build $(PROJECT_BUILD_DIR)/autotools-stamps with normal Makefile rules
This patch will add a rule to top level Makefile to depend on the
$(PROJECT_BUILD_DIR)/autotools-stamps as a required directory. Hence it will be
generated if missing in stead of made when the $(PROJECT_BUILD_DIR)/.root rule
is triggered.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-11-05 11:39:46 +00:00
Hans-Christian Egtvedt
d86faadff9 Move creation of $(PROJECT_BUILD_DIR)/autotools-stamps into top level Makefile
This patch will create the autotools-stamps directory early in the build
process, thus making it possible for non Makefile.autotools.in packages to use
this directory to hold stamp files.

Signed-off-by: Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
2008-11-05 10:41:31 +00:00
Peter Korsgaard
d1a7ffe8f9 Makefile: glib-genmarshal: use BR2_STAGING_DIR instead of hardcoded staging_dir 2008-11-04 12:50:38 +00:00
Peter Korsgaard
b948fdba22 Makefile: ignore glib-genmarshal in staging_dir
HOST_GLIB is set to the path that contains the host glib tool set and is
used when building packages using glib. The buildroot top level Makefile
sets HOST_GLIB using which to find the path where glib-genmarshal is
located.

The problem is that a cross compiled version of glib-genmarshal is also
put in the build_ARCH/staging_dir/usr/bin directory when the package
libglib2 is built. This cross compiled version will typically not run on
the host system.

Fix it by ignoring staging_dir in the which output.

Closes #5934

jacmet: fixed to work correctly if it's only found in staging_dir.
2008-11-03 20:11:03 +00:00
Peter Korsgaard
51f5f62754 External toolchain support improvements
Improve external toolchain support

 * Do not put kernel-headers in the dependencies of BASE_TARGETS in
   the case where BR2_TOOLCHAIN_SOURCE is not y. The kernel headers
   are already supposed to be part of the external toolchain, so
   there's no need to download, extract and install them.

 * In the configuration system, don't display the kernel headers
   version selection list when an external toolchain is selected. This
   is implemented by moving the source
   "toolchain/kernel-headers/Config.in" inside the if
   BR2_TOOLCHAIN_SOURCE in toolchain/Config.in.2.

 * Change the description and help message of the BR2_LARGEFILE,
   BR2_INET_IPV6, BR2_INET_RPC, and BR2_SOFT_FLOAT option in
   toolchain/external-toolchain/Config.in. In the case of an external
   toolchain, the semantic of these options is not to enable large
   file support, IPV6 or RPC (since the toolchain is already compiled,
   it has been decided previously). Their semantic is to let Buildroot
   know about the characteristics of the external toolchain being
   used.

   As an improvement, we could guess these values automatically:

    - for BR2_LARGEFILE, look at the value of __UCLIBC_HAS_LFS__ in
      bits/uClibc_config.h in the libc headers directory.

    - for BR2_INET_RPC, look at the value of __UCLIBC_HAS_RPC__ in the
      same file

    - for BR2_INET_IPV6, look at the value of __UCLIBC_HAS_IPV6__ in
      the same file

    - for BR2_SOFT_FLOAT, look at the output of $(CC) -v 2>&1 | grep
      -- "--with-float=soft"

   But I'm not sure how this would be possible, since these values are
   used at configuration-time by other configuration options, not only
   at build time.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2008-11-03 10:18:39 +00:00
Hamish Moffatt
346844d057 Applied patch from Brian Foster <brian.foster@innova-card.com>:
make "make clean" remove the .root stamp, so that everything will
be reinstalled properly on a subsequent build. (bug id 4304)
Also remove new autotools-stamps directory.
2008-09-11 02:22:47 +00:00
Peter Korsgaard
02a623ddf9 buildroot: remove trailing spaces
for i in `find -name 'Config*' -o -name 'Makefile*' -o -name '*.mk'`;
do
	sed -i 's/ \+$//' $i;
done
2008-08-04 19:07:05 +00:00
Peter Korsgaard
bcad6288f5 Makefile.autotools.in: fix make source-check/external-deps differently
The MAKELEVEL test is not that robust; It fails with the recent log
support or if buildroot is driven from an external Makefile.

Rework it to instead detect source-check/external-deps by the fact that
they set SPIDER.
2008-07-24 13:38:39 +00:00
Ulf Samuelsson
552c0d197b Fix log 2008-07-07 23:20:09 +00:00
Ulf Samuelsson
9220e90b0a Fix log 2008-07-07 18:32:41 +00:00
Ulf Samuelsson
2ad346abb7 Add slashes to allow TOPDIR to end without a slash in the future 2008-07-07 18:26:09 +00:00
Ulf Samuelsson
84518dc8d7 Remove some debug messages 2008-07-07 17:48:27 +00:00
Ulf Samuelsson
54e9332892 Replace configuring GLIB with autodetect 2008-07-06 07:34:41 +00:00
Ulf Samuelsson
50cbb4a188 Add configuration possibility for host Gnome Lib installation 2008-07-05 09:22:38 +00:00
Ulf Samuelsson
def8b8d12d Add version number to log 2008-07-05 06:58:53 +00:00
Ulf Samuelsson
195df2e1a0 Add 'build with log' 2008-07-04 22:29:50 +00:00
Ulf Samuelsson
126bb72fa0 Add prepatched AVR32 gcc-4.2.2 toolchain from www.atmel.no, move patch locations for prepatched toolchain to be under the toolchain directory 2008-07-04 08:39:35 +00:00
Peter Korsgaard
926646d9ca Makefile: remove target pkgconfig files if BR2_HAVE_DEVFILES isn't enabled 2008-07-01 12:04:28 +00:00
Peter Korsgaard
d45f355db1 Makefile: don't include .config from TOPDIR
If we ever want to support building out of tree, having the .config in the
tree is probably not what we want.
2008-06-23 13:47:37 +00:00
Peter Korsgaard
2c2796719a package/config: cygwin fix
- pass HOST_LOADLIBES down to make mconf for cygwin
- fix link-order WRT HOST_LOADLIBES

From Bernhards tree (91018d95)
2008-06-19 08:11:35 +00:00
Peter Korsgaard
f85cd12c17 toolchain: also setup kernel headers when ext toolchain is used
Provide kernel headers when ext toolchain is used, so we can compile
packages which need them.
2008-06-13 14:28:57 +00:00
Peter Korsgaard
db8eecfcea distclean: Don't delete $(IMAGE)
There is not much point in deleting $(IMAGE) as the entire binaries dir
is removed. Furthermore, $(IMAGE) is a prefix rather than a file name.
2008-05-31 07:27:47 +00:00
Ulf Samuelsson
a8ee124036 Use local time (Thanks Mike) 2008-05-11 06:55:04 +00:00
Peter Korsgaard
d55b283ce7 Makefile: revert broken ccache (r21525) for now. 2008-03-31 09:06:26 +00:00
Peter Korsgaard
e013773645 Makefile: merge CVS and .svn find invocation 2008-03-30 20:52:33 +00:00
Peter Korsgaard
6a262b14ac Makefile: fix typo (.empty files, not dirs) 2008-03-30 20:48:13 +00:00
Peter Korsgaard
01c5168579 target_skeleton: mark empty directories with .empty files
Mark empty directories in target skeletons with .empty files
and remove them while copying to target (like it's already done for
svn and cvs files) to better support version control system which don't
handle empty directories (E.G. git-svn).
2008-03-30 20:45:42 +00:00
Ulf Samuelsson
efd8576c2e Ensure shell environment is handled correctly 2008-03-30 06:38:46 +00:00
Ulf Samuelsson
82c92e1e1a Easy update of defconfig 2008-03-30 06:29:30 +00:00
Ulf Samuelsson
a1b0651a5a Use BUSYBOX_LOCAL shell variable, if defined 2008-03-28 07:31:28 +00:00
Jason Spence
0d17acf4cf Added ccache support and removed grub from defconfig due to brokenness at the moment. 2008-03-28 02:50:42 +00:00
John Voltz
d45de0ca0c more robust development files in target handler 2008-03-11 13:12:39 +00:00
John Voltz
f5b96fc71d renamed variable, removed uppercase config text 2008-03-10 16:34:19 +00:00
John Voltz
bc67ca29d3 added dev files in target option 2008-03-10 15:22:43 +00:00
Peter Korsgaard
3d8919a184 buildroot: add kernel-headers to base targets so it gets handled by external-deps 2008-03-04 12:19:19 +00:00
Peter Korsgaard
155971e08f buildroot: add external-deps target
Add external-deps target to show what external files are needed to recreate
the build.
2008-03-04 12:19:16 +00:00
Ulf Samuelsson
f5905dc9eb Do not create new directories in external toolchain 2007-10-07 18:23:43 +00:00
Bernhard Reutner-Fischer
cfe511b268 - Nowadays there is no need to strip the config symbols anymore 2007-09-29 13:58:30 +00:00
Bernhard Reutner-Fischer
5f97580e50 - add FC, remove some duplicate entries, cleanup
- fixup after Ulf: CXX doesn't take CFLAGS but CXXFLAGS
2007-09-28 20:10:22 +00:00
Ulf Samuelsson
356133b4f3 Add some more host tools 2007-09-28 19:46:58 +00:00
Ulf Samuelsson
5459a9c5e0 Cleanup cross toolchain admin, split uclibc-menuconfig into same + uclibc-update to avoid overwriting board support file 2007-09-28 19:43:26 +00:00
Ulf Samuelsson
b8f28d656b Add administration for linux,uclibc and main 2007-09-28 16:18:16 +00:00
Bernhard Reutner-Fischer
57310ec605 - for various reasons i will need an explicit ordering of the toolchain includes 2007-09-27 21:24:15 +00:00
Bernhard Reutner-Fischer
4b0d5a80f8 - revert some bad checkins, fixup bad settings in atmel targets and move the gcc target abi back to a place where the other arch-specific settings live 2007-09-26 21:12:38 +00:00
Ulf Samuelsson
8820d63a13 Ensure make %_defconfig works without error - now silently 2007-09-23 14:36:04 +00:00
Ulf Samuelsson
e41b76e91c fix error when doing 'make %_defconfig 2007-09-23 10:57:15 +00:00
Bernhard Reutner-Fischer
4909da4156 - rename the gcc base_target to the more appropriate term cross_compiler 2007-09-22 21:38:15 +00:00
Bernhard Reutner-Fischer
1669b6ed83 - set and export VERBOSE if V= was requested 2007-09-22 14:19:22 +00:00
Bernhard Reutner-Fischer
3b08e64d6f - forgot to put base-target's sources into the source target.
Thanks to Ulf for pointing out this error of mine..
2007-09-18 13:12:25 +00:00
Ulf Samuelsson
633c8cbf5b Remove some debug info + add uclibc-target-utils-source target 2007-09-17 12:49:46 +00:00
Ulf Samuelsson
c8240ca3bf make source should include BASE_TARGETS 2007-09-17 12:40:42 +00:00
Ulf Samuelsson
7521f37372 Add hooks for creating your own board support package 2007-09-12 04:34:16 +00:00
Bernhard Reutner-Fischer
18d979c780 - whitespace cleanup (Cristian Ionescu-Idbohrn) 2007-09-01 18:21:09 +00:00
Bernhard Reutner-Fischer
b3efde23cc - rephrase r19284 -- explicitely list base targets for World
Needed for toplevel parallel builds to work properly.
2007-09-01 17:10:55 +00:00
Bernhard Reutner-Fischer
232fa7eeaa - README even. 2007-08-27 21:51:27 +00:00
Bernhard Reutner-Fischer
663dee48ac - allow me to point people at 'make help' 2007-08-27 21:40:42 +00:00
Bernhard Reutner-Fischer
6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer
1dbe6e3396 - our dependencies are project specific. First (untested) attempt to take this fact into account.
Will need to try to copy eventual pre-existing project-specific deps back
  to package/config in order not to mess up the corresponding timestamps (to avoid superfluous rebuilds)..
2007-08-21 17:56:47 +00:00
Bernhard Reutner-Fischer
7b403ada37 - sed -i -e "/\-[[:space:]]*mkdir[[:space:]][[:space:]]*-p/s/-[[:space:]]*mkdir/mkdir/g"
(want to know about errors if mkdir failed). Thanks to Cristian Ionescu-Idbohrn for pointing this out
2007-08-21 11:25:30 +00:00
Bernhard Reutner-Fischer
f0ca4b8205 - fix incorrect invocation of non-existing binary named "-find"
This bloated the target needlessly (and used to work before)
2007-08-21 10:56:38 +00:00
Bernhard Reutner-Fischer
7547c7ebae - fix whitespace damage.. 2007-08-21 10:53:39 +00:00
Bernhard Reutner-Fischer
0338040243 - cosmetic adjustment in help text 2007-08-21 10:42:05 +00:00
Ulf Samuelsson
adbc5a18cb Add BUILDROOT_DL_DIR to dependencies.sh and fix whitespace damage (sorry) 2007-08-20 15:47:42 +00:00
Ulf Samuelsson
3c567e6466 Add support for BUILDROOT_DL_DIR environment variable, overriding DL_DIR 2007-08-19 23:32:33 +00:00
Ulf Samuelsson
5d2be04979 Move fakeroot temps from STAGING_DIR to PROJECT_BUILD_DIR 2007-08-16 18:19:42 +00:00
Ulf Samuelsson
ceef40146f Dont create TARGET_DIR if it exists 2007-08-16 11:18:29 +00:00
Ulf Samuelsson
c6771dfb84 Avoid copying TARGET_SKELETON on every 'make' 2007-08-16 05:44:55 +00:00
Ulf Samuelsson
c2fc93bcf2 Remove fakeroot files after use to avoid rerun 2007-08-15 09:47:49 +00:00
Ulf Samuelsson
f958d89724 Move project related info from main Makefile to project dir 2007-08-14 07:45:01 +00:00
Ulf Samuelsson
74cda1e49b Avoid continuous rebuilds of TARGET_DIR and /etc/* project files 2007-08-14 07:24:45 +00:00
Bernhard Reutner-Fischer
6ad072032a - add variable BR2_DEPENDS_DIR to point to the Kconfig depend hierarchy 2007-07-31 15:02:06 +00:00
Bernhard Reutner-Fischer
69d692e4ae - explicitely list base targets for World 2007-07-27 15:29:12 +00:00
Bernhard Reutner-Fischer
7603183a87 - put dependency checking right to the start where any later stages can rely on the being ok. 2007-07-27 15:10:45 +00:00
Bernhard Reutner-Fischer
5ef9e52b8e - fix directory dependencies
- BASE_TARGET depends on dirs
2007-07-27 14:57:34 +00:00
Bernhard Reutner-Fischer
fb2c8fec6c - remove passing down the goals 2007-07-27 14:16:00 +00:00
Bernhard Reutner-Fischer
153b1beaeb - fix building mconf with curses flags
- make sure to rm .config when the first 'make menuconfig' was interrupted and thus no .config.cmd was created.
2007-07-27 12:37:30 +00:00
Bernhard Reutner-Fischer
acc706b7b6 - the external-toolchain.mk is not parallel-safe, so ignore it.
- first step of minor adjustments to allow for a toplevel 'make -j128' (regardless of BR2_JLEVEL)
2007-07-23 11:29:38 +00:00
Ulf Samuelsson
e7c08c297d make source-check without permanently changing WGET command 2007-07-20 07:34:28 +00:00
"Steven J. Hill"
62b5ae4b66 Fix INITRAMFS target that was broken. Get rid of config stuff out of the top-level directory. Finally fix Linux kernel module building such that modules are built and installed first followed by rest of packages. This allows for packages to build external Linux kernel modules. 2007-07-18 18:07:19 +00:00
Ulf Samuelsson
0f9c5b1129 Define HOSTLN to allow gzip to build for non-x86 target 2007-07-15 21:54:11 +00:00
Bernhard Reutner-Fischer
e0dd5309bd - use established style 2007-07-13 12:21:19 +00:00
Ulf Samuelsson
fe1bd1ae1b Workaround for vi bug in syntax highlighting 2007-07-12 16:57:47 +00:00
Ulf Samuelsson
e327a1f0a7 Change HOSTNAME to TARGET_HOSTNAME to avoid superseeding build host HOSTNAME 2007-07-12 15:28:58 +00:00
Ulf Samuelsson
412ca2a4d4 BSP Patch:
=========================================================
	The purpose of the BSP patch is to allow building
	several boards inside the same buildroot tree.
	For this to work, each board has to have its
	own "$(TARGET_DIR)" and all *configurable* packages
	must be rebuilt for each board.
	They are now built in the "$(PROJECT_BUILD_DIR)"
	All non configurable packages can and should still
	be built in the "$(BUILD_DIR)".
	If a package is built for one board, then when
	you build for a second board of the same architecture
	the build becomes a simple copy of the resulting
	binaries.

	-----
	Define BR2_PROJECT which will be used as the selector
	between different boards. Note that BR2_PROJECT allow
	you to build multiple root file systems for a single 
	board, and should not be confused with BR2_BOARD_NAME
	which relates to the H/W.

	-----
	Define PROJECT_BUILD_DIR as 	"PROJECT_BUILD_DIR/$(PROJECT)"
	Define BINARIES_DIR as 		"binaries/$(PROJECT)"
	Define TARGET_DIR as		"$(PROJECT_BUILD_DIR)/root"
	(some prefix/postfix may apply)

	Resulting images are stored in	"$(BINARIES_DIR)"

	-----
	Define a few new environment variables in Makefile

	PROJECT:	Stripped BR2_PROJECT
	DATE:		Date of build in YYYY-MM-DD format
	HOSTNAME:	Stripped BR2_HOSTNAME	=> /etc/hostname
	BANNER:		Stripped BR2_BANNER	=> /etc/issue

	Linux and Busybox will be built in $(PROJECT_BUILD_DIR)
	More patches will be needed later to ensure all
	configurable packages are built in this directory.
2007-07-12 13:11:03 +00:00
Ulf Samuelsson
7def55591d Define date of build as DATE, use in mtd/mtd.mk 2007-07-11 15:01:42 +00:00
Bernhard Reutner-Fischer
c0d7d4e035 - fix evaluation of HOSTCFLAGS for kconfig. Closes #1415 2007-07-09 18:23:20 +00:00
Bernhard Reutner-Fischer
81df22641f - wipe config related files in distclean 2007-07-09 08:06:27 +00:00
Ulf Samuelsson
83832cdafd sh needs '-c' to run a binary 2007-07-09 04:26:49 +00:00
Bernhard Reutner-Fischer
e491fba221 - add help target 2007-07-08 12:20:58 +00:00
Bernhard Reutner-Fischer
f987b7a541 - silence a cosmetic warning (closes several issues in mantis).
This also provides a nice up-to-date filestamp if something got reconfigured (e.g. c++ support got toggled) that can be used in the future to depend accordingly.
2007-07-08 00:00:17 +00:00
Ulf Samuelsson
4df454e974 Remove some unwanted white space in Makefile 2007-07-06 12:19:35 +00:00
Bernhard Reutner-Fischer
afc61c6e8e - adjust infrastructure for new kconfig 2007-06-28 10:47:05 +00:00
Bernhard Reutner-Fischer
ba2e7e02d1 - Search for defconfigs in target, not entire tree
This patch changes the way the top level Makefile searches for a
  <board>_defconfig file, it will only look in the target/ directory and its sub
  directories.

  The patch also enables loading a defconfig even if there already is a .config.
  (Hans-Christian Egtvedt)
2007-06-25 10:56:13 +00:00
Bernhard Reutner-Fischer
7e0c890c72 - forgot to apply this hunk that should have belonged to r18904 2007-06-24 12:27:08 +00:00
Bernhard Reutner-Fischer
8027784c35 - add full sysroot support for non-ancient toolchains.
- start to separate usr/lib and lib to match normal system-layout
2007-06-20 11:26:36 +00:00
Peter Korsgaard
2c64904519 Hide troublesome environment variables from sub processes
(E.G. screws up gdb, busybox, ..)
2007-06-19 15:19:27 +00:00
Bernhard Reutner-Fischer
825ff341da - provide a "source-check" target that tries to download all packages with
wget's spider-mode (i.e. just see if the server says the file is there without
  actually downloading the files.
  Convenient to check for unavailable source-packages.
2007-06-07 12:57:03 +00:00
Bernhard Reutner-Fischer
c6e43c9da3 - fixup the extension for the host and start to honor BR2_PREFER_STATIC_LIB 2007-06-02 11:22:17 +00:00
Bernhard Reutner-Fischer
7dcbbfbbd8 - move setting up the extensions to correct place (like i said but tom didn't do..) 2007-06-02 09:05:40 +00:00
Bernhard Reutner-Fischer
fc9566ef23 - correct extensions for apple (thanks Heikki Lindholm for pointing this out) 2007-06-02 08:49:45 +00:00
Bernhard Reutner-Fischer
3096f34d27 - add BR2_PREFER_STATIC_LIB config option to be able to select if we prefer to build static or dynamic libs/bins.
- depending on the BR2_GNU_BUILD_SUFFIX, set the respective EXEEXT, LIBEXT, SHREXT extensions for use on the target.
Thanks to Tom for suplying a diff which implements these.
2007-06-01 22:16:28 +00:00
"Steven J. Hill"
9c865d752e Create 'bin' directory in staging area. 2007-05-07 03:56:47 +00:00
"Steven J. Hill"
4b2ebdb6d9 Create symlink for 'usr/include' in the staging directory so that packages like zlib and others who expect that to exist will install properly. 2007-04-28 17:09:44 +00:00
Bernhard Reutner-Fischer
73be7f9ef4 - make sure to download fakeroot if needed 2007-04-06 16:36:48 +00:00
Bernhard Reutner-Fischer
99cf7293f9 - add cc-option and use it to check for stuff that is benefical for PREFER_IMA
- backport the libbackend.o gcov-iov.h dependency fixup from 4.2 to 4.0
2007-02-12 13:38:06 +00:00
"Steven J. Hill"
02f71aab47 Support building using an external toolchain. Questions to the mailing list and all other comments to <biteme@devnull.com>. 2007-02-06 18:19:38 +00:00
Bernhard Reutner-Fischer
8d583fc01a - generalize the menuconfig linux kernel support
- simplify toplevel mkdir rules a tiny bit
2007-01-30 00:58:18 +00:00
Bernhard Reutner-Fischer
41697b7a46 - make sure to add board specific targets before the final generation of the filesystems/tarballs.
Until now, we did created the fs and only after that built/installed grub et al
2007-01-28 17:35:11 +00:00
Bernhard Reutner-Fischer
b5136193e6 - make distclean didn't clean dialog binaries. Closes #1039 2007-01-19 18:00:49 +00:00
Eric Andersen
3da708e479 link $(STAGING_DIR)/usr/lib to $(STAGING_DIR)/lib
to make glib2 (and packages with similar confusion) work
properly, while still being able to cross compile
2007-01-10 06:55:27 +00:00
Bernhard Reutner-Fischer
9e2503563a - andersee, what was that good for? It just slows down rebuilds as it delves into each sub-file needlessly.. Ripping out. 2006-12-02 19:01:10 +00:00
Bernhard Reutner-Fischer
6e2823c1fa - add and use BR2_BZCAT config option. 2006-11-17 15:43:51 +00:00
Bernhard Reutner-Fischer
870cb9e826 - check if busybox' Rules.mak exists.
- add target dirs to ensure that all required dirs do exist so make busybox-menuconfig works in a pristine checkout.
2006-11-17 11:21:23 +00:00
Eric Andersen
a4c685f165 make certain the target directory exists 2006-11-15 21:00:07 +00:00
Eric Andersen
ba70f94e62 subversion makes it so we do not need a separate tarball
to store empty directories and symlinks for the target_skeleton.
2006-11-15 06:52:00 +00:00
Bernhard Reutner-Fischer
6342c83201 - use $(ZCAT) as configured by the user instead of hardcoded 'zcat' that may not exist; Closes #971
Silly, unchecked sed -i -e "/[^b]zcat/s/zcat/\$\(ZCAT\)/g" $(svngrep "[^b]zcat" * -rl | grep -v Config.in)
2006-10-01 15:17:52 +00:00
Eric Andersen
98bc6dac2a configuring uClibc depends on first having kernel headers in place 2006-07-18 23:43:58 +00:00
Eric Andersen
8c709551ff put sed check in the correct place 2006-07-18 23:39:39 +00:00
Eric Andersen
ddb5ebab06 move TAR_OPTIONS to its rightful place 2006-07-18 22:58:58 +00:00
"Steven J. Hill"
0c1e709edb Resolves Bug #182 for buildroot. It works nice to pull in default
configuration files for targets. More information on the bug database
page at <http://bugs.uclibc.org/view.php?id=182>.
2006-06-22 02:24:08 +00:00
Mike Frysinger
d99c31c646 s/dependancies/dependencies/ 2006-05-26 01:18:09 +00:00
Eric Andersen
a71258c161 when copying, be forceful about it to gratuitously overwrite symlinks 2006-04-19 17:24:47 +00:00
Eric Andersen
5418a92350 make sure things still work even when fakeroot is not in active use 2006-04-07 22:42:15 +00:00
David Anders
d4aab02a04 removed clean and distclean from the noconfig targets per case 0000232 2006-01-25 13:36:51 +00:00
Bernhard Reutner-Fischer
7df4de6cbb - remove BR2_TAR_VERBOSITY and add helptext to BR2_TAR_OPTIONS.
default to no additional tar options.
2005-12-10 15:36:43 +00:00
Bernhard Reutner-Fischer
ce90aae17c - add option to pass to tar for unpacking the source.
Set it to exclude .svn per default (please default to "" if inappropriate)
2005-12-10 14:59:02 +00:00
Mike Frysinger
5bc1f0c323 Allan Clark writes:
Quick patch to avoid deleting my directory of RPM Sources.

I tend to use buildroot as "make DL_DIR=/.rh/SOURCES", with the rpm 
topdir set to $HOME/.rh in my .rpmmacros -- allows me to build RPMs as 
non-root, and share the source with buildroot.  Problem is, buildroot 
likes to delete my directory :(
2005-09-09 02:49:10 +00:00
Mike Frysinger
8c2fc60997 only build host-file if we need it 2005-09-08 00:03:33 +00:00
"Steven J. Hill"
6b632ad624 Build 'file' for the host as well as the target. If the host system has a version older than that being built for buildroot, the target build will fail. So, we build 'file' for the host and add actually add '$(TOOL_BUILD_DIR)/bin' to the TARGET_PATH so that it takes precedence over the host system version. 2005-08-30 03:35:37 +00:00
Eric Andersen
d1345f067e Allow packages to use fakeroot. To accomodate this, convert all
target filesystem creation tools to also use fakeroot.
2005-08-04 06:32:52 +00:00
Eric Andersen
f3ccf319b0 Make defconfig work properly 2005-04-27 08:09:58 +00:00
Eric Andersen
74ad4e12c8 Change all instances of 'ln -sf' to 'ln -snf' 2005-04-15 02:19:11 +00:00
Eric Andersen
bb15c2215e more changes towards better board support 2005-02-17 18:21:20 +00:00
Eric Andersen
79f5f1e867 Make target stuff last so it can override everything else 2005-02-17 03:00:29 +00:00
Eric Andersen
1a35a66350 Fix some silly bugs: a variable for gcc was used before it was defined, remove
'.svn' not 'CVS' from the install, add 2.4.29 kernel headers as the default.
2005-02-11 20:52:06 +00:00
Eric Andersen
d06645d8ed There is no need to have a separate 'Makefile.in' file in the
general case, therefore, combine the toplevel Makefile options
such as setting TARGETS into the per-package *.mk file
2005-02-10 03:06:39 +00:00
Eric Andersen
15b26aeee9 update copyright 2005-02-07 22:19:26 +00:00
Eric Andersen
bf38723fce Don't fail for existing dirs 2004-12-11 10:35:18 +00:00
Eric Andersen
747b16dd2b Add some more phonys 2004-12-11 10:33:19 +00:00
Eric Andersen
a22bafc958 Don't nuke STAGING_DIR and TARGET_DIR 2004-12-11 10:31:14 +00:00
Manuel Novoa III
56239e49a6 Build the uClibc utils with the uClibc-targeted toolchain.
While the host utils are also built, they are not currently installed.
2004-10-15 08:26:30 +00:00
Eric Andersen
bb05a9ad46 Make the TAR_VERBOSITY option a bit more sane 2004-10-09 21:19:47 +00:00
Eric Andersen
bad6428272 Don't use a string to do the job of a bool 2004-10-09 21:12:25 +00:00
Mike Frysinger
1f41bb7738 support tar verbosity 2004-10-09 18:58:04 +00:00
Eric Andersen
3f284171c5 Remove obsolete references to SOURCE_DIR 2004-10-09 05:28:18 +00:00
Eric Andersen
4c4768b2f7 Fix it so we once again build the target root_fs 2004-10-09 04:34:21 +00:00
Eric Andersen
44eedc5c44 facelift step number two 2004-10-09 02:49:33 +00:00
Eric Andersen
73f7be8290 Remove the old 'make' directory, and populate the new 'package'
directory.
2004-10-09 01:24:28 +00:00
Eric Andersen
0b5ad78369 It would help to include the package specific *.mk makefiles 2004-10-09 01:07:45 +00:00
Eric Andersen
2d523c2317 Major buildroot facelift, step one.
-Erik
2004-10-09 01:06:03 +00:00
Mike Frysinger
7b58b2c577 add -pipe to default CFLAGS 2004-10-08 20:09:09 +00:00
Eric Andersen
ee654b59c3 Always use kernel-headers. 2004-10-05 07:10:07 +00:00
Manuel Novoa III
16a8faf0fa Add the new binutils and gdb, but don't make them defaults since I haven't
really tested them yet.
2004-09-30 01:08:50 +00:00
Eric Andersen
f598d4fe84 Default to 2.4.27 kernel headers 2004-09-22 17:07:07 +00:00
Manuel Novoa III
bfa9ce0e4c Add back in support for 3.3.4 soft float toolchains, although arm would
require reenabling linking with -lfloat in uClibc.
2004-09-14 11:52:26 +00:00
Manuel Novoa III
ce1dd7b540 Integrate gcc 3.4.2 and add patches from both openembedded (6??-*)
and Dan Kegel's crosstools (7??-*).
Use makefile vars for toolchain names in ccache.mk and gdb.mk.
Fix a g++-related symlink issue with ccache.
Change the default to gcc 3.4.2 and binutils 2.15.91.0.2 (now that mips
is building).  Let the users go forth and test...  ;-)
2004-09-10 18:58:11 +00:00
Manuel Novoa III
7dd297b2f2 Should be supported now for gcc 3.4.1. 2004-09-03 01:12:33 +00:00
Manuel Novoa III
3ad3d8a1d8 Update to what I'm currently using. Lots of changes...
1) Allow selection of binutils/gcc/gdb/kernel headers to build, although
   some of the older tool patches probably need updating.
2) Rework gdb build so that remote debugging now works with gdbserver.
3) Misc. other package updates.3) Misc. other package updates.3) Misc. other package updates.
2004-09-03 00:49:43 +00:00
Eric Andersen
63914bb2ac Use busybox to provide login etc by default 2004-04-21 19:53:08 +00:00
Eric Andersen
0da2e559f6 Due to alphabetizing, the uml stuff was pulled in after uclibc.mk
causing problems.  Newer uml messes up sigcontext.h and is a pain
to build anyways.  So kill it for now.  It is trivial to build for
stock i386 and then boot the generated root_fs using uml.
2004-04-12 21:33:59 +00:00
Eric Andersen
adba648902 support ccache for the build as well as the target 2004-04-09 09:36:26 +00:00
Eric Andersen
02655d8661 Remove perl. It doesn't work, and seems to be a support
problem magnet.  So kill it.
2004-03-18 21:02:52 +00:00
Manuel Novoa III
04eadcdcc2 Update binutils from 2.14.90.0.6 to 2.14.90.0.8.
Update from gcc 3.3.2 to 3.3.3.
Test builds done for i386 and mipsel (3.3.3) and i386 (2.95).
Soft float support not yet tested with 3.3.3.
2004-02-18 08:28:28 +00:00
Manuel Novoa III
5f7a6e37e7 Should have added this a long time ago. 2004-02-11 06:44:47 +00:00
Manuel Novoa III
18cefb81d1 Use --enable-sjlj-exceptions when configuring gcc so that exception handling
works for dynamicly linked executables.  Only tested so far on i386 with
  gcc 3.3.2.  But combined with the latest ldso updates, I can now get a
  dynamicly linked java helloworld app to run.
Add a config toggle for building gcj and libgcj.  The build runs fine
  through gcc-final but currently requires hand interventions to build
  gcc-target.  Again, only tested so far on i386.
2004-02-11 03:32:34 +00:00
Eric Andersen
ef407d3df8 Remove USE_LINUX_UCLIBC option, since that is now the only
supported way of building toolchains
2004-01-29 23:21:00 +00:00
Manuel Novoa III
93e576b799 Get soft float working for gcc 3.3.2. Support for arm, mips, mipsel, powerpc. 2004-01-16 19:08:39 +00:00
Manuel Novoa III
9168e83809 Enable building <arch>-linux-uclibc toolchains. Note that, due to config
issues for applications, we also create staging_dir/bin/<arch>-linux-*
symlinks which allows us to configure most apps with target=<arch>-linux.

gcc 3.3.2 libstdc++ now correctly identifies uclibc locale support.
There are still some issues (mainly related to wide char time strings
and wcsftime) to be addressed, but those are on hold until the uClibc
locale internals are reworked once again.

With the new stuff, we can also build gcc 2.95 and STLport again, although
the native gcc build for the target is failing.

Archs supported (some archs not yet tested):
 2.95 - i386, arm, mips*, powerpc.
 3.3.2 - Hopefull all for which uClibc has shared lib support.
2004-01-14 10:03:44 +00:00
Eric Andersen
6a922668ea Default buildroot to use stock uClibc 0.9.26 till further notice 2004-01-04 06:08:20 +00:00
Eric Andersen
bfda40a58f Default to building ccache for the target 2003-12-02 19:20:12 +00:00
Manuel Novoa III
c09a799cf6 Remove the USE_UCLIBC_TOOLCHAIN config option, since that's all we support.
Add some comments in Makefile about support for various archs.
Disable buildroot large file for cris, since uClibc currently disables it.
2003-11-30 20:21:47 +00:00