diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2009-09-05 15:49:30 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2009-09-16 20:28:25 +0200 |
commit | 397fe5cc0b091c997794d755d27a72848ad210ea (patch) | |
tree | c4884e9bb5c32bca28cf07f3ebf3a643bfab4e72 /project | |
parent | b3ee84e4072279fda52c18fb7b3aa76a6b873c2d (diff) | |
download | buildroot-novena-397fe5cc0b091c997794d755d27a72848ad210ea.tar.gz buildroot-novena-397fe5cc0b091c997794d755d27a72848ad210ea.zip |
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>
Diffstat (limited to 'project')
-rw-r--r-- | project/Config.in | 25 | ||||
-rw-r--r-- | project/Makefile.in | 79 | ||||
-rw-r--r-- | project/project.mk | 52 |
3 files changed, 0 insertions, 156 deletions
diff --git a/project/Config.in b/project/Config.in deleted file mode 100644 index 0e9e7813d..000000000 --- a/project/Config.in +++ /dev/null @@ -1,25 +0,0 @@ -comment "Project Options" - -config BR2_PROJECT - string "Project name" - default "uclibc" - help - The project name is used to define subdirectories - * where the Board Support Packages are built - (Linux,Root fs Bootmonitor,Utilities etc.) - * where the resulting binaries are stored. - Older targets may still build in the build_<arch> - and store binaries in the top directory. - -config BR2_HOSTNAME - string "hostname" - default "uclibc" - help - The hostname string is stored in "/etc/hostname" - -config BR2_BANNER - string "banner" - default "Welcome to Buildroot" - help - The banner string is stored in "/etc/issue" - diff --git a/project/Makefile.in b/project/Makefile.in deleted file mode 100644 index 69c8572e0..000000000 --- a/project/Makefile.in +++ /dev/null @@ -1,79 +0,0 @@ -PROJECT:=$(call qstrip,$(BR2_PROJECT)) -TARGET_HOSTNAME:=$(call qstrip,$(BR2_HOSTNAME)) -BANNER:=$(call qstrip,$(BR2_BANNER)) - -# silent mode requested? -QUIET:=$(if $(findstring s,$(MAKEFLAGS)),-q,) - -# Strip off the annoying quoting -ARCH:=$(call qstrip,$(BR2_ARCH)) -ifeq ($(ARCH),xtensa) -ARCH:=$(ARCH)_$(call qstrip,$(BR2_xtensa_core_name)) -endif -WGET:=$(call qstrip,$(BR2_WGET)) $(SPIDER) $(QUIET) -SVN_CO:=$(call qstrip,$(BR2_SVN_CO)) $(QUIET) -SVN_UP:=$(call qstrip,$(BR2_SVN_UP)) $(QUIET) -BZR_CO:=$(call qstrip,$(BR2_BZR_CO)) $(QUIET) -BZR_UP:=$(call qstrip,$(BR2_BZR_UP)) $(QUIET) -GIT:=$(call qstrip,$(BR2_GIT)) $(QUIET) -ZCAT:=$(call qstrip,$(BR2_ZCAT)) -BZCAT:=$(call qstrip,$(BR2_BZCAT)) -TAR_OPTIONS=$(call qstrip,$(BR2_TAR_OPTIONS)) -xf - -# Buildroot supports building out of tree similarly to the Linux kernel. -# To use, add O= to the make command line (make O=/tmp/build) -BASE_DIR:=$(shell pwd) -ifdef O -ifeq ("$(origin O)", "command line") -BASE_DIR := $(shell mkdir -p $(O) && cd $(O) && pwd) -$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist)) - -# other packages might also support Linux-style out of tree builds -# with the O=<dir> syntax (E.G. Busybox does). As make automatically -# forwards command line variable definitions those packages get very -# confused. Fix this by telling make to not do so -MAKEOVERRIDES = -endif -endif - -TOPDIR_PREFIX:=$(call qstrip,$(BR2_TOPDIR_PREFIX))_ -TOPDIR_SUFFIX:=_$(call qstrip,$(BR2_TOPDIR_SUFFIX)) -ifeq ($(TOPDIR_PREFIX),_) -TOPDIR_PREFIX:= -endif -ifeq ($(TOPDIR_SUFFIX),_) -TOPDIR_SUFFIX:= -endif - -DL_DIR=$(call qstrip,$(BR2_DL_DIR)) -ifeq ($(DL_DIR),) -DL_DIR:=$(BASE_DIR)/dl -endif - -# All non-configurable packages should be built in BUILD_DIR -BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX) - -GNU_TARGET_SUFFIX:=-$(call qstrip,$(BR2_GNU_TARGET_SUFFIX)) - -STAGING_DIR:=$(call qstrip,$(BR2_STAGING_DIR)) - -# packages compiled for the host goes here -HOST_DIR:=$(BUILD_DIR)/host_dir - -# stamp (dependency) files go here -STAMP_DIR:=$(BUILD_DIR)/stamps - -# All configurable packages (like Busybox,Linux etc) should be built -# in PROJECT_BUILD_DIR -PROJECT_BUILD_DIR:=$(BASE_DIR)/$(TOPDIR_PREFIX)project_build_$(ARCH)$(ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)/$(PROJECT) -BINARIES_DIR:=$(BASE_DIR)/binaries/$(PROJECT) -TARGET_DIR:=$(PROJECT_BUILD_DIR)/root - -# define values for prepatched source trees for toolchains -VENDOR_SITE:=$(call qstrip,$(BR2_VENDOR_SITE)) -VENDOR_SUFFIX:=$(call qstrip,$(BR2_VENDOR_SUFFIX)) -VENDOR_BINUTILS_RELEASE:=$(call qstrip,$(BR2_VENDOR_BINUTILS_RELEASE)) -VENDOR_GCC_RELEASE:=$(call qstrip,$(BR2_VENDOR_GCC_RELEASE)) -VENDOR_UCLIBC_RELEASE:=$(call qstrip,$(BR2_VENDOR_UCLIBC_RELEASE)) -VENDOR_GDB_RELEASE:=$(call qstrip,$(BR2_VENDOR_GDB_RELEASE)) -VENDOR_PATCH_DIR:=$(call qstrip,$(BR2_VENDOR_PATCH_DIR)) diff --git a/project/project.mk b/project/project.mk deleted file mode 100644 index 3074eff48..000000000 --- a/project/project.mk +++ /dev/null @@ -1,52 +0,0 @@ -PROJECT_FILE:=$(LOCAL)/$(PROJECT)/$(PROJECT).config - - -.PHONY: target-host-info saveconfig getconfig - -target-host-info: $(TARGET_DIR)/etc/issue $(TARGET_DIR)/etc/hostname $(TARGET_DIR)/etc/br-version - -$(TARGET_DIR)/etc/issue: .config - mkdir -p $(TARGET_DIR)/etc - echo "" > $@ - echo "" >> $@ - echo "$(BANNER)" >> $@ - -$(TARGET_DIR)/etc/hostname: .config - mkdir -p $(TARGET_DIR)/etc - echo "$(TARGET_HOSTNAME)" > $@ - -$(TARGET_DIR)/etc/br-version: .config - mkdir -p $(TARGET_DIR)/etc - echo $(BR2_VERSION)$(shell $(TOPDIR)/scripts/setlocalversion) >$@ - -saveconfig: - mkdir -p $(LOCAL)/$(PROJECT) - -cp .config $(PROJECT_FILE) - if [ -f $(LINUX26_DIR)/.config ]; then \ - cp $(LINUX26_DIR)/.config \ - $(LOCAL)/$(PROJECT)/linux-$(LINUX26_VERSION).config; \ - $(SED) '/BR2_PACKAGE_LINUX_KCONFIG/d' $(PROJECT_FILE); \ - echo "BR2_PACKAGE_LINUX_KCONFIG=\"$(LOCAL)/$(PROJECT)/linux-$(LINUX26_VERSION).config\"" >> $(PROJECT_FILE); \ - $(SED) '/BR2_BOARD_PATH/d' $(PROJECT_FILE); \ - echo "BR2_BOARD_PATH=\"$(LOCAL)/$(PROJECT)\"" >> $(PROJECT_FILE); \ - fi - if [ -f $(BUSYBOX_DIR)/.config ]; then \ - cp $(BUSYBOX_DIR)/.config \ - $(LOCAL)/$(PROJECT)/busybox-$(BUSYBOX_VERSION).config; \ - $(SED) '/BR2_PACKAGE_BUSYBOX_CONFIG/d' $(PROJECT_FILE); \ - echo "BR2_PACKAGE_BUSYBOX_CONFIG=\"$(LOCAL)/$(PROJECT)/busybox-$(BUSYBOX_VERSION).config\"" >> $(PROJECT_FILE); \ - fi - if [ -f $(UCLIBC_DIR)/.config ]; then \ - cp $(UCLIBC_DIR)/.config \ - $(LOCAL)/$(PROJECT)/uclibc-$(UCLIBC_VER).config; \ - $(SED) '/BR2_UCLIBC_CONFIG/d' $(PROJECT_FILE); \ - echo "BR2_UCLIBC_CONFIG=\"$(LOCAL)/$(PROJECT)/uclibc-$(UCLIBC_VER).config\"" >> $(PROJECT_FILE); \ - fi - if [ -f $(UBOOT_DIR)/include/configs/$(PROJECT).h ]; then \ - mkdir -p $(LOCAL)/$(PROJECT)/u-boot; \ - cp $(UBOOT_DIR)/include/configs/$(PROJECT).h \ - $(LOCAL)/$(PROJECT)/u-boot/$(PROJECT).h; \ - fi - -getconfig: - -cp $(LOCAL)/$(PROJECT)/$(PROJECT).config .config |