diff --git a/openwrt/Makefile b/openwrt/Makefile index 92137eac2..dfa272120 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -166,27 +166,48 @@ $(CONFIG)/mconf: fi menuconfig: $(CONFIG)/mconf + -touch .config + -cp .config .config.test @$(CONFIG)/mconf $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl config: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl oldconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -o $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl randconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -r $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl allyesconfig: $(CONFIG)/conf #@$(CONFIG)/conf -y $(CONFIG_CONFIG_IN) #sed -i -e "s/^CONFIG_DEBUG.*/# CONFIG_DEBUG is not set/" .config + -touch .config + -cp .config .config.test @$(CONFIG)/conf -o $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl allnoconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -n $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl defconfig: $(CONFIG)/conf + -touch .config + -cp .config .config.test @$(CONFIG)/conf -d $(CONFIG_CONFIG_IN) + -./scripts/configtest.pl ############################################################# # diff --git a/openwrt/README b/openwrt/README index c79070cfa..7d937e76d 100644 --- a/openwrt/README +++ b/openwrt/README @@ -8,7 +8,7 @@ Simply running 'make' will build your firmware and a tarball of kernel modules. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications. -You can use flash.sh for remotely updating your embedded system +You can use scripts/flash.sh for remotely updating your embedded system via tftp. diff --git a/openwrt/package/config/mconf.c b/openwrt/package/config/mconf.c index 659e49cd6..0db6f8f6c 100644 --- a/openwrt/package/config/mconf.c +++ b/openwrt/package/config/mconf.c @@ -705,7 +705,6 @@ int main(int ac, char **av) conf_write(NULL); printf("\n\n" "*** End of Buildroot configuration.\n" - "*** After changing root fs, use make linux-dirclean.\n" "*** Check the top-level Makefile for additional configuration options.\n\n"); } else printf("\n\nYour Buildroot configuration changes were NOT saved.\n\n"); diff --git a/openwrt/scripts/configtest.pl b/openwrt/scripts/configtest.pl new file mode 100755 index 000000000..61fe8a7b6 --- /dev/null +++ b/openwrt/scripts/configtest.pl @@ -0,0 +1,11 @@ +#!/usr/bin/perl + +my %change = ( + 'ROOTFS' => 'make linux-dirclean' +); + +foreach my $change (keys %change) { + my $v1 = `grep '$change' .config.test`; + my $v2 = `grep '$change' .config`; + $v1 eq $v2 or system($change{$change}); +} diff --git a/openwrt/flash.sh b/openwrt/scripts/flash.sh similarity index 100% rename from openwrt/flash.sh rename to openwrt/scripts/flash.sh diff --git a/openwrt/target/Config.in b/openwrt/target/Config.in index 0fe83857c..36616f07b 100644 --- a/openwrt/target/Config.in +++ b/openwrt/target/Config.in @@ -1,5 +1,3 @@ -comment "after changing root fs, use make linux-dirclean" - choice prompt "Target Root Filesystem" source "target/jffs2/Config.in"