From 397fe5cc0b091c997794d755d27a72848ad210ea Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 5 Sep 2009 15:49:30 +0200 Subject: 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 --- package/Makefile.autotools.in | 9 ++++----- package/at/at.mk | 6 +++--- package/busybox/busybox.mk | 12 ++++++------ package/busybox/initramfs.mk | 32 ++++++++++++++++---------------- package/customize/customize.mk | 10 +++++----- package/linux-fusion/linux-fusion.mk | 8 ++++---- package/ltp-testsuite/ltp-testsuite.mk | 2 +- package/nfs-utils/nfs-utils.mk | 6 +++--- 8 files changed, 42 insertions(+), 43 deletions(-) (limited to 'package') diff --git a/package/Makefile.autotools.in b/package/Makefile.autotools.in index 859e7bcf4..d4e6160d3 100644 --- a/package/Makefile.autotools.in +++ b/package/Makefile.autotools.in @@ -243,7 +243,7 @@ $(BUILD_DIR)/%/.stamp_configured: $(TARGET_CONFIGURE_ENV) \ $($(PKG)_CONF_ENV) \ $(if $(THIS_SRCDIR),$(THIS_SRCDIR)/,./)configure \ - $(if $(filter YES,$($(PKG)_USE_CONFIG_CACHE)),--cache-file="$(PROJECT_BUILD_DIR)/tgt-config.cache",) \ + $(if $(filter YES,$($(PKG)_USE_CONFIG_CACHE)),--cache-file="$(BUILD_DIR)/tgt-config.cache",) \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ @@ -274,7 +274,7 @@ $(BUILD_DIR)/%/.stamp_staging_installed: touch $@ # Install to target dir -$(PROJECT_BUILD_DIR)/autotools-stamps/%_target_installed: +$(BUILD_DIR)/%/.stamp_target_installed: $(call MESSAGE,"Installing to target") $($(PKG)_MAKE_ENV) $($(PKG)_MAKE) $($(PKG)_INSTALL_TARGET_OPT) -C $($(PKG)_DIR)/$($(PKG)_SUBDIR) $(if $(BR2_HAVE_MANPAGES),,for d in man share/man; do \ @@ -352,8 +352,7 @@ $(2)_DIR_PREFIX = $(if $(3),$(3),$(TOP_SRCDIR)/package) # define sub-target stamps -# targets which affect $(TARGET_DIR) must use a unique stamp for each $(PROJECT) -$(2)_TARGET_INSTALL_TARGET = $(PROJECT_BUILD_DIR)/autotools-stamps/$(1)_target_installed +$(2)_TARGET_INSTALL_TARGET = $$($(2)_DIR)/.stamp_target_installed $(2)_TARGET_INSTALL_STAGING = $$($(2)_DIR)/.stamp_staging_installed $(2)_TARGET_BUILD = $$($(2)_DIR)/.stamp_built $(2)_TARGET_CONFIGURE = $$($(2)_DIR)/.stamp_configured @@ -369,7 +368,7 @@ $(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned $(2)_HOOK_POST_EXTRACT = $$($(2)_DIR)/.stamp_hook_post_extract $(2)_HOOK_POST_CONFIGURE = $$($(2)_DIR)/.stamp_hook_post_configure $(2)_HOOK_POST_BUILD = $$($(2)_DIR)/.stamp_hook_post_build -$(2)_HOOK_POST_INSTALL = $(PROJECT_BUILD_DIR)/autotools-stamps/$(1)_hook_post_install +$(2)_HOOK_POST_INSTALL = $$($(2)_DIR)/.stamp_hook_post_install # human-friendly targets and target sequencing $(1): $(1)-install diff --git a/package/at/at.mk b/package/at/at.mk index b3b2f353d..52c409000 100644 --- a/package/at/at.mk +++ b/package/at/at.mk @@ -49,11 +49,11 @@ $(TARGET_DIR)/$(AT_TARGET_SCRIPT): $(AT_DIR)/$(AT_BINARY) # Use fakeroot to pretend to do 'make install' as root echo '$(MAKE) DAEMON_USERNAME=root DAEMON_GROUPNAME=root ' \ '$(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(AT_DIR) install' \ - > $(PROJECT_BUILD_DIR)/.fakeroot.at + > $(BUILD_DIR)/.fakeroot.at ifneq ($(BR2_HAVE_MANPAGES),y) - echo 'rm -rf $(TARGET_DIR)/usr/man' >> $(PROJECT_BUILD_DIR)/.fakeroot.at + echo 'rm -rf $(TARGET_DIR)/usr/man' >> $(BUILD_DIR)/.fakeroot.at endif - echo 'rm -rf $(TARGET_DIR)/usr/doc/at' >> $(PROJECT_BUILD_DIR)/.fakeroot.at + echo 'rm -rf $(TARGET_DIR)/usr/doc/at' >> $(BUILD_DIR)/.fakeroot.at $(INSTALL) -m 0755 -D $(AT_DIR)/debian/rc $(TARGET_DIR)/$(AT_TARGET_SCRIPT) at: host-fakeroot $(TARGET_DIR)/$(AT_TARGET_SCRIPT) diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk index 45461f89a..eb7913489 100644 --- a/package/busybox/busybox.mk +++ b/package/busybox/busybox.mk @@ -7,12 +7,12 @@ ifeq ($(BR2_PACKAGE_BUSYBOX_SNAPSHOT),y) # Be aware that this changes daily.... -BUSYBOX_DIR:=$(PROJECT_BUILD_DIR)/busybox +BUSYBOX_DIR:=$(BUILD_DIR)/busybox BUSYBOX_SOURCE:=busybox-snapshot.tar.bz2 BUSYBOX_SITE:=http://www.busybox.net/downloads/snapshots else BUSYBOX_VERSION=$(call qstrip,$(BR2_BUSYBOX_VERSION)) -BUSYBOX_DIR:=$(PROJECT_BUILD_DIR)/busybox-$(BUSYBOX_VERSION) +BUSYBOX_DIR:=$(BUILD_DIR)/busybox-$(BUSYBOX_VERSION) BUSYBOX_SOURCE:=busybox-$(BUSYBOX_VERSION).tar.bz2 BUSYBOX_SITE:=http://www.busybox.net/downloads endif @@ -27,7 +27,7 @@ $(DL_DIR)/$(BUSYBOX_SOURCE): $(call DOWNLOAD,$(BUSYBOX_SITE),$(BUSYBOX_SOURCE)) $(BUSYBOX_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE) - $(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) - + $(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - ifeq ($(BR2_PACKAGE_SYSKLOGD),y) # if we have external syslogd, force busybox to use it $(SED) "/#include.*busybox\.h/a#define CONFIG_SYSLOGD" $(BUSYBOX_DIR)/init/init.c @@ -126,11 +126,11 @@ busybox: $(TARGET_DIR)/bin/busybox busybox-source: $(DL_DIR)/$(BUSYBOX_SOURCE) -busybox-unpacked: host-sed $(PROJECT_BUILD_DIR) $(BUSYBOX_DIR)/.unpacked +busybox-unpacked: host-sed $(BUILD_DIR) $(BUSYBOX_DIR)/.unpacked -busybox-config: host-sed $(PROJECT_BUILD_DIR) $(BUSYBOX_DIR)/.config +busybox-config: host-sed $(BUILD_DIR) $(BUSYBOX_DIR)/.config -busybox-menuconfig: host-sed $(PROJECT_BUILD_DIR) busybox-source $(BUSYBOX_DIR)/.config +busybox-menuconfig: host-sed $(BUILD_DIR) busybox-source $(BUSYBOX_DIR)/.config $(MAKE) __TARGET_ARCH=$(ARCH) -C $(BUSYBOX_DIR) menuconfig busybox-update: diff --git a/package/busybox/initramfs.mk b/package/busybox/initramfs.mk index c67e866cc..afb80f9f3 100644 --- a/package/busybox/initramfs.mk +++ b/package/busybox/initramfs.mk @@ -6,7 +6,7 @@ ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y) BUSYBOX_INITRAMFS_DIR:=$(BUSYBOX_DIR)-initramfs -BR2_INITRAMFS_DIR:=$(PROJECT_BUILD_DIR)/initramfs +BR2_INITRAMFS_DIR:=$(BUILD_DIR)/initramfs BB_INITRAMFS_TARGET:=$(IMAGE).initramfs_lst $(BUSYBOX_INITRAMFS_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE) @@ -105,39 +105,39 @@ $(BR2_INITRAMFS_DIR)/bin/busybox: $(BUSYBOX_INITRAMFS_DIR)/busybox $(BB_INITRAMFS_TARGET): host-fakeroot $(BR2_INITRAMFS_DIR)/bin/busybox - ln -fs bin/busybox $(PROJECT_BUILD_DIR)/initramfs/init - mkdir -p $(PROJECT_BUILD_DIR)/initramfs/etc + ln -fs bin/busybox $(BUILD_DIR)/initramfs/init + mkdir -p $(BUILD_DIR)/initramfs/etc cat target/generic/target_busybox_skeleton/etc/inittab > \ - $(PROJECT_BUILD_DIR)/initramfs/etc/inittab - rm -f $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) - (echo "chown -R 0:0 $(PROJECT_BUILD_DIR)/initramfs"; \ - echo "$(HOST_DIR)/usr/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(PROJECT_BUILD_DIR)/initramfs"; \ - echo "$(SHELL) target/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(PROJECT_BUILD_DIR)/initramfs > $(BB_INITRAMFS_TARGET)"; \ - ) > $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) - chmod +x $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) + $(BUILD_DIR)/initramfs/etc/inittab + rm -f $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) + (echo "chown -R 0:0 $(BUILD_DIR)/initramfs"; \ + echo "$(HOST_DIR)/usr/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(BUILD_DIR)/initramfs"; \ + echo "$(SHELL) target/initramfs/gen_initramfs_list.sh -u 0 -g 0 $(BUILD_DIR)/initramfs > $(BB_INITRAMFS_TARGET)"; \ + ) > $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) + chmod +x $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) $(HOST_DIR)/usr/bin/fakeroot -- \ - $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) - rm -f $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) + $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) + rm -f $(BUILD_DIR)/_fakeroot.$(notdir $(BB_INITRAMFS_TARGET)) touch -c $@ -$(PROJECT_BUILD_DIR)/.initramfs_done: $(BR2_INITRAMFS_DIR)/bin/busybox \ +$(BUILD_DIR)/.initramfs_done: $(BR2_INITRAMFS_DIR)/bin/busybox \ $(BB_INITRAMFS_TARGET) touch $@ busybox-initramfs-source: -busybox-initramfs: $(PROJECT_BUILD_DIR)/.initramfs_done +busybox-initramfs: $(BUILD_DIR)/.initramfs_done busybox-initramfs-menuconfig: host-sed $(BUILD_DIR) busybox-source $(BUSYBOX_INITRAMFS_DIR)/.configured $(MAKE) __TARGET_ARCH=$(ARCH) -C $(BUSYBOX_INITRAMFS_DIR) menuconfig busybox-initramfs-clean: - rm -f $(BUSYBOX_INITRAMFS_DIR)/busybox $(PROJECT_BUILD_DIR)/.initramfs_* + rm -f $(BUSYBOX_INITRAMFS_DIR)/busybox $(BUILD_DIR)/.initramfs_* rm -rf $(BR2_INITRAMFS_DIR) $(BB_INITRAMFS_TARGET) -$(MAKE) -C $(BUSYBOX_INITRAMFS_DIR) clean busybox-initramfs-dirclean: rm -rf $(BUSYBOX_INITRAMFS_DIR) $(BR2_INITRAMFS_DIR) \ - $(PROJECT_BUILD_DIR)/.initramfs_* + $(BUILD_DIR)/.initramfs_* endif ############################################################# # diff --git a/package/customize/customize.mk b/package/customize/customize.mk index 4fe4b8bbd..780e42b00 100644 --- a/package/customize/customize.mk +++ b/package/customize/customize.mk @@ -6,14 +6,14 @@ CUST_DIR:=package/customize/source $(BUILD_DIR)/.customize: - rm -f $(PROJECT_BUILD_DIR)/series + rm -f $(BUILD_DIR)/series (cd $(CUST_DIR); \ - /bin/ls -d * > $(PROJECT_BUILD_DIR)/series || \ - touch $(PROJECT_BUILD_DIR)/series ) - for f in `cat $(PROJECT_BUILD_DIR)/series`; do \ + /bin/ls -d * > $(BUILD_DIR)/series || \ + touch $(BUILD_DIR)/series ) + for f in `cat $(BUILD_DIR)/series`; do \ cp -af $(CUST_DIR)/$$f $(TARGET_DIR)/$$f; \ done - rm -f $(PROJECT_BUILD_DIR)/series + rm -f $(BUILD_DIR)/series touch $@ customize: $(BUILD_DIR)/.customize diff --git a/package/linux-fusion/linux-fusion.mk b/package/linux-fusion/linux-fusion.mk index 6a1c12af0..058e96573 100644 --- a/package/linux-fusion/linux-fusion.mk +++ b/package/linux-fusion/linux-fusion.mk @@ -13,7 +13,7 @@ LINUX_FUSION_INSTALL_TARGET = YES # BR2_LINUX26_VERSION is not really dependable # LINUX26_VERSION is not yet set. # Retrieve REAL kernel version from file. -LINUX_FOR_FUSION=`cat $(PROJECT_BUILD_DIR)/.linux-version` +LINUX_FOR_FUSION=`cat $(BUILD_DIR)/.linux-version` LINUX_FUSION_DIR:=$(BUILD_DIR)/linux-fusion-$(LINUX_FUSION_VERSION) LINUX_FUSION_ETC_DIR:=$(TARGET_DIR)/etc/udev/rules.d @@ -21,14 +21,14 @@ LINUX_FUSION_ETC_DIR:=$(TARGET_DIR)/etc/udev/rules.d LINUX_FUSION_CAT:=$(ZCAT) LINUX_FUSION_MAKE_OPTS:= KERNEL_VERSION=$(LINUX_FOR_FUSION) -LINUX_FUSION_MAKE_OPTS += KERNEL_BUILD=$(PROJECT_BUILD_DIR)/linux-$(LINUX_FOR_FUSION) -LINUX_FUSION_MAKE_OPTS += KERNEL_SOURCE=$(PROJECT_BUILD_DIR)/linux-$(LINUX_FOR_FUSION) +LINUX_FUSION_MAKE_OPTS += KERNEL_BUILD=$(BUILD_DIR)/linux-$(LINUX_FOR_FUSION) +LINUX_FUSION_MAKE_OPTS += KERNEL_SOURCE=$(BUILD_DIR)/linux-$(LINUX_FOR_FUSION) LINUX_FUSION_MAKE_OPTS += SYSROOT=$(STAGING_DIR) LINUX_FUSION_MAKE_OPTS += ARCH=$(BR2_ARCH) LINUX_FUSION_MAKE_OPTS += CROSS_COMPILE=$(TARGET_CROSS) LINUX_FUSION_MAKE_OPTS += KERNEL_MODLIB=/lib/modules/$(LINUX_FOR_FUSION) -LINUX_FUSION_MAKE_OPTS += DESTDIR=$(PROJECT_BUILD_DIR)/root +LINUX_FUSION_MAKE_OPTS += DESTDIR=$(BUILD_DIR)/root LINUX_FUSION_MAKE_OPTS += HEADERDIR=$(STAGING_DIR) #LINUX_FUSION_MAKE_OPTS += diff --git a/package/ltp-testsuite/ltp-testsuite.mk b/package/ltp-testsuite/ltp-testsuite.mk index 355be02f4..7be12fd33 100644 --- a/package/ltp-testsuite/ltp-testsuite.mk +++ b/package/ltp-testsuite/ltp-testsuite.mk @@ -48,7 +48,7 @@ $(LTP_TESTSUITE_DIR)/.installed: $(LTP_TESTSUITE_DIR)/.compiled # Use fakeroot to pretend to do 'make install' as root echo '$(MAKE1) $(TARGET_CONFIGURE_OPTS) CROSS_COMPILER=$(TARGET_CROSS) ' \ '-C $(LTP_TESTSUITE_DIR) install' \ - > $(PROJECT_BUILD_DIR)/.fakeroot.ltp + > $(BUILD_DIR)/.fakeroot.ltp touch $@ ltp-testsuite: host-fakeroot $(LTP_TESTSUITE_DIR)/.installed diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index e47bf3765..bf8e66845 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -59,7 +59,7 @@ NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPCDEBUG) += usr/sbin/rpcdebug NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_LOCKD) += usr/sbin/rpc.lockd NFS_UTILS_TARGETS_$(BR2_PACKAGE_NFS_UTILS_RPC_RQUOTAD) += usr/sbin/rpc.rquotad -$(PROJECT_BUILD_DIR)/.fakeroot.nfs-utils: $(NFS_UTILS_DIR)/$(NFS_UTILS_BINARY) +$(BUILD_DIR)/.fakeroot.nfs-utils: $(NFS_UTILS_DIR)/$(NFS_UTILS_BINARY) # Use fakeroot to pretend to do 'make install' as root echo '$(MAKE) prefix=$(TARGET_DIR)/usr statedir=$(TARGET_DIR)/var/lib/nfs $(TARGET_CONFIGURE_OPTS) -C $(NFS_UTILS_DIR) install' > $@ echo 'rm -f $(TARGET_DIR)/usr/bin/event_rpcgen.py $(TARGET_DIR)/usr/sbin/nhfs* $(TARGET_DIR)/usr/sbin/nfsstat $(TARGET_DIR)/usr/sbin/showmount' >> $@ @@ -70,7 +70,7 @@ $(PROJECT_BUILD_DIR)/.fakeroot.nfs-utils: $(NFS_UTILS_DIR)/$(NFS_UTILS_BINARY) echo "file; done" >> $@ echo 'rm -rf $(TARGET_DIR)/var/lib/nfs' >> $@ -$(TARGET_DIR)/$(NFS_UTILS_TARGET_BINARY): $(PROJECT_BUILD_DIR)/.fakeroot.nfs-utils +$(TARGET_DIR)/$(NFS_UTILS_TARGET_BINARY): $(BUILD_DIR)/.fakeroot.nfs-utils touch -c $@ nfs-utils: host-fakeroot $(TARGET_DIR)/$(NFS_UTILS_TARGET_BINARY) @@ -81,7 +81,7 @@ nfs-utils-clean: rm -f $(TARGET_DIR)/$$file; \ done -$(MAKE) -C $(NFS_UTILS_DIR) clean - rm -f $(PROJECT_BUILD_DIR)/.fakeroot.nfs-utils + rm -f $(BUILD_DIR)/.fakeroot.nfs-utils nfs-utils-dirclean: rm -rf $(NFS_UTILS_DIR) -- cgit v1.2.3