Commit fe06da78 authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

Merge branch 'huge-cleanup' of git://git.busybox.net/~tpetazzoni/git/buildroot

parents f5239c32 84a8eafd
Loading
Loading
Loading
Loading
+2 −20
Original line number Diff line number Diff line
@@ -88,7 +88,7 @@ source "target/device/Config.in.mirrors"

config BR2_STAGING_DIR
	string "Toolchain and header file location?"
	default "$(BUILD_DIR)/staging_dir"
	default "$(BASE_DIR)/staging"
	help
	  This is the location where the toolchain will be installed.  The
	  toolchain will not work if it is moved from this location.
@@ -97,7 +97,7 @@ config BR2_STAGING_DIR
	  will be used.

	  Most people will leave this set to the default value of
	  "$(BUILD_DIR)/staging_dir".
	  "$(BASE_DIR)/staging".

config BR2_FPU_SUFFIX
	bool "Add '_nofpu' suffix for softfloat toolchains"
@@ -106,24 +106,6 @@ config BR2_FPU_SUFFIX
	  the "_nofpu" suffix will be added to the toolchain build
	  directory name and to any rootfs image name

config BR2_TOPDIR_PREFIX
	string "Custom build dir prefix"
	default ""
	help
	  Add a custom string to the beginning of the build directories.

	  build_ARCH -> [PREFIX]_build_ARCH
	  toolchain_build_ARCH -> [PREFIX]_toolchain_build_ARCH

config BR2_TOPDIR_SUFFIX
	string "Custom build dir suffix"
	default ""
	help
	  Add a custom string to the end of the build directories.

	  build_ARCH -> build_ARCH_[SUFFIX]
	  toolchain_build_ARCH -> toolchain_build_ARCH_[SUFFIX]

config BR2_GNU_BUILD_SUFFIX
	string "GNU build hostname suffix"
	default "pc-linux-gnu"
+70 −48
Original line number Diff line number Diff line
@@ -32,14 +32,6 @@ noconfig_targets:=menuconfig xconfig config oldconfig randconfig \
	defconfig allyesconfig allnoconfig release tags \
	source-check help


# Use shell variables, if defined
ifneq ($(BUILDROOT_LOCAL),)
BR2_LOCAL:=$(BUILDROOT_LOCAL)
else
BR2_LOCAL:=$(TOPDIR)/local
endif

# Strip quotes and then whitespaces
qstrip=$(strip $(subst ",,$(1)))
#"))
@@ -52,20 +44,13 @@ space:=$(empty) $(empty)
# $(shell find . -name *_defconfig |sed 's/.*\///')
# Pull in the user's configuration file
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
ifeq ($(BOARD),)
# if "make BOARD=xyz" command
-include .config
else
# if "make" command
-include $(BR2_LOCAL)/$(BOARD)/$(BOARD).config
endif
endif

# Override BR2_DL_DIR if shell variable defined
ifneq ($(BUILDROOT_DL_DIR),)
BR2_DL_DIR:=$(BUILDROOT_DL_DIR)
endif
LOCAL:=$(BR2_LOCAL)

# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
@@ -217,10 +202,64 @@ BASE_TARGETS:=uclibc
endif
TARGETS:=

# setup our paths
include project/Makefile.in
# 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

ifneq ("$(origin O)", "command line")
O:=output
else
# 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

BASE_DIR := $(shell mkdir -p $(O) && cd $(O) && pwd)
$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))

DL_DIR=$(call qstrip,$(BR2_DL_DIR))
ifeq ($(DL_DIR),)
DL_DIR:=$(BASE_DIR)/dl
endif

BUILD_DIR:=$(BASE_DIR)/build

BR2_DEPENDS_DIR=$(PROJECT_BUILD_DIR)/buildroot-config
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:=$(BASE_DIR)/host

# stamp (dependency) files go here
STAMP_DIR:=$(BASE_DIR)/stamps

BINARIES_DIR:=$(BASE_DIR)/images
TARGET_DIR:=$(BASE_DIR)/target

# 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))

BR2_DEPENDS_DIR=$(BUILD_DIR)/buildroot-config

include toolchain/Makefile.in
include package/Makefile.in
@@ -237,8 +276,6 @@ all: world
# In this section, we need .config
include .config.cmd

include project/*.mk

# We also need the various per-package makefiles, which also add
# each selected package to TARGETS if that package was selected
# in the .config file.
@@ -290,20 +327,18 @@ $(BR2_DEPENDS_DIR): .config
	cp -dpRf $(CONFIG)/buildroot-config $@

dirs: $(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
	$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(PROJECT_BUILD_DIR) \
	$(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
	$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)

$(BASE_TARGETS): dirs

world: dependencies dirs target-host-info $(BASE_TARGETS) $(TARGETS_ALL)
world: dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL)


.PHONY: all world dirs clean dirclean distclean source \
	$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \
	$(TARGETS_CLEAN) $(TARGETS_DIRCLEAN) $(TARGETS_SOURCE) \
	$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
	$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(PROJECT_BUILD_DIR) \
	$(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
	$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)

#############################################################
#
@@ -311,8 +346,7 @@ world: dependencies dirs target-host-info $(BASE_TARGETS) $(TARGETS_ALL)
# dependencies anywhere else
#
#############################################################
$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(HOST_DIR) $(PROJECT_BUILD_DIR) \
	$(PROJECT_BUILD_DIR)/autotools-stamps $(BINARIES_DIR) $(STAMP_DIR):
$(DL_DIR) $(TOOL_BUILD_DIR) $(BUILD_DIR) $(HOST_DIR) $(BINARIES_DIR) $(STAMP_DIR):
	@mkdir -p $@

$(STAGING_DIR):
@@ -330,7 +364,7 @@ endif
endif
	@mkdir -p $(STAGING_DIR)/usr/include

$(PROJECT_BUILD_DIR)/.root:
$(BUILD_DIR)/.root:
	mkdir -p $(TARGET_DIR)
	if ! [ -d "$(TARGET_DIR)/bin" ]; then \
		if [ -d "$(TARGET_SKELETON)" ]; then \
@@ -345,10 +379,10 @@ $(PROJECT_BUILD_DIR)/.root:
	-find $(TARGET_DIR) -type f -name .empty -print0 | xargs -0 rm -rf
	touch $@

$(TARGET_DIR): $(PROJECT_BUILD_DIR)/.root
$(TARGET_DIR): $(BUILD_DIR)/.root

erase-fakeroots:
	rm -f $(PROJECT_BUILD_DIR)/.fakeroot*
	rm -f $(BUILD_DIR)/.fakeroot*

target-finalize:
ifeq ($(BR2_HAVE_DEVFILES),y)
@@ -372,7 +406,7 @@ ifneq ($(BR2_ROOTFS_POST_BUILD_SCRIPT),"")
endif

ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
LOCALE_WHITELIST=$(PROJECT_BUILD_DIR)/locales.nopurge
LOCALE_WHITELIST=$(BUILD_DIR)/locales.nopurge
LOCALE_NOPURGE=$(call qstrip,$(BR2_ENABLE_LOCALE_WHITELIST))

target-purgelocales:
@@ -403,21 +437,21 @@ external-deps:
#
#############################################################
clean: $(TARGETS_CLEAN)
	rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
	rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(BUILD_DIR)/.root $(STAMP_DIR)

dirclean: $(TARGETS_DIRCLEAN)
	rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps $(STAMP_DIR)
	rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE) $(BUILD_DIR)/.root $(STAMP_DIR)

distclean:
ifeq ($(DL_DIR),$(BASE_DIR)/dl)
	rm -rf $(DL_DIR)
endif
	rm -rf $(TOOL_BUILD_DIR) $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(BINARIES_DIR) \
	rm -rf $(TOOL_BUILD_DIR) $(BUILD_DIR) $(BUILD_DIR) $(BINARIES_DIR) \
	.config.cmd
	$(MAKE) -C $(CONFIG) clean

sourceball:
	rm -rf $(BUILD_DIR) $(PROJECT_BUILD_DIR) $(BINARIES_DIR)
	rm -rf $(BUILD_DIR) $(BUILD_DIR) $(BINARIES_DIR)
	set -e; \
	cd ..; \
	rm -f buildroot.tar.bz2; \
@@ -530,28 +564,16 @@ distclean: clean
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)

flush:
	rm -f $(PROJECT_BUILD_DIR)/tgt-config.cache
	rm -f $(BUILD_DIR)/tgt-config.cache

%_defconfig: $(CONFIG)/conf
	cp $(shell find ./target/ -name $@) .config
	-@$(MAKE) oldconfig

update:
	cp .config $(BOARD_PATH)/$(PROJECT)_defconfig

configured: dirs host-sed kernel-headers uclibc-config busybox-config linux26-config

prepatch:	gcc-patched binutils-patched gdb-patched uclibc-patched

.lognr.$(PROJECT):
	@echo "0" > .lognr.$(PROJECT)

log:	.lognr.$(PROJECT)
	@expr `cat .lognr.$(PROJECT)` + 1 > .lognr.$(PROJECT)	
	@echo Creating $(PROJECT)-`cat .lognr.$(PROJECT)`.log
	@$(MAKE) > $(PROJECT)-`cat .lognr.$(PROJECT)`.log 2>&1


cross: $(BASE_TARGETS)

help:
+265 −404

File changed.

Preview size limit exceeded, changes collapsed.

+4 −5
Original line number Diff line number Diff line
@@ -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
+2 −3
Original line number Diff line number Diff line
@@ -112,7 +112,7 @@ COND_ARCH_FPU_SUFFIX:=
endif

ifeq ($(BR2_TOOLCHAIN_SOURCE),y)
TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
TOOL_BUILD_DIR=$(BASE_DIR)/toolchain

# Quotes are needed for spaces et al in path components.
TARGET_PATH="$(TOOL_BUILD_DIR)/bin:$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$(PATH)"
@@ -124,8 +124,7 @@ KERNEL_CROSS=$(TARGET_CROSS)
else
TOOLCHAIN_EXTERNAL_PREFIX:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PREFIX))
TOOLCHAIN_EXTERNAL_PATH:=$(call qstrip,$(BR2_TOOLCHAIN_EXTERNAL_PATH))
#TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(TOOLCHAIN_EXTERNAL_PREFIX)
TOOL_BUILD_DIR=$(BASE_DIR)/$(TOPDIR_PREFIX)toolchain_build_$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(TOPDIR_SUFFIX)
TOOL_BUILD_DIR=$(BASE_DIR)/toolchain
TARGET_PATH="$(HOST_DIR)/bin:$(HOST_DIR)/usr/bin:$(TOOL_BUILD_DIR)/bin:$(TOOLCHAIN_EXTERNAL_PATH)/bin:$(PATH)"
#IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(TOOLCHAIN_EXTERNAL_PREFIX)$(ROOTFS_SUFFIX)
IMAGE:=$(BINARIES_DIR)/$(BR2_ROOTFS_PREFIX).$(ARCH)$(COND_ARCH_FPU_SUFFIX)$(ROOTFS_SUFFIX)
Loading