diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 104 |
1 files changed, 49 insertions, 55 deletions
@@ -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 |