summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile104
1 files changed, 49 insertions, 55 deletions
diff --git a/Makefile b/Makefile
index 462d974d2..1ab446d8b 100644
--- a/Makefile
+++ b/Makefile
@@ -25,12 +25,11 @@
# absolute path
TOPDIR:=$(shell pwd)
CONFIG_CONFIG_IN=Config.in
-CONFIG_DEFCONFIG=.defconfig
CONFIG=package/config
DATE:=$(shell date +%Y%m%d)
-noconfig_targets:=menuconfig gconfig xconfig config oldconfig randconfig \
- defconfig allyesconfig allnoconfig release \
+noconfig_targets:=menuconfig nconfig gconfig xconfig config oldconfig randconfig \
+ defconfig %_defconfig savedefconfig allyesconfig allnoconfig silentoldconfig release \
randpackageconfig allyespackageconfig allnopackageconfig \
source-check help
@@ -323,17 +322,17 @@ TARGETS_ALL:=$(patsubst %,__real_tgt_%,$(TARGETS))
# all targets depend on the crosscompiler and it's prerequisites
$(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) %
-$(BR2_DEPENDS_DIR): $(CONFIG_DIR)/.config
-# rm -rf $@
-# mkdir -p $(@D)
-# cp -dpRf $(CONFIG)/buildroot-config $@
-
dirs: $(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)
$(BASE_TARGETS): dirs
-world: dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL)
+$(BUILD_DIR)/buildroot-config/auto.conf: $(CONFIG_DIR)/.config
+ $(MAKE) $(EXTRAMAKEARGS) silentoldconfig
+
+prepare: $(BUILD_DIR)/buildroot-config/auto.conf
+
+world: prepare dependencies dirs $(BASE_TARGETS) $(TARGETS_ALL)
.PHONY: all world dirs clean distclean source \
@@ -468,99 +467,98 @@ export HOSTCFLAGS
$(BUILD_DIR)/buildroot-config/%onf:
mkdir -p $(@D)/lxdialog
- $(MAKE) CC="$(HOSTCC)" obj=$(@D) -C $(CONFIG) $(@F)
- -@if [ ! -f $(CONFIG_DIR)/.config ]; then \
- cp $(CONFIG_DEFCONFIG) $(CONFIG_DIR)/.config; \
- fi
+ $(MAKE) CC="$(HOSTCC)" obj=$(@D) -C $(CONFIG) -f Makefile.br $(@F)
+
+COMMON_CONFIG_ENV = \
+ KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
+ KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
+ KCONFIG_TRISTATE=$(BUILD_DIR)/buildroot-config/tristate.config \
+ BUILDROOT_CONFIG=$(CONFIG_DIR)/.config
xconfig: $(BUILD_DIR)/buildroot-config/qconf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @if ! KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< $(CONFIG_CONFIG_IN); then \
+ @if ! $(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN); then \
test -f $(CONFIG_DIR)/.config.cmd || rm -f $(CONFIG_DIR)/.config; \
fi
gconfig: $(BUILD_DIR)/buildroot-config/gconf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @if ! KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- srctree=$(TOPDIR) \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< $(CONFIG_CONFIG_IN); then \
+ @if ! $(COMMON_CONFIG_ENV) srctree=$(TOPDIR) \
+ $< $(CONFIG_CONFIG_IN); then \
test -f $(CONFIG_DIR)/.config.cmd || rm -f $(CONFIG_DIR)/.config; \
fi
menuconfig: $(BUILD_DIR)/buildroot-config/mconf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @if ! KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< $(CONFIG_CONFIG_IN); then \
+ @if ! $(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN); then \
+ test -f $(CONFIG_DIR)/.config.cmd || rm -f $(CONFIG_DIR)/.config; \
+ fi
+
+nconfig: $(BUILD_DIR)/buildroot-config/nconf
+ @mkdir -p $(BUILD_DIR)/buildroot-config
+ @if ! $(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN); then \
test -f $(CONFIG_DIR)/.config.cmd || rm -f $(CONFIG_DIR)/.config; \
fi
config: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
oldconfig: $(BUILD_DIR)/buildroot-config/conf
mkdir -p $(BUILD_DIR)/buildroot-config
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -o $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN)
randconfig: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -r $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< --randconfig $(CONFIG_CONFIG_IN)
allyesconfig: $(BUILD_DIR)/buildroot-config/conf
- cat $(CONFIG_DEFCONFIG) > $(CONFIG_DIR)/.config
@mkdir -p $(BUILD_DIR)/buildroot-config
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -y $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< --allyesconfig $(CONFIG_CONFIG_IN)
allnoconfig: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -n $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< --allnoconfig $(CONFIG_CONFIG_IN)
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
+ @$(COMMON_CONFIG_ENV) \
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -r $(CONFIG_CONFIG_IN)
+ $< --randconfig $(CONFIG_CONFIG_IN)
@rm -f $(CONFIG_DIR)/.config.nopkg
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
+ @$(COMMON_CONFIG_ENV) \
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -y $(CONFIG_CONFIG_IN)
+ $< --allyesconfig $(CONFIG_CONFIG_IN)
@rm -f $(CONFIG_DIR)/.config.nopkg
allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
@grep -v BR2_PACKAGE_ $(CONFIG_DIR)/.config > $(CONFIG_DIR)/.config.nopkg
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
+ @$(COMMON_CONFIG_ENV) \
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -n $(CONFIG_CONFIG_IN)
+ $< --allnoconfig $(CONFIG_CONFIG_IN)
@rm -f $(CONFIG_DIR)/.config.nopkg
+silentoldconfig: $(BUILD_DIR)/buildroot-config/conf
+ @mkdir -p $(BUILD_DIR)/buildroot-config
+ $(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN)
+
defconfig: $(BUILD_DIR)/buildroot-config/conf
@mkdir -p $(BUILD_DIR)/buildroot-config
- @KCONFIG_AUTOCONFIG=$(BUILD_DIR)/buildroot-config/auto.conf \
- KCONFIG_AUTOHEADER=$(BUILD_DIR)/buildroot-config/autoconf.h \
- BUILDROOT_CONFIG=$(CONFIG_DIR)/.config $< -d $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< --defconfig $(CONFIG_CONFIG_IN)
+
+%_defconfig: $(BUILD_DIR)/buildroot-config/conf $(TOPDIR)/configs/%_defconfig
+ @mkdir -p $(BUILD_DIR)/buildroot-config
+ @$(COMMON_CONFIG_ENV) $< --defconfig=$(TOPDIR)/configs/$@ $(CONFIG_CONFIG_IN)
+
+savedefconfig: $(BUILD_DIR)/buildroot-config/conf
+ @mkdir -p $(BUILD_DIR)/buildroot-config
+ @$(COMMON_CONFIG_ENV) $< --savedefconfig=$(TOPDIR)/defconfig $(CONFIG_CONFIG_IN)
# check if download URLs are outdated
source-check: allyesconfig
@@ -589,10 +587,6 @@ endif
flush:
rm -f $(BUILD_DIR)/tgt-config.cache $(BUILD_DIR)/host-config.cache
-%_defconfig: $(TOPDIR)/configs/%_defconfig
- cp $^ $(CONFIG_DIR)/.config
- @$(MAKE) $(EXTRAMAKEARGS) oldconfig
-
configured: dirs host-sed kernel-headers uclibc-config busybox-config linux26-config
prepatch: gcc-patched binutils-patched gdb-patched uclibc-patched