Browse Source

fix various automatic configuration targets

Waldemar Brodkorb 9 years ago
parent
commit
f919a87612
3 changed files with 28 additions and 18 deletions
  1. 7 6
      Makefile
  2. 19 10
      mk/build.mk
  3. 2 2
      scripts/bulk-qemu.sh

+ 7 - 6
Makefile

@@ -17,8 +17,9 @@ help:
 	@echo '  menuconfig   - Update current config utilising a menu based program'
 	@echo '                 (default when .config does not exist)'
 	@echo '  oldconfig    - Update current config utilising a provided .configs base'
-	@echo '  allmodconfig - New config selecting all packages as modules when possible'
-	@echo '  allconfig    - New config selecting all packages when possible'
+	@echo '  defconfig    - New config with defaults'
+	@echo '  allmodconfig - New config selecting all symbols with m'
+	@echo '  allyesconfig - New config selecting all symbols with y'
 	@echo '  allnoconfig  - New config where all options are answered with no'
 	@echo ''
 	@echo 'Help targets:'
@@ -132,13 +133,13 @@ defconfig: .prereq_done
 	@${GMAKE_INV} defconfig
 
 allnoconfig: .prereq_done
-	@${GMAKE_INV} _config W=--allnoconfig
+	@${GMAKE_INV} KCONFIG_ALLCONFIG=all.config _config W=--allnoconfig
 
-allconfig: .prereq_done
-	@${GMAKE_INV} _mconfig W=--allyesconfig RCONFIG=Config.in
+allyesconfig: .prereq_done
+	@${GMAKE_INV} KCONFIG_ALLCONFIG=all.config _config W=--allyesconfig
 
 allmodconfig: .prereq_done
-	@${GMAKE_INV} _mconfig W=--allmodconfig RCONFIG=Config.in
+	@${GMAKE_INV} KCONFIG_ALLCONFIG=all.config _config W=--allmodconfig
 
 package_index: .prereq_done
 	@${GMAKE_INV} package_index

+ 19 - 10
mk/build.mk

@@ -10,6 +10,7 @@ DEFCONFIG=		ADK_DEBUG=n \
 			ADK_PACKAGE_BUSYBOX_HIDE=n \
 			ADK_DISABLE_KERNEL_PATCHES=n \
 			ADK_DISABLE_TARGET_KERNEL_PATCHES=n \
+			ADK_CHOOSE_APPLIANCE=n \
 			ADK_WGET_TIMEOUT=180 \
 			ADK_MAKE_PARALLEL=y \
 			ADK_MAKE_JOBS=4 \
@@ -29,6 +30,7 @@ DEFCONFIG=		ADK_DEBUG=n \
 			ADK_KERNEL_ADDON_YAFFS2=n \
 			ADK_KERNEL_ADDON_GRSEC=n \
 			ADK_KERNEL_ADDON_MPTCP=n \
+			ADK_KERNEL_ADDON_DIETNET=n \
 			ADK_KERNEL_MPTCP=n \
 			ADK_STATIC_TOOLCHAIN=n \
 			ADK_TOOLCHAIN_WITH_SSP=n \
@@ -412,6 +414,12 @@ endif
 		echo "ADK_PACKAGE_MAKE=y" >> $(ADK_TOPDIR)/.defconfig; \
 		echo "ADK_PACKAGE_GLIBC_DEV=y" >> $(ADK_TOPDIR)/.defconfig; \
 	fi
+	@if [ ! -z "$(ADK_APPLIANCE)" ];then \
+		grep "^config" target/config/Config.in.appliances \
+			|grep -i "_$(ADK_APPLIANCE)$$" \
+			|sed -e "s#^config \(.*\)#\1=y#" \
+			 >> $(ADK_TOPDIR)/.defconfig; \
+	fi
 	@if [ ! -z "$(ADK_TARGET_ARCH)" ];then \
 		grep "^config" target/config/Config.in.arch.choice \
 			|grep -i "_$(ADK_TARGET_ARCH)$$" \
@@ -450,11 +458,11 @@ endif
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(ADK_TOPDIR)/.defconfig; \
 	fi
-	@if [ ! -z "$(ADK_TARGET_SYSTEM)" ];then \
-		$(CONFIG)/conf -D .defconfig $(CONFIG_CONFIG_IN); \
+	@if [ ! -z "$(ADK_APPLIANCE)" ];then \
+		$(CONFIG)/conf --defconfig=.defconfig $(CONFIG_CONFIG_IN); \
 	fi
 
-modconfig:
+allconfig:
 ifeq (${OStype},Linux)
 	@echo ADK_HOST_LINUX=y > $(ADK_TOPDIR)/all.config
 endif
@@ -476,6 +484,12 @@ endif
 ifneq (,$(filter CYGWIN%,${OStype}))
 	@echo ADK_HOST_CYGWIN=y > $(ADK_TOPDIR)/all.config
 endif
+	@if [ ! -z "$(ADK_APPLIANCE)" ];then \
+		grep "^config" target/config/Config.in.appliances \
+			|grep -i "_$(ADK_APPLIANCE)"\$$ \
+			|sed -e "s#^config \(.*\)#\1=y#" \
+			>> $(ADK_TOPDIR)/all.config; \
+	fi
 	@if [ ! -z "$(ADK_TARGET_ARCH)" ];then \
 		grep "^config" target/config/Config.in.arch.choice \
 			|grep -i "$(ADK_TARGET_ARCH)"\$$ \
@@ -512,16 +526,11 @@ menuconfig: $(CONFIG)/mconf defconfig .menu
 	@$(CONFIG)/mconf $(CONFIG_CONFIG_IN)
 	${POSTCONFIG}
 
-_config: $(CONFIG)/conf .menu
+_config: $(CONFIG)/conf allconfig .menu
 	-@touch .config
 	@$(CONFIG)/conf ${W} $(CONFIG_CONFIG_IN)
 	${POSTCONFIG}
 
-.NOTPARALLEL: _mconfig
-_mconfig: ${CONFIG}/conf _mconfig2 _config
-_mconfig2: ${CONFIG}/conf modconfig .menu
-	@${CONFIG}/conf -m ${RCONFIG} >/dev/null
-
 distclean:
 	@$(MAKE) -C $(CONFIG) clean
 	@rm -rf $(BUILD_DIR_PFX) $(FW_DIR_PFX) $(TARGET_DIR_PFX) $(DL_DIR)
@@ -541,7 +550,7 @@ endif # ! ifeq ($(strip $(ADK_HAVE_DOT_CONFIG)),y)
 buildall:
 	@mkdir -p firmware
 	@echo "=== building $(ADK_TARGET_SYSTEM) ($(ADK_TARGET_ARCH)) with $(ADK_TARGET_LIBC) ==="
-	$(GMAKE) ADK_TARGET_ARCH=$(ADK_TARGET_ARCH) ADK_TARGET_SYSTEM=$(ADK_TARGET_SYSTEM) ADK_TARGET_LIBC=$(ADK_TARGET_LIBC) allmodconfig
+	$(GMAKE) ADK_APPLIANCE=new ADK_TARGET_ARCH=$(ADK_TARGET_ARCH) ADK_TARGET_SYSTEM=$(ADK_TARGET_SYSTEM) ADK_TARGET_LIBC=$(ADK_TARGET_LIBC) allmodconfig
 	$(GMAKE) ADK_VERBOSE=1 all 2>&1 | tee firmware/buildall.log
 
 $(ADK_TOPDIR)/adk/tools/pkgmaker: $(ADK_TOPDIR)/adk/tools/pkgmaker.c $(ADK_TOPDIR)/adk/tools/sortfile.c $(ADK_TOPDIR)/adk/tools/strmap.c

+ 2 - 2
scripts/bulk-qemu.sh

@@ -3,7 +3,7 @@
 if [ ! -z $1 ];then
 	c=$1
 else
-	c="glibc musl uclibc"
+	c="uclibc-ng glibc musl uclibc"
 fi
 
 for libc in $c; do
@@ -11,7 +11,7 @@ for libc in $c; do
 		echo "Cleaning old stuff"
 		make cleandir
 		echo "Building $libc for $arch"
-		DEFAULT="VERBOSE=1 ADK_TARGET_ARCH=$arch ADK_TARGET_SYSTEM=qemu-$arch ADK_TARGET_LIBC=$libc ADK_TARGET_FS=initramfspiggyback"
+		DEFAULT="ADK_VERBOSE=1 ADK_APPLIANCE=new ADK_TARGET_ARCH=$arch ADK_TARGET_SYSTEM=qemu-$arch ADK_TARGET_LIBC=$libc ADK_TARGET_FS=initramfspiggyback"
 		case $arch in
 		mips|microblaze)
 			for endian in little big;do