summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2009-11-20Makefile: cleanup *clean targetsPeter Korsgaard
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-10-04buildroot; move defconfigs to configs/ and print in helpPeter Korsgaard
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-04Makefile: add rand/allyes/allno package config targetsPeter Korsgaard
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-04Makefile: update help textPeter Korsgaard
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-09-30Makefile: reinstate /etc/br-versionPeter Korsgaard
Got lost in the recent cleanup, but is handy to know BR version. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-30Makefile: be more quiet when make -s is usedPeter Korsgaard
Somehow got lost in the recent reorganisation. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23Makefile: Remove ancient 'sourceball' targetMichael Roth
Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23Remove unneeded trailing slash from TOPDIRMichael Roth
Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23Move download directory 'dl' back to the top hierachy of buildrootMichael Roth
Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23rename TOOL_BUILD_DIR to TOOLCHAIN_DIRMichael Roth
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-16Rename the output directoriesThomas Petazzoni
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-16Remove BR2_TOPDIR_PREFIX and BR2_TOPDIR_SUFFIXThomas Petazzoni
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-16By default, put the output in an output/ directoryThomas Petazzoni
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-16Remove the BOARD/LOCAL featureThomas Petazzoni
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-16Remove the "project" featureThomas Petazzoni
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-05makefile: use qstripThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05makefile: new qstrip make functionThomas Petazzoni
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-08-26Makefile: Ensure CVS directories are removed from target fs.Will Newton
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-07-27Makefile: add the xconfig target to the help of the main MakefileThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-27Merge branch 'kconfig-update' of git://git.busybox.net/~tpetazzoni/git/buildrootPeter Korsgaard
2009-07-27config: Add support for xconfigAlper Yildirim
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-25Add support for custom post-build scriptDaniel Mack
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-24Makefile: apply xtensa specific TARGET_SKELETON_PATCH if availableMaxim Grigoriev
Part of #163. Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-04-28Older versions of 'find' don't have the '-delete' optionWade Berrier
Use find's '-print0' and 'xargs -0' as an equivalent alternative.
2009-04-17Makefile: distclean: remove correct dirsPeter Korsgaard
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-07Makefile: add target-finalize for common filesystem cleanupPeter Korsgaard
And remove from each rootfs variant.
2009-04-06Makefile: add BR2_ENABLE_LOCALE_PURGE to purge unwanted localesPeter Korsgaard
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-06Makefile: target-devfiles: combine .a / .la find invocationPeter Korsgaard
2009-03-19package: add STAMP_DIR and use for host buildsPeter Korsgaard
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-16Makefile: introduce $(HOST_DIR) for host binariesPeter Korsgaard
Add HOST_DIR directory handling. HOST_DIR should be used just like STAGING_DIR, but for host files instead of target ones.
2009-01-31make update shoudl save to PROJECT_defconfigUlf Samuelsson
2009-01-29make flush, should always be visibleUlf Samuelsson
2009-01-26Makefile: fix typo introduced in r25601Peter Korsgaard
2009-01-26Fix spelling error in Makefile commentUlf Samuelsson
2009-01-26libglib2: move HOST_GLIB detection to glib packagePeter Korsgaard
Makes more sense to have it here, and easier to change once we start building host-glib.
2009-01-25Flush configuration cache, needed if config has changedUlf Samuelsson
2009-01-25Makefile: globally define variables used at different placesPeter Korsgaard
$(comma) and $(space) are used in packages and the toolchain. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de>
2009-01-22Add help for make configuredUlf Samuelsson
2009-01-16Makefile: update copyrightPeter Korsgaard
2009-01-15Makefile: implement make releasePeter Korsgaard
2009-01-08Mention the saveconfig and getconfig targets in make helpHans-Christian Egtvedt
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-01buildroot: set SHELL instead of messing around with CONFIG_SHELLPeter Korsgaard
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.
2008-11-07Makefile: revert HOST_GLIB_BIN staging_dir fix (r23920,23923)Peter Korsgaard
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-05Build $(PROJECT_BUILD_DIR)/autotools-stamps with normal Makefile rulesHans-Christian Egtvedt
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-05Move creation of $(PROJECT_BUILD_DIR)/autotools-stamps into top level MakefileHans-Christian Egtvedt
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-04Makefile: glib-genmarshal: use BR2_STAGING_DIR instead of hardcoded staging_dirPeter Korsgaard
2008-11-03Makefile: ignore glib-genmarshal in staging_dirPeter Korsgaard
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-03External toolchain support improvementsPeter Korsgaard
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-09-11Applied patch from Brian Foster <brian.foster@innova-card.com>:Hamish Moffatt
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-08-04buildroot: remove trailing spacesPeter Korsgaard
for i in `find -name 'Config*' -o -name 'Makefile*' -o -name '*.mk'`; do sed -i 's/ \+$//' $i; done