Browse Source

rework menu based config system

After the addition of bare metal toolchains the menu system allowed
to create non-valid configurations. I reworked it so we can also
add other operating system support if we wish.
So first you choose your operating system, then your architecture
and endianess, after that your embedded system, emulator or
generic device and then you choose your task you want to run.

Tasks may be toolchain, a new appliance/application or some preconfigured
sets of packages and configurations as kodi, mpd, firefox and more.
The tasks are limited to a plausible choice of hardware and software.

Deduplicate CPU configuration.

You don't wanna compile Kodi for a H8/300 microcontroller ;)
Waldemar Brodkorb 4 years ago
parent
commit
c384dc577b
100 changed files with 1522 additions and 2173 deletions
  1. 7 3
      .gitignore
  2. 12 62
      Config.in
  3. 2 0
      adk/config/symbol.c
  4. 6 2
      adk/tools/pkgrebuild.c
  5. 4 4
      docs/adding-boards.txt
  6. 25 27
      mk/build.mk
  7. 2 0
      mk/image.mk
  8. 10 12
      mk/vars.mk
  9. 72 0
      package/Config.in.options
  10. 2 2
      package/boost/Makefile
  11. 1 2
      package/ffmpeg/Makefile
  12. 0 3
      package/kodi/Makefile
  13. 2 2
      package/libgcc/Makefile
  14. 1 1
      package/libvpx/Makefile
  15. 2 2
      package/mpg123/Makefile
  16. 1 2
      rules.mk
  17. 28 17
      scripts/create-menu
  18. 1 0
      target/aarch64/kernel/generic-aarch64
  19. 2 2
      target/aarch64/systems/arm-fm
  20. 2 2
      target/aarch64/systems/qemu-aarch64
  21. 0 9
      target/aarch64/systems/toolchain-aarch64
  22. 1 0
      target/alpha/kernel/generic-alpha
  23. 1 1
      target/alpha/systems/qemu-alpha
  24. 0 8
      target/alpha/systems/toolchain-alpha
  25. 0 5
      target/appliances/default.options
  26. 0 17
      target/appliances/mpd.options
  27. 1 0
      target/arc/kernel/generic-arc
  28. 1 1
      target/arc/systems/nsim-arcv1
  29. 1 1
      target/arc/systems/nsim-arcv2
  30. 0 7
      target/arc/systems/toolchain-arc
  31. 1 0
      target/arm/kernel/generic-arm
  32. 2 2
      target/arm/systems/banana-pro
  33. 2 2
      target/arm/systems/beaglebone-black
  34. 2 2
      target/arm/systems/kinetis-k70
  35. 2 2
      target/arm/systems/linksys-nslu2
  36. 2 2
      target/arm/systems/qemu-arm-realview-eb-mpcore
  37. 2 2
      target/arm/systems/qemu-arm-spitz
  38. 2 2
      target/arm/systems/qemu-arm-terrier
  39. 2 2
      target/arm/systems/qemu-arm-versatilepb
  40. 2 2
      target/arm/systems/qemu-arm-vexpress-a9
  41. 2 2
      target/arm/systems/raspberry-pi
  42. 2 2
      target/arm/systems/raspberry-pi2
  43. 2 2
      target/arm/systems/sharp-zaurus
  44. 2 2
      target/arm/systems/solidrun-imx6
  45. 0 7
      target/arm/systems/toolchain-arm
  46. 1 0
      target/avr32/kernel/generic-avr32
  47. 1 1
      target/avr32/systems/atmel-ngw100
  48. 0 8
      target/avr32/systems/toolchain-avr32
  49. 1 0
      target/bfin/kernel/generic-bfin
  50. 0 1
      target/bfin/systems/sim-bfin
  51. 0 8
      target/bfin/systems/toolchain-bfin
  52. 0 9
      target/c6x/systems/toolchain-c6x
  53. 1 10
      target/config/Config.in
  54. 8 18
      target/config/Config.in.adk
  55. 9 0
      target/config/Config.in.archopts
  56. 1 0
      target/config/Config.in.binfmt
  57. 3 3
      target/config/Config.in.binutils
  58. 1102 877
      target/config/Config.in.cpu
  59. 10 17
      target/config/Config.in.endian
  60. 10 10
      target/config/Config.in.fpu
  61. 2 2
      target/config/Config.in.kernelversion
  62. 52 26
      target/config/Config.in.libc
  63. 0 40
      target/config/Config.in.mips
  64. 17 0
      target/config/Config.in.os
  65. 4 0
      target/config/Config.in.qemuopts
  66. 7 7
      target/config/Config.in.rootfs
  67. 38 0
      target/config/Config.in.systemopts
  68. 1 69
      target/config/Config.in.target
  69. 0 675
      target/config/Config.in.tc
  70. 16 5
      target/config/Config.in.toolchain
  71. 0 15
      target/config/Config.in.x86_64
  72. 0 49
      target/config/Config.in.xtensa
  73. 1 1
      target/cris/systems/qemu-cris
  74. 0 7
      target/cris/systems/toolchain-cris
  75. 1 1
      target/frv/systems/sim-frv
  76. 0 8
      target/frv/systems/toolchain-frv
  77. 1 1
      target/h8300/systems/sim-h8300h
  78. 0 8
      target/h8300/systems/toolchain-h8300
  79. 0 8
      target/hppa/systems/toolchain-hppa
  80. 0 8
      target/ia64/systems/toolchain-ia64
  81. 2 2
      target/linux/config/Config.in.i2c
  82. 1 1
      target/linux/config/Config.in.watchdog
  83. 2 2
      target/linux/config/Config.in.xtensa
  84. 1 1
      target/lm32/systems/qemu-lm32
  85. 0 12
      target/lm32/systems/toolchain-lm32
  86. 1 1
      target/m68k/systems/aranym-m68k
  87. 1 1
      target/m68k/systems/qemu-m68k-mcf5208
  88. 1 1
      target/m68k/systems/qemu-m68k-q800
  89. 0 7
      target/m68k/systems/toolchain-m68k
  90. 1 1
      target/metag/systems/qemu-metag
  91. 0 8
      target/metag/systems/toolchain-metag
  92. 1 1
      target/microblaze/systems/qemu-microblaze-ml605
  93. 1 1
      target/microblaze/systems/qemu-microblaze-s3adsp1800
  94. 0 7
      target/microblaze/systems/toolchain-microblaze
  95. 1 0
      target/mips/kernel/generic-mips
  96. 2 2
      target/mips/systems/dragino-ms14s
  97. 2 2
      target/mips/systems/imgtec-ci20
  98. 2 2
      target/mips/systems/mikrotik-rb4xx
  99. 2 2
      target/mips/systems/mikrotik-rb532
  100. 0 0
      target/mips/systems/toolchain-mips

+ 7 - 3
.gitignore

@@ -50,9 +50,13 @@
 /extra/
 /target/*/Config.in.arch
 /target/*/Config.in.systems
-/target/config/Config.in.appliances
-/target/config/Config.in.system*
-/target/config/Config.in.arch*
+/target/config/Config.in.tasks
+/target/config/Config.in.system
+/target/config/Config.in.system.choice
+/target/config/Config.in.system.default
+/target/config/Config.in.arch
+/target/config/Config.in.arch.choice
+/target/config/Config.in.arch.default
 /target/config/Config.in.scripts
 /target/config/Config.in.prereq
 /target/m68k/aranym.cfg

+ 12 - 62
Config.in

@@ -13,95 +13,47 @@ config ADK_HAVE_DOT_CONFIG
 	bool
 	default y
 
-source "target/config/Config.in.appliances"
-
-menu "Target configuration"
-	visible if !ADK_CHOOSE_APPLIANCE
-
-source "target/config/Config.in.cpu"
+source "target/config/Config.in.os"
 source "target/config/Config.in.hardware"
 source "target/config/Config.in.boards"
 source "target/config/Config.in.kernelfmt"
 source "target/config/Config.in.arch"
+source "target/config/Config.in.endian"
+source "target/config/Config.in.archopts"
 source "target/config/Config.in.system"
+source "target/config/Config.in.systemopts"
 source "target/config/Config.in.subsystem"
-source "target/config/Config.in.tc"
-source "target/config/Config.in.xtensa"
 source "target/config/Config.in.qemuopts"
+source "target/config/Config.in.cpu"
+source "target/config/Config.in.tasks"
 source "target/config/Config.in.rootfs"
 source "target/config/Config.in.target"
 
-endmenu
-
 source "target/config/Config.in"
 
 menu "Package selection"
-	visible if !ADK_CHOOSE_APPLIANCE
-
+	visible if ADK_TARGET_OS_LINUX && !ADK_APPLIANCE_TOOLCHAIN
 source "package/Config.in.auto.global"
 source "package/Config.in"
-
 menu "Package options"
-	visible if !ADK_CHOOSE_APPLIANCE
-
-config ADK_LEAVE_ETC_ALONE
-	bool "do not install anything into /etc"
-	default n
-	help
-	  Enabling this option will prevent the ADK from installing anything
-	  into /etc. This is useful for highly customised setups with custom
-	  base-files packages.
-
-	  Package Makefiles can override this setting by passing "force_etc" to
-	  the package-template.  to a non-empty value. This is useful for
-	  packages traditionally installing non-config stuff into /etc, like
-	  e.g. ca-certificates.
-
-	  Note that without further customisation, turning this option
-	  on will almost certainly render the resulting system unusable.
-
-config ADK_INSTALL_PACKAGE_INIT_SCRIPTS
-	bool "ship custom init-scripts along with packages"
-	default y
-	depends on !ADK_LEAVE_ETC_ALONE
-	help
-	  Turning this option to false will prevent the ADK from
-	  installing init-scripts (i.e. files in /etc/init.d) for
-	  certain daemons and daemon-like applications.
-
-	  Note that without further customisation, turning this option
-	  off will almost certainly render the resulting system unusable.
-
-config ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS
-	bool "ship custom network-scripts along with packages"
-	default y
-	depends on !ADK_LEAVE_ETC_ALONE
-	help
-	  Turning this option to false will prevent the ADK from
-	  installing network-scripts (i.e. files in /etc/network/) for
-	  packages providing any.
-
-	  Note that without further customisation, turning this option
-	  off will almost certainly render the resulting system unusable.
-
+source "package/Config.in.options"
 endmenu
 endmenu
 
 menu "Runtime configuration"
-	visible if !ADK_CHOOSE_APPLIANCE
+	visible if ADK_TARGET_OS_LINUX && !ADK_APPLIANCE_TOOLCHAIN
 source "target/config/Config.in.runtime"
 endmenu
 
-menu "Kernel configuration"
-	visible if !ADK_CHOOSE_APPLIANCE && ADK_TARGET_KERNEL_CUSTOMISING
-
 source "target/config/Config.in.kernelversion"
+
+menu "Kernel configuration"
+	visible if ADK_TARGET_OS_LINUX && ADK_TARGET_KERNEL_CUSTOMISING && !ADK_APPLIANCE_TOOLCHAIN
 source "target/config/Config.in.kernelcfg"
 source "target/linux/Config.in"
 endmenu
 
 menu "Toolchain settings"
-	visible if !ADK_CHOOSE_APPLIANCE
 
 config ADK_VENDOR
 	string "Vendor name"
@@ -109,8 +61,6 @@ config ADK_VENDOR
 	help
 	  Vendor string is used for toolchain.
 
-source "target/config/Config.in.endian"
-source "target/config/Config.in.mips"
 source "target/config/Config.in.fpu"
 source "target/config/Config.in.float"
 source "target/config/Config.in.binfmt"

+ 2 - 0
adk/config/symbol.c

@@ -393,6 +393,7 @@ void sym_calc_value(struct symbol *sym)
 			}
 		calc_newval:
 			if (sym->dir_dep.tri == no) {
+				/*
 				if (sym->rev_dep.tri != no) {
 					fprintf(stderr, "warning: (");
 					expr_fprint(sym->rev_dep.expr, stderr);
@@ -401,6 +402,7 @@ void sym_calc_value(struct symbol *sym)
 					expr_fprint(sym->dir_dep.expr, stderr);
 					fprintf(stderr, ")\n");
 				}
+				*/
 				for (esv = sym->val_dep; esv; esv = esv->next) {
 					if ((esv->tri != no) &&
 					    (expr_calc_value(esv->value) != no)) {

+ 6 - 2
adk/tools/pkgrebuild.c

@@ -231,8 +231,10 @@ int main() {
 	closedir(pkgdir);
 
 	config = fopen(".config", "r");
-	if (config == NULL)
+	if (config == NULL) {
 		perror(".config is missing.");
+		exit(1);
+	}
 	
 	configmap = strmap_new(1024);
 	while (fgets(buf, 128, config) != NULL) {
@@ -245,8 +247,10 @@ int main() {
 	fclose(config);
 
 	configold = fopen(".config.old", "r");
-	if (configold == NULL)
+	if (configold == NULL) {
 		perror(".config.old is missing.");
+		exit(1);
+	}
 	
 	configoldmap = strmap_new(1024);
 	while (fgets(buf, 128, configold) != NULL) {

+ 4 - 4
docs/adding-boards.txt

@@ -16,8 +16,8 @@ target/arm/systems/raspberry-pi2
 ---------------------
 config ADK_TARGET_SYSTEM_RASPBERRY_PI2
         bool "Raspberry PI 2"
-        select ADK_CPU_CORTEX_A7
-        select ADK_TARGET_LITTLE_ENDIAN
+        depends on ADK_TARGET_LITTLE_ENDIAN
+        select ADK_TARGET_CPU_ARM_CORTEX_A7
         select ADK_TARGET_CPU_WITH_NEON
         select ADK_TARGET_BOARD_BCM28XX
         select ADK_TARGET_WITH_VGA
@@ -44,10 +44,10 @@ in OpenADK, you need to port it first.
 The hardware capabilities are optional. (f.e. ADK_TARGET_WITH_SD), but
 required when you configure the driver configuration later.
 
-For architectures with a choice for endianess you should select either
+For architectures with a choice for endianess you should depends on either
 ADK_TARGET_LITTLE_ENDIAN or ADK_TARGET_BIG_ENDIAN.
 
-If the CPU type like in this example ADK_CPU_CORTEX_A7 is not yet available
+If the CPU type like in this example ADK_TARGET_CPU_ARM_CORTEX_A7 is not yet available
 you need to add it to target/config/Config.in.cpu. For optimized code generation
 you should also add ADK_TARGET_GCC_CPU or ADK_TARGET_GCC_ARCH symbol for your CPU
 type. Furthermore you need to decide if your CPU has a MMU, FPU and NPTL support

+ 25 - 27
mk/build.mk

@@ -157,15 +157,16 @@ ${ADK_TOPDIR}/package/Depends.mk: ${ADK_TOPDIR}/.config $(wildcard ${ADK_TOPDIR}
 world:
 	@mkdir -p $(DL_DIR) $(HOST_BUILD_DIR) $(BUILD_DIR) $(TARGET_DIR) $(FW_DIR) \
 		$(STAGING_HOST_DIR) $(TOOLCHAIN_BUILD_DIR) $(STAGING_PKG_DIR)/stamps
-ifeq ($(ADK_TARGET_TOOLCHAIN),y)
-ifeq ($(ADK_TOOLCHAIN_ONLY),y)
-	$(MAKE) -f mk/build.mk package/hostcompile toolchain/final package/compile
+ifeq ($(ADK_APPLIANCE_TOOLCHAIN),y)
+	$(MAKE) -f mk/build.mk package/hostcompile toolchain/final
 else
-	$(MAKE) -f mk/build.mk package/hostcompile toolchain/final package/compile root_clean package/install
+ifeq ($(ADK_TARGET_OS_BAREMETAL),y)
+	$(MAKE) -f mk/build.mk package/hostcompile toolchain/final
 endif
-else
+ifeq ($(ADK_TARGET_OS_LINUX),y)
 	$(MAKE) -f mk/build.mk package/hostcompile toolchain/final target/config-prepare target/compile package/compile root_clean package/install target/install package_index
 endif
+endif
 
 package_index:
 ifeq ($(ADK_TARGET_PACKAGE_IPKG),y)
@@ -265,7 +266,7 @@ cleandir:
 	    ${ADK_TOPDIR}/package/pkglist.d ${ADK_TOPDIR}/package/pkgconfigs.d
 	@rm -rf $(TOOLCHAIN_DIR_PFX) $(STAGING_HOST_DIR_PFX)
 	@rm -rf $(STAGING_TARGET_DIR_PFX) $(STAGING_PKG_DIR_PFX)
-	@rm -f .menu .tmpconfig.h .rebuild*
+	@rm -f .menu .tmpconfig.h .rebuild* make.log
 	@rm -f ${ADK_TOPDIR}/package/Depends.mk ${ADK_TOPDIR}/prereq.mk
 	@printf "done\n"
 
@@ -287,8 +288,10 @@ distclean:
 	@rm -rf package/pkglist.d package/pkgconfigs.d
 	@rm -f .config* .defconfig .tmpconfig.h all.config prereq.mk make.log
 	@rm -f .firstrun .menu package/Depends.mk .ADK_HAVE_DOT_CONFIG .rebuild.*
-	@rm -f target/*/Config.in.arch* target/*/Config.in.system*
-	@rm -f package/Config.in.auto* package/Config.in.appliances
+	@rm -f target/*/Config.in.arch target/*/Config.in.systems target/config/Config.in.tasks
+	@rm -f target/config/Config.in.arch.choice target/config/Config.in.arch.default
+	@rm -f target/config/Config.in.system.choice target/config/Config.in.system.default
+	@rm -f package/Config.in.auto* target/config/Config.in.system
 	@rm -f target/config/Config.in.prereq target/config/Config.in.scripts
 	@rm -f adk/tools/pkgmaker adk/tools/depmaker adk/tools/pkgrebuild
 	@printf "done\n"
@@ -378,11 +381,17 @@ defconfig: .menu $(CONFIG)/conf
 		echo "ADK_PACKAGE_GLIBC_DEV=y" >> $(ADK_TOPDIR)/.defconfig; \
 	fi
 	@if [ ! -z "$(ADK_APPLIANCE)" ];then \
-		grep "^config" target/config/Config.in.appliances \
+		grep "^config" target/config/Config.in.tasks \
 			|grep -i "_$(ADK_APPLIANCE)$$" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			 >> $(ADK_TOPDIR)/.defconfig; \
 	fi
+	@if [ ! -z "$(ADK_TARGET_OS)" ];then \
+		grep "^config" target/config/Config.in.os \
+			|grep -i "_$(ADK_TARGET_OS)$$" \
+			|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)$$" \
@@ -422,7 +431,7 @@ defconfig: .menu $(CONFIG)/conf
 	fi
 	@if [ ! -z "$(ADK_TARGET_CPU)" ];then \
 		cpu=$$(echo "$(ADK_TARGET_CPU)" |sed -e "s/-/_/g"); \
-		grep -h "^config" target/config/Config.in.tc \
+		grep -h "^config" target/config/Config.in.cpu \
 			|grep -i "$$cpu$$" \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(ADK_TOPDIR)/.defconfig; \
@@ -453,19 +462,13 @@ defconfig: .menu $(CONFIG)/conf
 			>> $(ADK_TOPDIR)/.defconfig; \
 		fi; \
 	fi
-	@if [ ! -z "$(ADK_TARGET_XTENSA)" ];then \
-		grep "^config" target/config/Config.in.xtensa \
-			|grep -i "$(ADK_TARGET_XTENSA)" \
-			|sed -e "s#^config \(.*\)#\1=y#" \
-			>> $(ADK_TOPDIR)/.defconfig; \
-	fi
 	@if [ ! -z "$(ADK_APPLIANCE)" ];then \
 		$(CONFIG)/conf --defconfig=.defconfig $(CONFIG_CONFIG_IN); \
 	fi
 
 allconfig:
 	@if [ ! -z "$(ADK_APPLIANCE)" ];then \
-		grep "^config" target/config/Config.in.appliances \
+		grep "^config" target/config/Config.in.tasks \
 			|grep -i "_$(ADK_APPLIANCE)"\$$ \
 			|sed -e "s#^config \(.*\)#\1=y#" \
 			>> $(ADK_TOPDIR)/all.config; \
@@ -520,21 +523,16 @@ distclean cleandir:
 	@rm -rf package/pkglist.d package/pkgconfigs.d
 	@rm -f .config* .defconfig .tmpconfig.h all.config make.log
 	@rm -f .menu .rebuild.* package/Depends.mk .ADK_HAVE_DOT_CONFIG prereq.mk
-	@rm -f target/*/Config.in.arch*
-	@rm -f target/*/Config.in.system*
-	@rm -f package/Config.in.auto* package/Config.in.appliances
+	@rm -f target/*/Config.in.arch target/*/Config.in.systems
+	@rm -f target/config/Config.in.arch.choice target/config/Config.in.arch.default
+	@rm -f target/config/Config.in.system.choice target/config/Config.in.system.default
+	@rm -f package/Config.in.auto* target/config/Config.in.system target/config/Config.in.tasks
 	@rm -f target/config/Config.in.prereq target/config/Config.in.scripts
 	@rm -f adk/tools/pkgmaker adk/tools/depmaker adk/tools/pkgrebuild
 	@printf "done\n"
 
 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_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
 	@$(HOST_CC) $(HOST_CFLAGS) -o $@ adk/tools/pkgmaker.c adk/tools/sortfile.c adk/tools/strmap.c
 
@@ -544,7 +542,7 @@ $(ADK_TOPDIR)/adk/tools/pkgrebuild: $(ADK_TOPDIR)/adk/tools/pkgrebuild.c $(ADK_T
 $(ADK_TOPDIR)/adk/tools/depmaker: $(ADK_TOPDIR)/adk/tools/depmaker.c
 	@$(HOST_CC) $(HOST_CFLAGS) -o $@ $(ADK_TOPDIR)/adk/tools/depmaker.c
 
-menu .menu: $(wildcard package/*/Makefile) $(wildcard target/*/systems) $(wildcard target/*/systems/*) $(ADK_TOPDIR)/adk/tools/pkgmaker $(ADK_TOPDIR)/adk/tools/pkgrebuild $(wildcard target/appliances/*)
+menu .menu: $(wildcard package/*/Makefile) $(wildcard target/*/systems) $(wildcard target/*/systems/*) $(ADK_TOPDIR)/adk/tools/pkgmaker $(ADK_TOPDIR)/adk/tools/pkgrebuild $(wildcard tasks/*)
 	@printf " --->  generating menu structure.. "
 	@$(SHELL) $(ADK_TOPDIR)/scripts/create-menu
 	@$(ADK_TOPDIR)/adk/tools/pkgmaker

+ 2 - 0
mk/image.mk

@@ -1,6 +1,7 @@
 # This file is part of the OpenADK project. OpenADK is copyrighted
 # material, please see the LICENCE file in the top-level directory.
 
+ifeq ($(ADK_TARGET_OS_LINUX),y)
 # relative paths, like 'mksh' or '../usr/bin/foosh'
 ifeq (${ADK_BINSH_ASH},y)
 BINSH:=ash
@@ -36,6 +37,7 @@ ROOTSH:=/bin/zsh
 else
 $(error No login shell configured!)
 endif
+endif
 
 imageprepare: image-prepare-post extra-install prelink
 

+ 10 - 12
mk/vars.mk

@@ -9,18 +9,21 @@ INSTALL_SCRIPT=		install -m0755
 MAKEFLAGS=		$(EXTRA_MAKEFLAGS)
 BUILD_USER=		$(shell id -un)
 BUILD_GROUP=		$(shell id -gn)
-ADK_SUFFIX:=		${ADK_TARGET_SYSTEM}_${ADK_TARGET_LIBC}_${ADK_TARGET_CPU_ARCH}
-ifneq ($(ADK_TARGET_FLOAT),)
-ADK_SUFFIX:=		$(ADK_SUFFIX)_$(ADK_TARGET_FLOAT)
+ADK_SUFFIX:=		${ADK_TARGET_SYSTEM}
+ifneq ($(ADK_TARGET_ENDIAN_SUFFIX),)
+ADK_SUFFIX:=		$(ADK_SUFFIX)$(ADK_TARGET_ENDIAN_SUFFIX)
 endif
-ifneq ($(ADK_TARGET_ABI),)
-ADK_SUFFIX:=		$(ADK_SUFFIX)_$(ADK_TARGET_ABI)
+ifneq ($(ADK_TARGET_LIBC),)
+ADK_SUFFIX:=		$(ADK_SUFFIX)_$(ADK_TARGET_LIBC)
 endif
 ifneq ($(ADK_TARGET_CPU_TYPE),)
 ADK_SUFFIX:=		$(ADK_SUFFIX)_$(ADK_TARGET_CPU_TYPE)
 endif
-ifeq ($(ADK_TARGET_WITH_MMU),)
-ADK_SUFFIX:=		$(ADK_SUFFIX)_nommu
+ifneq ($(ADK_TARGET_FLOAT),)
+ADK_SUFFIX:=		$(ADK_SUFFIX)_$(ADK_TARGET_FLOAT)
+endif
+ifneq ($(ADK_TARGET_ABI),)
+ADK_SUFFIX:=		$(ADK_SUFFIX)_$(ADK_TARGET_ABI)
 endif
 
 # some global dirs
@@ -126,14 +129,9 @@ endif
 
 # for architectures where gcc --with-cpu matches -mcpu=
 ifneq ($(ADK_TARGET_GCC_CPU),)
-ifeq ($(ADK_CPU_ARC700),y)
-TARGET_CFLAGS+=		-mcpu=ARC700
-TARGET_CXXFLAGS+=	-mcpu=ARC700
-else
 TARGET_CFLAGS+=		-mcpu=$(ADK_TARGET_GCC_CPU)
 TARGET_CXXFLAGS+=	-mcpu=$(ADK_TARGET_GCC_CPU)
 endif
-endif
 
 # for archiectures where gcc --with-arch matches -march=
 ifneq ($(ADK_TARGET_GCC_ARCH),)

+ 72 - 0
package/Config.in.options

@@ -0,0 +1,72 @@
+config ADK_PACKAGE_SUFFIX
+	string
+	default "ipk" if ADK_TARGET_PACKAGE_IPKG
+	default "ipk" if ADK_TARGET_PACKAGE_OPKG
+	default "tar.xz" if ADK_TARGET_PACKAGE_TXZ
+
+choice
+prompt "Package format"
+default ADK_TARGET_PACKAGE_TXZ
+
+config ADK_TARGET_PACKAGE_TXZ
+	bool "xz compressed tar archive"
+	help
+	  Create compressed tar archives of packages.
+	  Pre- and post install scripts will be executed in the target
+	  directory. There will be no package manager installed onto the target.
+
+config ADK_TARGET_PACKAGE_IPKG
+	bool "ipkg"
+	select BUSYBOX_IPKG
+	help
+	  Create ipkg packages and use ipkg package management on the target.
+
+config ADK_TARGET_PACKAGE_OPKG
+	bool "opkg"
+	select ADK_PACKAGE_OPKG
+	select ADK_HOST_NEED_OPKG
+	help
+	  Create opkg packages and use opkg package management on the target.
+	  
+endchoice
+config ADK_LEAVE_ETC_ALONE
+	bool "do not install anything into /etc"
+	default n
+	help
+	  Enabling this option will prevent the ADK from installing anything
+	  into /etc. This is useful for highly customised setups with custom
+	  base-files packages.
+
+	  Package Makefiles can override this setting by passing "force_etc" to
+	  the package-template.  to a non-empty value. This is useful for
+	  packages traditionally installing non-config stuff into /etc, like
+	  e.g. ca-certificates.
+
+	  Note that without further customisation, turning this option
+	  on will almost certainly render the resulting system unusable.
+
+config ADK_INSTALL_PACKAGE_INIT_SCRIPTS
+	bool "ship custom init-scripts along with packages"
+	default y
+	depends on !ADK_LEAVE_ETC_ALONE
+	help
+	  Turning this option to false will prevent the ADK from
+	  installing init-scripts (i.e. files in /etc/init.d) for
+	  certain daemons and daemon-like applications.
+
+	  Note that without further customisation, turning this option
+	  off will almost certainly render the resulting system unusable.
+
+config ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS
+	bool "ship custom network-scripts along with packages"
+	default y
+	depends on !ADK_LEAVE_ETC_ALONE
+	help
+	  Turning this option to false will prevent the ADK from
+	  installing network-scripts (i.e. files in /etc/network/) for
+	  packages providing any.
+
+	  Note that without further customisation, turning this option
+	  off will almost certainly render the resulting system unusable.
+
+

+ 2 - 2
package/boost/Makefile

@@ -107,10 +107,10 @@ endif
 ifeq ($(ADK_TARGET_ARCH),ppc)
 BOOST_ARCH:=	power
 endif
-ifeq ($(ADK_CPU_MIPS32),y)
+ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32),y)
 BOOST_ARCH:=	mips32
 endif
-ifeq ($(ADK_CPU_MIPS32R2),y)
+ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32R2),y)
 BOOST_ARCH:=	mips32r2
 endif
 

+ 1 - 2
package/ffmpeg/Makefile

@@ -154,11 +154,10 @@ endif
 ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
 CONFIGURE_CPU_OPTS:=	--enable-armv6
 endif
-ifeq ($(ADK_CPU_MIPS32),y)
+ifeq ($(ADK_TARGET_CPU_MIPS_MIPS32),y)
 CONFIGURE_CPU_OPTS+=	--disable-mipsdspr1 --disable-mipsdspr2
 endif
 
-
 CONFIG_STYLE:=		minimal
 CONFIGURE_ARGS:=	--prefix=/usr \
 			--target-os=linux \

+ 0 - 3
package/kodi/Makefile

@@ -69,9 +69,6 @@ PKGFS_WITH_LIRC:=	lirc
 PKGFD_WITH_WEBSERVER:=	enable internal webserver support
 
 PKG_BUILDDEP_SOLIDRUN_IMX6:=	gpu-viv-bin-mx6q
-
-# freescale GL libraries linked against glibc
-PKG_LIBC_DEPENDS:=	glibc uclibc-ng
 PKG_SYSTEM_DEPENDS:=	raspberry-pi raspberry-pi2 solidrun-imx6
 
 DIFF_IGNOREFILES:=	configure missing depcomp install-sh INSTALL \

+ 2 - 2
package/libgcc/Makefile

@@ -26,10 +26,10 @@ INSTALL_STYLE:=		manual
 libgcc-install:
 	$(INSTALL_DIR) ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
 ifeq ($(ADK_TARGET_ARCH_SH),y)
-ifeq ($(ADK_CPU_SH3),y)
+ifeq ($(ADK_TARGET_CPU_SH_SH3),y)
 	${CP} ${STAGING_TARGET_DIR}/usr/lib/!m3*/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
 endif
-ifeq ($(ADK_CPU_SH4),y)
+ifeq ($(ADK_TARGET_CPU_SH_SH4),y)
 	${CP} ${STAGING_TARGET_DIR}/usr/lib/!m4*/libgcc*.so* ${IDIR_LIBGCC}/$(ADK_TARGET_LIBC_PATH)
 endif
 else

+ 1 - 1
package/libvpx/Makefile

@@ -44,7 +44,7 @@ endif
 ifeq ($(ADK_TARGET_ARCH_MIPS),y)
 CONFIGURE_ARGS+=	--target=mips32-linux-gcc
 endif
-ifeq ($(ADK_CPU_LOONGSON2F),y)
+ifeq ($(ADK_TARGET_CPU_MIPS64_LOONGSON2F),y)
 CONFIGURE_ARGS+=	--target=loongson2f-linux-gcc
 endif
 ifeq ($(ADK_TARGET_ARCH_MIPS64),y)

+ 2 - 2
package/mpg123/Makefile

@@ -23,10 +23,10 @@ $(eval $(call PKG_template,MPG123,mpg123,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEP
 
 AUTOTOOL_STYLE:=	autoreconf
 
-ifeq ($(ADK_CPU_I486),y)
+ifeq ($(ADK_TARGET_CPU_X86_I486),y)
 CONFIGURE_ARGS+=	--with-cpu=i486
 endif
-ifeq ($(ADK_CPU_I586),y)
+ifeq ($(ADK_TARGET_CPU_X86_I586),y)
 CONFIGURE_ARGS+=	--with-cpu=i586
 endif
 ifeq ($(ADK_TARGET_CPU_WITH_NEON),y)

+ 1 - 2
rules.mk

@@ -25,7 +25,6 @@ SET_DASHX:=		:
 endif
 
 # Strip off the annoying quoting
-ADK_APPLIANCE_VERSION:=			$(strip $(subst ",, $(ADK_APPLIANCE_VERSION)))
 ADK_TARGET_ARCH:=			$(strip $(subst ",, $(ADK_TARGET_ARCH)))
 ADK_TARGET_SYSTEM:=			$(strip $(subst ",, $(ADK_TARGET_SYSTEM)))
 ADK_TARGET_BOARD:=			$(strip $(subst ",, $(ADK_TARGET_BOARD)))
@@ -35,6 +34,7 @@ ADK_TARGET_KERNEL:=			$(strip $(subst ",, $(ADK_TARGET_KERNEL)))
 ADK_TARGET_LIBC:=			$(strip $(subst ",, $(ADK_TARGET_LIBC)))
 ADK_TARGET_LIBC_PATH:=			$(strip $(subst ",, $(ADK_TARGET_LIBC_PATH)))
 ADK_TARGET_ENDIAN:=			$(strip $(subst ",, $(ADK_TARGET_ENDIAN)))
+ADK_TARGET_ENDIAN_SUFFIX:=		$(strip $(subst ",, $(ADK_TARGET_ENDIAN_SUFFIX)))
 ADK_TARGET_GCC_CPU:=			$(strip $(subst ",, $(ADK_TARGET_GCC_CPU)))
 ADK_TARGET_GCC_ARCH:=			$(strip $(subst ",, $(ADK_TARGET_GCC_ARCH)))
 ADK_TARGET_FLOAT:=			$(strip $(subst ",, $(ADK_TARGET_FLOAT)))
@@ -46,7 +46,6 @@ ADK_TARGET_CFLAGS_OPT:=			$(strip $(subst ",, $(ADK_TARGET_CFLAGS_OPT)))
 ADK_TARGET_ABI_CFLAGS:=			$(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
 ADK_TARGET_ABI:=			$(strip $(subst ",, $(ADK_TARGET_ABI)))
 ADK_TARGET_MIPS_ABI:=			$(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))
-ADK_TARGET_XTENSA:=			$(strip $(subst ",, $(ADK_TARGET_XTENSA)))
 ADK_TARGET_IP:=				$(strip $(subst ",, $(ADK_TARGET_IP)))
 ADK_TARGET_SUFFIX:=			$(strip $(subst ",, $(ADK_TARGET_SUFFIX)))
 ADK_TARGET_CMDLINE:=			$(strip $(subst ",, $(ADK_TARGET_CMDLINE)))

+ 28 - 17
scripts/create-menu

@@ -11,20 +11,13 @@ printf "# autogenerated via scripts/create-menu\n" > target/config/Config.in.sys
 printf "source target/config/Config.in.system.default\n" >> target/config/Config.in.system
 printf "source target/config/Config.in.system.choice\n" >> target/config/Config.in.system
 
-# update appliances
-if [ -d "$topdir/target/appliances" ];then
-	printf "# autogenerated via scripts/create-menu\n" > $topdir/target/config/Config.in.appliances
-	printf "choice\n" >> $topdir/target/config/Config.in.appliances
-	printf "prompt \"Appliance\"\n\n" >> $topdir/target/config/Config.in.appliances
-	printf "config ADK_CHOOSE_APPLIANCE\n" >> $topdir/target/config/Config.in.appliances
-	printf "\tprompt \"choose an appliance\"\n" >> $topdir/target/config/Config.in.appliances
-	printf "\tbool\n\n" >> $topdir/target/config/Config.in.appliances
-	cat $topdir/target/appliances/*.appliance >> $topdir/target/config/Config.in.appliances 2>/dev/null
-	printf "\nendchoice\n\n" >> $topdir/target/config/Config.in.appliances
-	printf "menu \"Appliance Options\"\n" >> $topdir/target/config/Config.in.appliances
-	printf "\tvisible if !ADK_CHOOSE_APPLIANCE\n" >> $topdir/target/config/Config.in.appliances
-	cat $topdir/target/appliances/*.options >> $topdir/target/config/Config.in.appliances 2>/dev/null
-	printf "endmenu\n" >> $topdir/target/config/Config.in.appliances
+# update tasks
+if [ -d "$topdir/tasks" ];then
+	printf "# autogenerated via scripts/create-menu\n" > $topdir/target/config/Config.in.tasks
+	printf "choice\n" >> $topdir/target/config/Config.in.tasks
+	printf "prompt \"Task\"\n\n" >> $topdir/target/config/Config.in.tasks
+	cat $topdir/tasks/* >> $topdir/target/config/Config.in.tasks 2>/dev/null
+	printf "\nendchoice\n\n" >> $topdir/target/config/Config.in.tasks
 fi
 
 # create system default
@@ -43,9 +36,19 @@ for i in $systems;do
 done
 
 # create or update systems
+for arch in $(cat $topdir/target/arch.lst);do
+	ARCH=$(echo $arch | tr '[:lower:]' '[:upper:]')
+	printf "config ADK_TARGET_SYSTEM_GENERIC_$ARCH\n" > $topdir/target/$arch/Config.in.systems
+	printf "\tbool \"Generic\"\n" >> $topdir/target/$arch/Config.in.systems
+	printf "\tselect ADK_TARGET_GENERIC\n" >> $topdir/target/$arch/Config.in.systems
+	printf "\thelp\n" >> $topdir/target/$arch/Config.in.systems
+	printf "\t  Generic $ARCH system.\n\n" >> $topdir/target/$arch/Config.in.systems
+	printf "\tdefault \"generic-${arch}\" if ADK_TARGET_SYSTEM_GENERIC_$ARCH\n" >> $topdir/target/config/Config.in.system.default
+done
+
 for i in $(ls $topdir/target/);do
 	if [ -d "$topdir/target/$i/systems" ];then
-		cat $topdir/target/$i/systems/* > $topdir/target/$i/Config.in.systems 2>/dev/null
+		cat $topdir/target/$i/systems/* >> $topdir/target/$i/Config.in.systems 2>/dev/null
 	fi
 done
 
@@ -55,7 +58,7 @@ printf "# autogenerated via scripts/create-menu\n" > target/config/Config.in.arc
 for arch in $(cat $topdir/target/arch.lst);do
 	ARCH=$(echo $arch | tr '[:lower:]' '[:upper:]')
 	printf "choice\n" > $topdir/target/$arch/Config.in.arch
-	printf "prompt \"Embedded system\"\n" >> $topdir/target/$arch/Config.in.arch
+	printf "prompt \"System\"\n" >> $topdir/target/$arch/Config.in.arch
 	printf "depends on ADK_TARGET_ARCH_$ARCH\n" >> $topdir/target/$arch/Config.in.arch
 	printf "source target/$arch/Config.in.systems\n" >> $topdir/target/$arch/Config.in.arch
 	printf "endchoice\n" >> $topdir/target/$arch/Config.in.arch
@@ -82,7 +85,15 @@ EOD
 for arch in $(cat $topdir/target/arch.lst);do
 	ARCH=$(echo $arch | tr '[:lower:]' '[:upper:]')
 	printf "config ADK_TARGET_ARCH_$ARCH\n" >> $topdir/target/config/Config.in.arch.choice
-	printf "\tbool \"$arch system\"\n" >> $topdir/target/config/Config.in.arch.choice
+	printf "\tbool \"$arch\"\n" >> $topdir/target/config/Config.in.arch.choice
+	case $arch in
+		alpha|ia64|sh|sparc64|s390|tile|ppc64|mips64|x86_64)
+		  printf "\tdepends on ADK_TARGET_OS_LINUX\n" >> $topdir/target/config/Config.in.arch.choice
+		  ;;
+		nds32|moxie|v850)
+		  printf "\tdepends on ADK_TARGET_OS_BAREMETAL\n" >> $topdir/target/config/Config.in.arch.choice
+		  ;;
+	esac
 	printf "\thelp\n" >> $topdir/target/config/Config.in.arch.choice
 	printf "\t  Support for $ARCH systems.\n\n" >> $topdir/target/config/Config.in.arch.choice
 done

+ 1 - 0
target/aarch64/kernel/generic-aarch64

@@ -0,0 +1 @@
+CONFIG_ARM64=y

+ 2 - 2
target/aarch64/systems/arm-fm

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_ARM_FM
 	bool "ARMv8 Foundation Model"
-	select ADK_CPU_CORTEX_A57
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A57
 	select ADK_TARGET_KERNEL_IMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION
 	select ADK_PACKAGE_BOOT_WRAPPER_AARCH64

+ 2 - 2
target/aarch64/systems/qemu-aarch64

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_AARCH64
 	bool "Qemu Emulator"
-	select ADK_CPU_CORTEX_A57
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A57
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_IMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 0 - 9
target/aarch64/systems/toolchain-aarch64

@@ -1,9 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_AARCH64
-	bool "Toolchain only"
-	select ADK_CPU_CORTEX_A57
-	select ADK_TARGET_LITTLE_ENDIAN
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  AARCH64 toolchain.
-

+ 1 - 0
target/alpha/kernel/generic-alpha

@@ -0,0 +1 @@
+CONFIG_ALPHA=y

+ 1 - 1
target/alpha/systems/qemu-alpha

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_QEMU_ALPHA
 	bool "Qemu Emulator"
-	select ADK_CPU_ALPHA
+	select ADK_TARGET_CPU_ALPHA
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION
 	help

+ 0 - 8
target/alpha/systems/toolchain-alpha

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_ALPHA
-	bool "Toolchain only"
-	select ADK_CPU_ALPHA
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  ALPHA toolchain.
-

+ 0 - 5
target/appliances/default.options

@@ -1,5 +0,0 @@
-config ADK_APPLIANCE_VERSION
-	prompt "version string"
-	string
-	help
-	  Configure version for appliance

+ 0 - 17
target/appliances/mpd.options

@@ -1,17 +0,0 @@
-choice
-prompt "Choose a GUI"
-depends on ADK_APPLIANCE_MPD
-
-config ADK_APPLIANCE_MPD_MPDBOX
-	bool "use mpdbox html/javascript frontend"
-	select ADK_PACKAGE_MPDBOX
-
-config ADK_APPLIANCE_MPD_YMPD
-	bool "use ympd frontend"
-	select ADK_PACKAGE_YMPD
-	select ADK_RUNTIME_START_YMPD
-
-config ADK_APPLIANCE_MPD_NOGUI
-	bool "use no gui frontend"
-
-endchoice

+ 1 - 0
target/arc/kernel/generic-arc

@@ -0,0 +1 @@
+CONFIG_ARC=y

+ 1 - 1
target/arc/systems/nsim-arcv1

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_NSIM_ARCV1
 	bool "Synopsys NSIM Emulator (ARCv1)"
-	select ADK_CPU_ARC700
+	select ADK_TARGET_CPU_ARC_ARC700
 	select ADK_TARGET_WITH_NET
 	select ADK_TARGET_WITH_SERIAL
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 1 - 1
target/arc/systems/nsim-arcv2

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_NSIM_ARCV2
 	bool "Synopsys NSIM Emulator (ARCv2)"
-	select ADK_CPU_ARC_HS
+	select ADK_TARGET_CPU_ARC_ARC_HS
 	select ADK_TARGET_WITH_NET
 	select ADK_TARGET_WITH_SERIAL
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 0 - 7
target/arc/systems/toolchain-arc

@@ -1,7 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_ARC
-	bool "Toolchain only"
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  ARC toolchain.
-

+ 1 - 0
target/arm/kernel/generic-arm

@@ -0,0 +1 @@
+CONFIG_ARM=y

+ 2 - 2
target/arm/systems/banana-pro

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_BANANA_PRO
 	bool "Banana Pro"
-	select ADK_CPU_CORTEX_A7
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A7
 	select ADK_TARGET_CPU_WITH_NEON
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_SERIAL

+ 2 - 2
target/arm/systems/beaglebone-black

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
 	bool "BeagleBone Black"
-	select ADK_TARGET_LITTLE_ENDIAN
-	select ADK_CPU_CORTEX_A8
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A8
 	select ADK_TARGET_CPU_WITH_NEON
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_SERIAL

+ 2 - 2
target/arm/systems/kinetis-k70

@@ -1,8 +1,8 @@
 config ADK_TARGET_SYSTEM_KINETIS_K70
 	bool "Kinetis K70"
 	depends on ADK_EXPERIMENTAL
-	select ADK_CPU_CORTEX_M3
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_M3
 	select ADK_TARGET_WITH_SERIAL
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_NETDEVICE

+ 2 - 2
target/arm/systems/linksys-nslu2

@@ -1,8 +1,8 @@
 config ADK_TARGET_SYSTEM_LINKSYS_NSLU2
 	bool "Linksys NSLU2"
 	depends on ADK_EXPERIMENTAL
-	select ADK_CPU_XSCALE
-	select ADK_TARGET_BIG_ENDIAN
+	depends on ADK_TARGET_BIG_ENDIAN
+	select ADK_TARGET_CPU_ARM_XSCALE
 	select ADK_TARGET_WITH_USB
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_SERIAL

+ 2 - 2
target/arm/systems/qemu-arm-realview-eb-mpcore

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_ARM_REALVIEW_EB_MPCORE
 	bool "Qemu Emulator (Realview/EB-Mpcore)"
-	select ADK_CPU_ARM11MPCORE
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_ARM11MPCORE
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_WITH_SMP
 	select ADK_TARGET_KERNEL_ZIMAGE

+ 2 - 2
target/arm/systems/qemu-arm-spitz

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ
 	bool "Qemu Emulator (Spitz PDA)"
-	select ADK_CPU_XSCALE
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_XSCALE
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_ZIMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 2 - 2
target/arm/systems/qemu-arm-terrier

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER
 	bool "Qemu Emulator (Terrier PDA)"
-	select ADK_CPU_XSCALE
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_XSCALE
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_ZIMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 2 - 2
target/arm/systems/qemu-arm-versatilepb

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB
 	bool "Qemu Emulator (Versatile/PB)"
-	select ADK_CPU_ARM926EJ_S
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_ARM926EJ_S
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_ZIMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 2 - 2
target/arm/systems/qemu-arm-vexpress-a9

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
 	bool "Qemu Emulator (Vexpress A9)"
-	select ADK_CPU_CORTEX_A9
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A9
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_ZIMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 2 - 2
target/arm/systems/raspberry-pi

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_RASPBERRY_PI
 	bool "Raspberry PI"
-	select ADK_CPU_ARM1176JZF_S
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_ARM1176JZF_S
 	select ADK_TARGET_BOARD_BCM28XX
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_SERIAL

+ 2 - 2
target/arm/systems/raspberry-pi2

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_RASPBERRY_PI2
 	bool "Raspberry PI 2"
-	select ADK_CPU_CORTEX_A7
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A7
 	select ADK_TARGET_BOARD_BCM28XX
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_SERIAL

+ 2 - 2
target/arm/systems/sharp-zaurus

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_SHARP_ZAURUS
 	bool "Sharp Zaurus CL3200 (Terrier)"
-	select ADK_CPU_XSCALE
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_XSCALE
 	select ADK_TARGET_CPU_WITH_IWMMXT
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_SERIAL

+ 2 - 2
target/arm/systems/solidrun-imx6

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 	bool "Solidrun IMX6 Embedded Systems"
-	select ADK_CPU_CORTEX_A9
-	select ADK_TARGET_LITTLE_ENDIAN
+	depends on ADK_TARGET_LITTLE_ENDIAN
+	select ADK_TARGET_CPU_ARM_CORTEX_A9
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_SERIAL
 	select ADK_TARGET_WITH_PCI

+ 0 - 7
target/arm/systems/toolchain-arm

@@ -1,7 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_ARM
-	bool "Toolchain only"
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  ARM toolchain.
-

+ 1 - 0
target/avr32/kernel/generic-avr32

@@ -0,0 +1 @@
+CONFIG_AVR32=y

+ 1 - 1
target/avr32/systems/atmel-ngw100

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_ATMEL_NGW100
 	bool "Atmel NGW100"
-	select ADK_CPU_AVR32
+	select ADK_TARGET_CPU_AVR32
 	select ADK_TARGET_WITH_SERIAL
 	select ADK_TARGET_WITH_PCI
 	select ADK_TARGET_WITH_NET

+ 0 - 8
target/avr32/systems/toolchain-avr32

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_AVR32
-	bool "Toolchain only"
-	select ADK_CPU_AVR32
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  AVR32 toolchain.
-

+ 1 - 0
target/bfin/kernel/generic-bfin

@@ -0,0 +1 @@
+CONFIG_BLACKFIN=y

+ 0 - 1
target/bfin/systems/sim-bfin

@@ -1,6 +1,5 @@
 config ADK_TARGET_SYSTEM_SIM_BFIN
 	bool "GDB simulator"
-	select ADK_CPU_BFIN
 	select ADK_TARGET_SIM
 	select ADK_TARGET_PACKAGE_TXZ
 	help

+ 0 - 8
target/bfin/systems/toolchain-bfin

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_BFIN
-	bool "Toolchain only"
-	select ADK_CPU_BFIN
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  BFIN toolchain.
-

+ 0 - 9
target/c6x/systems/toolchain-c6x

@@ -1,9 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_C6X
-	bool "Toolchain only"
-	select ADK_CPU_C6X
-	select ADK_TARGET_UCLINUX
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  C6X toolchain.
-

+ 1 - 10
target/config/Config.in

@@ -8,10 +8,7 @@ config ADK_LINUX_64
 config ADK_TARGET_KERNEL_64
 	bool
 
-config ADK_TOOLCHAIN_ONLY
-	bool
-
-config ADK_TARGET_TOOLCHAIN
+config ADK_TARGET_GENERIC
 	bool
 
 config ADK_TARGET_UCLINUX
@@ -32,12 +29,6 @@ config ADK_TARGET_VBOX
 	select ADK_TARGET_WITH_NET
 	select ADK_TARGET_WITH_NETDEVICE
 
-config ADK_TARGET_ARCH_ARM_WITH_THUMB
-	bool
-	select ADK_KERNEL_ARM_THUMB
-	select ADK_KERNEL_THUMB2_KERNEL
-	depends on ADK_TARGET_ARCH_ARM
-
 # the inverse of ADK_TARGET_KERNEL_CUSTOMISING,
 # allows for selecting it off (i.e., to disable it)
 config ADK_TARGET_FIXED_KERNEL

+ 8 - 18
target/config/Config.in.adk

@@ -1,17 +1,16 @@
 # This file is part of the OpenADK project. OpenADK is copyrighted
 # material, please see the LICENCE file in the top-level directory.
 
-menu "Global ADK settings"
-	visible if !ADK_CHOOSE_APPLIANCE
+menu "Global settings"
 
 config ADK_HOST
 	string "webserver for packages and distfiles"
 	default "openadk.org"
 	help
-	  Configure host for IPKG package management.
+	  Configure host for package management and backup server for distfiles.
 
 config ADK_DL_DIR
-	string "download directory for packages"
+	string "download directory for source packages"
 	default ""
 	help
 	  Configure the download directory for all source packages.
@@ -30,7 +29,7 @@ config ADK_BUILD_WITH_DEBUG
 	default n
 	help
 	  If you want to create debug packages, you should enable this option.
-	  WARNING: It will use a lot of aditional disk space on you build system!
+	  WARNING: It will use a lot of additional disk space on you build system!
 
 config ADK_DISABLE_HONOUR_CFLAGS
 	bool "Disable honour CFLAGS checks globally"
@@ -46,6 +45,7 @@ config ADK_DISABLE_CHECKSUM
 
 config ADK_DISABLE_KERNEL_PATCHES
 	bool "Disable global kernel patches"
+	depends on ADK_TARGET_OS_LINUX
 	default n
 	help
 	  Disable all global kernel patches.
@@ -54,6 +54,7 @@ config ADK_DISABLE_KERNEL_PATCHES
 
 config ADK_DISABLE_TARGET_KERNEL_PATCHES
 	bool "Disable target specific kernel patches"
+	depends on ADK_TARGET_OS_LINUX && !ADK_APPLIANCE_TOOLCHAIN
 	default n
 	help
 	  Disable all target specific kernel patches.
@@ -64,7 +65,7 @@ config ADK_WGET_TIMEOUT
 	int "Set wget timeout"
 	default 10
 	help
-	  set wget timeout	
+	  Set wget timeout	
 
 config ADK_USE_CCACHE
 	bool "Use ccache to speedup recompilation"
@@ -78,7 +79,7 @@ config ADK_MAKE_JOBS
 	default 1 if ! ADK_MAKE_PARALLEL
 
 config ADK_MAKE_PARALLEL
-	bool "Enable parallel building of packages"
+	bool "Enable parallel building"
 	default y
 
 config ADK_MAKE_JOBS
@@ -101,15 +102,4 @@ config ADK_TARGET_PORT
 	help
 	  Port to use for SSH when running make check.
 
-config ADK_PRELINK
-	prompt "Prelink binaries and libraries in Image"
-	boolean
-	help
-	  Do prelinking for faster loading of binaries.
-
-config ADK_PRELINK_OPTS
-	string "additional options to pass to prelink"
-	default "-mR"
-	depends on ADK_PRELINK
-
 endmenu

+ 9 - 0
target/config/Config.in.archopts

@@ -0,0 +1,9 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+config ADK_TARGET_ARCH_ARM_WITH_THUMB
+       bool
+       select ADK_KERNEL_ARM_THUMB
+       select ADK_KERNEL_THUMB2_KERNEL
+       depends on ADK_TARGET_ARCH_ARM
+

+ 1 - 0
target/config/Config.in.binfmt

@@ -3,6 +3,7 @@
 
 choice
 prompt "Binary Format"
+depends on ADK_TARGET_OS_LINUX
 
 config ADK_TARGET_BINFMT_ELF
 	bool "ELF"

+ 3 - 3
target/config/Config.in.binutils

@@ -21,7 +21,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_26
 	bool "2.26"
 	depends on !ADK_TARGET_ARCH_ARC
 	depends on !ADK_TARGET_ARCH_AVR32
-	depends on !ADK_CPU_CRIS_V10
+	depends on !ADK_TARGET_CPU_CRIS_CRISV10
 
 config ADK_TOOLCHAIN_BINUTILS_2_25_1
 	bool "2.25.1"
@@ -30,7 +30,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_25_1
 	depends on !ADK_TARGET_ARCH_AVR32
 	depends on !ADK_TARGET_ARCH_H8300
 	depends on !ADK_TARGET_ARCH_MOXIE
-	depends on !ADK_CPU_CRIS_V10
+	depends on !ADK_TARGET_CPU_CRIS_CRISV10
 
 config ADK_TOOLCHAIN_BINUTILS_2_24
 	bool "2.24"
@@ -47,7 +47,7 @@ config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
 
 config ADK_TOOLCHAIN_BINUTILS_2_22
 	bool "2.22"
-	depends on ADK_CPU_CRIS_V10
+	depends on ADK_TARGET_CPU_CRIS_CRISV10
 
 config ADK_TOOLCHAIN_BINUTILS_2_20_1
 	bool "2.20.1"

File diff suppressed because it is too large
+ 1102 - 877
target/config/Config.in.cpu


+ 10 - 17
target/config/Config.in.endian

@@ -16,27 +16,20 @@ depends on ADK_TARGET_ARCH_ARC \
 	|| ADK_TARGET_ARCH_XTENSA
 
 config ADK_TARGET_LITTLE_ENDIAN
-	bool "Little endian"
-	depends on !ADK_TARGET_SYSTEM_NUMATO_MIMASV2
-	depends on !ADK_TARGET_SYSTEM_DRAGINO_MS14S
-	depends on !ADK_TARGET_SYSTEM_LINKSYS_NSLU2
-	depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB4XX
-	depends on !ADK_CPU_SH2A
+	bool "little"
 
 config ADK_TARGET_BIG_ENDIAN
-	bool "Big endian"
-	depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
-	depends on !ADK_TARGET_SYSTEM_LEMOTE_YEELONG
-	depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI
-	depends on !ADK_TARGET_SYSTEM_RASPBERRY_PI2
-	depends on !ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
-	depends on !ADK_TARGET_SYSTEM_QEMU_ARM
-	depends on !ADK_TARGET_SYSTEM_QEMU_XTENSA
-	depends on !ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
-	depends on !ADK_TARGET_SYSTEM_KINETIS_K70
-	
+	bool "big"
+
 endchoice
 
+config ADK_TARGET_ENDIAN_SUFFIX
+	string
+	default "le" if ADK_TARGET_LITTLE_ENDIAN && (ADK_TARGET_ARCH_NDS32 || ADK_TARGET_ARCH_PPC64)
+	default "el" if ADK_TARGET_LITTLE_ENDIAN && (ADK_TARGET_ARCH_MIPS || ADK_TARGET_ARCH_MIPS64 || ADK_TARGET_ARCH_MICROBLAZE)
+	default "be" if ADK_TARGET_BIG_ENDIAN && (ADK_TARGET_ARCH_NDS32 || ADK_TARGET_ARCH_AARCH64)
+	default "eb" if ADK_TARGET_BIG_ENDIAN && (ADK_TARGET_ARCH_ARC || ADK_TARGET_ARM || ADK_TARGET_ARCH_SH)
+
 config ADK_TARGET_ENDIAN
 	string
 	default "little" if ADK_TARGET_LITTLE_ENDIAN

+ 10 - 10
target/config/Config.in.fpu

@@ -12,13 +12,13 @@ config ADK_TARGET_FPU
 	string
 	depends on ADK_TARGET_ARCH_ARM
 	default "vfp" if ADK_TARGET_CPU_WITH_FPU_VFP
-	default "vfpv3-fp16" if ADK_CPU_CORTEX_A5 && !ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "vfpv4" if ADK_CPU_CORTEX_A7 && !ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "vfpv3" if ADK_CPU_CORTEX_A8 && !ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "vfpv3-fp16" if ADK_CPU_CORTEX_A9 && !ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "vfpv4" if ADK_CPU_CORTEX_A15 && !ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "neon-fp16" if ADK_CPU_CORTEX_A5 && ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "neon-vfpv4" if ADK_CPU_CORTEX_A7 && ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "neon" if ADK_CPU_CORTEX_A8 && ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "neon-fp16" if ADK_CPU_CORTEX_A9 && ADK_TARGET_ARCH_ARM_WITH_NEON
-	default "neon-vfpv4" if ADK_CPU_CORTEX_A15 && ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "vfpv3-fp16" if ADK_TARGET_CPU_ARM_CORTEX_A5 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "vfpv4" if ADK_TARGET_CPU_ARM_CORTEX_A7 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "vfpv3" if ADK_TARGET_CPU_ARM_CORTEX_A8 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "vfpv3-fp16" if ADK_TARGET_CPU_ARM_CORTEX_A9 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "vfpv4" if ADK_TARGET_CPU_ARM_CORTEX_A15 && !ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "neon-fp16" if ADK_TARGET_CPU_ARM_CORTEX_A5 && ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "neon-vfpv4" if ADK_TARGET_CPU_ARM_CORTEX_A7 && ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "neon" if ADK_TARGET_CPU_ARM_CORTEX_A8 && ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "neon-fp16" if ADK_TARGET_CPU_ARM_CORTEX_A9 && ADK_TARGET_ARCH_ARM_WITH_NEON
+	default "neon-vfpv4" if ADK_TARGET_CPU_ARM_CORTEX_A15 && ADK_TARGET_ARCH_ARM_WITH_NEON

+ 2 - 2
target/config/Config.in.kernelversion

@@ -2,8 +2,8 @@
 # material, please see the LICENCE file in the top-level directory.
 
 choice
-prompt "Kernel Version"
-depends on ADK_TARGET_KERNEL_CUSTOMISING
+prompt "Kernel version"
+depends on ADK_TARGET_OS_LINUX
 default ADK_TARGET_KERNEL_VERSION_4_4_3 if ADK_TARGET_ARCH_ARC
 default ADK_TARGET_KERNEL_VERSION_4_4_3 if ADK_TARGET_ARCH_SPARC
 default ADK_TARGET_KERNEL_VERSION_4_4_3 if ADK_TARGET_ARCH_BFIN

+ 52 - 26
target/config/Config.in.libc

@@ -3,50 +3,75 @@
 
 choice
 prompt "C library"
+default ADK_TARGET_LIB_UCLIBC_NG if ADK_TARGET_OS_LINUX
 
 config ADK_TARGET_LIB_UCLIBC_NG
 	bool "uClibc-ng embedded C library"
-	depends on \
-		   !ADK_TARGET_ARCH_AARCH64 && \
-		   !ADK_TARGET_ARCH_MOXIE && \
-		   !ADK_TARGET_ARCH_NDS32 && \
-		   !ADK_TARGET_ARCH_S390 && \
-		   !ADK_TARGET_ARCH_SPARC64 && \
-		   !ADK_TARGET_ARCH_PPC64 && \
-		   !ADK_TARGET_ARCH_TILE && \
-		   !ADK_TARGET_ARCH_V850
+	depends on (\
+		ADK_TARGET_ARCH_ALPHA || \
+		ADK_TARGET_ARCH_ARC || \
+		ADK_TARGET_ARCH_ARM || \
+		ADK_TARGET_ARCH_AVR32 || \
+		ADK_TARGET_ARCH_BFIN || \
+		ADK_TARGET_ARCH_C6X || \
+		ADK_TARGET_ARCH_CRIS || \
+		ADK_TARGET_ARCH_FRV || \
+		ADK_TARGET_ARCH_H8300 || \
+		ADK_TARGET_ARCH_HPPA || \
+		ADK_TARGET_ARCH_IA64 || \
+		ADK_TARGET_ARCH_LM32 || \
+		ADK_TARGET_ARCH_M68K || \
+		ADK_TARGET_ARCH_METAG || \
+		ADK_TARGET_ARCH_MICROBLAZE || \
+		ADK_TARGET_ARCH_MIPS || \
+		ADK_TARGET_ARCH_MIPS64 || \
+		ADK_TARGET_ARCH_NIOS2 || \
+		ADK_TARGET_ARCH_OR1K || \
+		ADK_TARGET_ARCH_PPC || \
+		ADK_TARGET_ARCH_SH || \
+		ADK_TARGET_ARCH_SPARC || \
+		ADK_TARGET_ARCH_X86 || \
+		ADK_TARGET_ARCH_X86_64 || \
+		ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_LINUX
 	help
 	  http://uclibc-ng.org
 
 config ADK_TARGET_LIB_MUSL
 	bool "musl C library"
-	depends on !ADK_TARGET_UCLINUX
-	depends on \
+	depends on (\
 		ADK_TARGET_ARCH_AARCH64 || \
 		ADK_TARGET_ARCH_ARM || \
 		ADK_TARGET_ARCH_MICROBLAZE || \
 		ADK_TARGET_ARCH_MIPS || \
+		ADK_TARGET_ARCH_MIPS64 || \
 		ADK_TARGET_ARCH_OR1K || \
 		ADK_TARGET_ARCH_PPC || \
 		ADK_TARGET_ARCH_SH || \
 		ADK_TARGET_ARCH_X86 || \
-		ADK_TARGET_ARCH_X86_64
+		ADK_TARGET_ARCH_X86_64) && ADK_TARGET_OS_LINUX
 	help
  	  http://musl-libc.org
 
 config ADK_TARGET_LIB_GLIBC
 	bool "GNU C library"
-	depends on !ADK_TARGET_ARCH_ARC
-	depends on !ADK_TARGET_ARCH_AVR32
-	depends on !ADK_TARGET_ARCH_BFIN
-	depends on !ADK_TARGET_ARCH_CRIS
-	depends on !ADK_TARGET_ARCH_H8300
-	depends on !ADK_TARGET_ARCH_MOXIE
-	depends on !ADK_TARGET_ARCH_NDS32
-	depends on !ADK_TARGET_ARCH_SPARC
-	depends on !ADK_TARGET_ARCH_XTENSA
-	depends on !ADK_TARGET_UCLINUX
-	depends on !ADK_TARGET_WITHOUT_MMU
+	depends on (\
+		ADK_TARGET_ARCH_AARCH64 || \
+		ADK_TARGET_ARCH_ALPHA || \
+		ADK_TARGET_ARCH_ARM || \
+		ADK_TARGET_ARCH_HPPA || \
+		ADK_TARGET_ARCH_IA64 || \
+		ADK_TARGET_ARCH_MICROBLAZE || \
+		ADK_TARGET_ARCH_MIPS || \
+		ADK_TARGET_ARCH_MIPS64 || \
+		ADK_TARGET_ARCH_NIOS2 || \
+		ADK_TARGET_ARCH_PPC || \
+		ADK_TARGET_ARCH_PPC64 || \
+		ADK_TARGET_ARCH_S390 || \
+		ADK_TARGET_ARCH_SH || \
+		ADK_TARGET_ARCH_SPARC64 || \
+		ADK_TARGET_ARCH_TILE || \
+		ADK_TARGET_ARCH_X86 || \
+		ADK_TARGET_ARCH_X86_64) && ADK_TARGET_OS_LINUX
 	help
 	  http://www.gnu.org/libc
 
@@ -54,7 +79,7 @@ config ADK_TARGET_LIB_NEWLIB
 	bool "newlib C library"
 	select ADK_TARGET_WITHOUT_CXX
 	select ADK_TARGET_WITHOUT_THREADS
-	depends on \
+	depends on (\
 		ADK_TARGET_ARCH_AARCH64 || \
 		ADK_TARGET_ARCH_ARC || \
 		ADK_TARGET_ARCH_ARM || \
@@ -65,14 +90,15 @@ config ADK_TARGET_LIB_NEWLIB
 		ADK_TARGET_ARCH_LM32 || \
 		ADK_TARGET_ARCH_MICROBLAZE || \
 		ADK_TARGET_ARCH_MIPS || \
-		ADK_TARGET_ARCH_NIOS2 || \
 		ADK_TARGET_ARCH_MOXIE || \
+		ADK_TARGET_ARCH_NIOS2 || \
 		ADK_TARGET_ARCH_NDS32 || \
 		ADK_TARGET_ARCH_OR1K || \
 		ADK_TARGET_ARCH_PPC || \
 		ADK_TARGET_ARCH_SPARC || \
 		ADK_TARGET_ARCH_V850 || \
-		ADK_TARGET_ARCH_X86
+		ADK_TARGET_ARCH_X86 || \
+		ADK_TARGET_ARCH_XTENSA) && ADK_TARGET_OS_BAREMETAL
 	help
 	  https://sourceware.org/newlib/
 

+ 0 - 40
target/config/Config.in.mips

@@ -1,40 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-choice ADK_TARGET_MIPS_CPU_ARCH
-prompt "ISA configuration"
-depends on ADK_TARGET_ARCH_MIPS && ADK_TARGET_SYSTEM_QEMU_MIPS
-default ADK_CPU_MIPS_MIPS32R2
-
-config ADK_CPU_MIPS_MIPS32R6
-        bool "MIPS32r6"
-        select ADK_CPU_MIPS32R6
-
-config ADK_CPU_MIPS_MIPS32R2
-        bool "MIPS32r2"
-        select ADK_CPU_MIPS32R2
-
-config ADK_CPU_MIPS_MIPS32
-        bool "MIPS32"
-        select ADK_CPU_MIPS32
-
-endchoice
-
-choice ADK_TARGET_MIPS64_CPU_ARCH
-prompt "ISA configuration"
-depends on ADK_TARGET_ARCH_MIPS64 && ADK_TARGET_SYSTEM_QEMU_MIPS64
-default ADK_CPU_MIPS_MIPS64R2
-
-config ADK_CPU_MIPS_MIPS64R6
-        bool "MIPS64r6"
-        select ADK_CPU_MIPS32R6
-
-config ADK_CPU_MIPS_MIPS64R2
-        bool "MIPS64r2"
-        select ADK_CPU_MIPS64R2
-
-config ADK_CPU_MIPS_MIPS64
-        bool "MIPS64"
-        select ADK_CPU_MIPS64
-
-endchoice

+ 17 - 0
target/config/Config.in.os

@@ -0,0 +1,17 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+choice
+prompt "Operating System"
+
+config ADK_TARGET_OS_LINUX
+	bool "Linux"
+	help
+	  Create a Linux system or toolchain.
+
+config ADK_TARGET_OS_BAREMETAL
+	bool "Bare metal"
+	help
+	  Create a bare metal appliance or toolchain.
+
+endchoice

+ 4 - 0
target/config/Config.in.qemuopts

@@ -1,6 +1,9 @@
 # This file is part of the OpenADK project. OpenADK is copyrighted
 # material, please see the LICENCE file in the top-level directory.
 
+menu "Qemu system configuration"
+depends on ADK_TARGET_QEMU && !ADK_TARGET_SYSTEM_QEMU_XTENSA
+
 config ADK_QEMU_ARGS
 	string
 	default "" if ADK_TARGET_QEMU_WITH_GRAPHIC
@@ -135,3 +138,4 @@ config ADK_TARGET_QEMU_WITH_AUDIO
 	bool "enabled"
 
 endchoice
+endmenu

+ 7 - 7
target/config/Config.in.rootfs

@@ -2,8 +2,8 @@
 # material, please see the LICENCE file in the top-level directory.
 
 choice
-prompt "Root filesystem type"
-depends on !ADK_TARGET_TOOLCHAIN
+prompt "Firmware type"
+depends on !ADK_APPLIANCE_TOOLCHAIN && !ADK_TARGET_OS_BAREMETAL
 default ADK_TARGET_ROOTFS_ARCHIVE
 
 config ADK_TARGET_ROOTFS_INITRAMFS
@@ -149,30 +149,30 @@ config ADK_TARGET_ROOTFS_ARCHIVE
 endchoice
 
 choice
-prompt "Root filesystem type"
+prompt "Root filesystem"
 depends on ADK_TARGET_ROOTFS_ARCHIVE || ADK_TARGET_ROOTFS_USB && !ADK_TARGET_QEMU
 default ADK_TARGET_ROOT_EXT4
 
 config ADK_TARGET_ROOT_EXT4
-	bool "EXT4 filesystem"
+	bool "EXT4"
 	select ADK_KERNEL_EXT4_FS
 	help
 	  Compile EXT4 filesystem into kernel and use it as root filesystem.
 
 config ADK_TARGET_ROOT_XFS
-	bool "XFS filesystem"
+	bool "XFS"
 	select ADK_KERNEL_XFS_FS
 	help
 	  Compile XFS filesystem into kernel and use it as root filesystem.
 
 config ADK_TARGET_ROOT_EXT2
-	bool "EXT2 filesystem"
+	bool "EXT2"
 	select ADK_KERNEL_EXT2_FS
 	help
 	  Compile EXT2 filesystem into kernel and use it as root filesystem.
 
 config ADK_TARGET_ROOT_EXT3
-	bool "EXT3 filesystem"
+	bool "EXT3"
 	select ADK_KERNEL_EXT3_FS
 	help
 	  Compile EXT3 filesystem into kernel and use it as root filesystem.

+ 38 - 0
target/config/Config.in.systemopts

@@ -0,0 +1,38 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+choice
+prompt "GPU memory size"
+depends on ADK_TARGET_BOARD_BCM28XX
+default ADK_TARGET_GPU_MEM_256 if ADK_PACKAGE_KODI
+
+config ADK_TARGET_GPU_MEM_16
+       bool "16"
+       help
+         use minimal 16 MB.
+
+config ADK_TARGET_GPU_MEM_64
+       bool "64"
+       help
+         use 64 MB.
+
+config ADK_TARGET_GPU_MEM_128
+       bool "128"
+       help
+         use 128 MB.
+
+config ADK_TARGET_GPU_MEM_256
+       bool "256"
+       help
+         use 256 MB.
+
+endchoice
+
+config ADK_TARGET_GPU_MEM
+       int
+       default 16 if ADK_TARGET_GPU_MEM_16
+       default 64 if ADK_TARGET_GPU_MEM_64
+       default 128 if ADK_TARGET_GPU_MEM_128
+       default 256 if ADK_TARGET_GPU_MEM_256
+       depends on ADK_TARGET_BOARD_BCM28XX
+

+ 1 - 69
target/config/Config.in.target

@@ -7,74 +7,6 @@ config ADK_TARGET_CMDLINE
 	default "geodewdt.nowayout=1" if ADK_TARGET_MODEL_PCENGINES_ALIX1C
 	default "kinetis_platform=k70-som" if ADK_TARGET_SYSTEM_KINETIS_K70
 	default "metag_da.console_poll=1" if ADK_TARGET_SYSTEM_QEMU_METAG
-	default "earlycon=uart8250,mmio32,0x9d050020,115200n8 console=ttyS0,115200n8" if ADK_TARGET_XTENSA_DE212
+	default "earlycon=uart8250,mmio32,0x9d050020,115200n8 console=ttyS0,115200n8" if ADK_TARGET_CPU_XTENSA_DE212
 	default ""
 
-config ADK_PACKAGE_SUFFIX
-	string
-	default "ipk" if ADK_TARGET_PACKAGE_IPKG
-	default "ipk" if ADK_TARGET_PACKAGE_OPKG
-	default "tar.xz" if ADK_TARGET_PACKAGE_TXZ
-	help
-
-choice
-prompt "Package format"
-default ADK_TARGET_PACKAGE_TXZ
-
-config ADK_TARGET_PACKAGE_TXZ
-	bool "xz compressed tar archive"
-	help
-	  Create compressed tar archives of packages.
-	  Pre- and post install scripts will be executed in the target
-	  directory. There will be no package manager installed onto the target.
-
-config ADK_TARGET_PACKAGE_IPKG
-	bool "ipkg"
-	select BUSYBOX_IPKG
-	help
-	  Create ipkg packages and use ipkg package management on the target.
-
-config ADK_TARGET_PACKAGE_OPKG
-	bool "opkg"
-	select ADK_PACKAGE_OPKG
-	select ADK_HOST_NEED_OPKG
-	help
-	  Create opkg packages and use opkg package management on the target.
-	  
-endchoice
-
-choice
-prompt "GPU memory size"
-depends on ADK_TARGET_BOARD_BCM28XX
-default ADK_TARGET_GPU_MEM_256 if ADK_PACKAGE_KODI
-
-config ADK_TARGET_GPU_MEM_16
-	bool "16"
-	help
-	  use minimal 16 MB.
-
-config ADK_TARGET_GPU_MEM_64
-	bool "64"
-	help
-	  use 64 MB.
-
-config ADK_TARGET_GPU_MEM_128
-	bool "128"
-	help
-	  use 128 MB.
-
-config ADK_TARGET_GPU_MEM_256
-	bool "256"
-	help
-	  use 256 MB.
-
-endchoice
-
-config ADK_TARGET_GPU_MEM
-	int
-	default 16 if ADK_TARGET_GPU_MEM_16
-	default 64 if ADK_TARGET_GPU_MEM_64
-	default 128 if ADK_TARGET_GPU_MEM_128
-	default 256 if ADK_TARGET_GPU_MEM_256
-	depends on ADK_TARGET_BOARD_BCM28XX
-

+ 0 - 675
target/config/Config.in.tc

@@ -1,675 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-choice ADK_TARGET_CPU
-prompt "CPU type"
-depends on (ADK_TARGET_TOOLCHAIN || ADK_TARGET_SIM || ADK_TARGET_SYSTEM_GENERIC_X86_64) && \
-	( ADK_TARGET_ARCH_CRIS \
-	|| ADK_TARGET_ARCH_AARCH64 \
-	|| ADK_TARGET_ARCH_ARC \
-	|| ADK_TARGET_ARCH_ARM \
-	|| ADK_TARGET_ARCH_BFIN \
-	|| ADK_TARGET_ARCH_M68K \
-	|| ADK_TARGET_ARCH_MIPS \
-	|| ADK_TARGET_ARCH_MIPS64 \
-	|| ADK_TARGET_ARCH_PPC64 \
-	|| ADK_TARGET_ARCH_SH \
-	|| ADK_TARGET_ARCH_SPARC \
-	|| ADK_TARGET_ARCH_TILE \
-	|| ADK_TARGET_ARCH_X86 \
-	|| ADK_TARGET_ARCH_X86_64 )
-
-config ADK_TARGET_CPU_ARC_ARC700
-	bool "ARC700 (ARCv1)"
-	select ADK_CPU_ARC700
-	depends on ADK_TARGET_ARCH_ARC
-
-config ADK_TARGET_CPU_ARC_ARC_HS
-	bool "ARC HS (ARCv2)"
-	select ADK_CPU_ARC_HS
-	depends on ADK_TARGET_ARCH_ARC
-
-config ADK_TARGET_CPU_ARM_CORTEX_A53
-        bool "cortex-a53"
-        select ADK_CPU_CORTEX_A53
-	depends on ADK_TARGET_ARCH_AARCH64
-
-config ADK_TARGET_CPU_ARM_CORTEX_A57
-        bool "cortex-a57"
-        select ADK_CPU_CORTEX_A57
-	depends on ADK_TARGET_ARCH_AARCH64
-
-config ADK_TARGET_CPU_ARM_CORTEX_A9
-        bool "cortex-a9"
-        select ADK_CPU_CORTEX_A9
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_A8
-        bool "cortex-a8"
-        select ADK_CPU_CORTEX_A8
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_A7
-        bool "cortex-a7"
-        select ADK_CPU_CORTEX_A7
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_A5
-        bool "cortex-a5"
-        select ADK_CPU_CORTEX_A5
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_A15
-        bool "cortex-a15"
-        select ADK_CPU_CORTEX_A15
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_A17
-        bool "cortex-a17"
-        select ADK_CPU_CORTEX_A17
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_M4
-	bool "cortex-m4"
-	select ADK_CPU_CORTEX_M4
-	select ADK_TARGET_ARCH_ARM_WITH_THUMB
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_CORTEX_M3
-	bool "cortex-m3"
-	select ADK_CPU_CORTEX_M3
-	select ADK_TARGET_ARCH_ARM_WITH_THUMB
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_ARM1176JZF_S
-        bool "arm1176jzf-s"
-        select ADK_CPU_ARM1176JZF_S
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_ARM926EJ_S
-        bool "arm926ej-s"
-        select ADK_CPU_ARM926EJ_S
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_ARM_XSCALE
-        bool "xscale"
-        select ADK_CPU_XSCALE
-	depends on ADK_TARGET_ARCH_ARM
-
-config ADK_TARGET_CPU_BFIN_BF512
-        bool "bf512"
-        select ADK_CPU_BF512
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF514
-        bool "bf514"
-        select ADK_CPU_BF514
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF516
-        bool "bf516"
-        select ADK_CPU_BF516
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF518
-        bool "bf518"
-        select ADK_CPU_BF518
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF522
-        bool "bf522"
-        select ADK_CPU_BF522
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF523
-        bool "bf523"
-        select ADK_CPU_BF523
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF524
-        bool "bf524"
-        select ADK_CPU_BF524
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF525
-        bool "bf525"
-        select ADK_CPU_BF525
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF526
-        bool "bf526"
-        select ADK_CPU_BF526
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF527
-        bool "bf527"
-        select ADK_CPU_BF527
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF531
-        bool "bf531"
-        select ADK_CPU_BF531
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF532
-        bool "bf532"
-        select ADK_CPU_BF532
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF533
-        bool "bf533"
-        select ADK_CPU_BF533
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF534
-        bool "bf534"
-        select ADK_CPU_BF534
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF536
-        bool "bf536"
-        select ADK_CPU_BF536
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF537
-        bool "bf537"
-        select ADK_CPU_BF537
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF538
-        bool "bf538"
-        select ADK_CPU_BF538
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF539
-        bool "bf539"
-        select ADK_CPU_BF539
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF542
-        bool "bf542"
-        select ADK_CPU_BF542
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF544
-        bool "bf544"
-        select ADK_CPU_BF544
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF547
-        bool "bf547"
-        select ADK_CPU_BF547
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF548
-        bool "bf548"
-        select ADK_CPU_BF548
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF549
-        bool "bf549"
-        select ADK_CPU_BF549
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF542M
-        bool "bf542m"
-        select ADK_CPU_BF542M
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF544M
-        bool "bf544m"
-        select ADK_CPU_BF544M
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF547M
-        bool "bf547m"
-        select ADK_CPU_BF547M
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF548M
-        bool "bf548m"
-        select ADK_CPU_BF548M
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF549M
-        bool "bf549m"
-        select ADK_CPU_BF549M
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF561
-        bool "bf561"
-        select ADK_CPU_BF561
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_BFIN_BF592
-        bool "bf592"
-        select ADK_CPU_BF592
-	depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TARGET_CPU_CRIS_CRISV10
-	bool "cris v10"
-        select ADK_CPU_CRIS_V10
-	depends on ADK_TARGET_ARCH_CRIS
-
-config ADK_TARGET_CPU_CRIS_CRISV32
-	bool "cris v32"
-        select ADK_CPU_CRIS_V32
-	depends on ADK_TARGET_ARCH_CRIS
-
-config ADK_TARGET_CPU_CF_51
-	bool "coldfire 51"
-	select ADK_CPU_CF_51
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5206
-	bool "coldfire 5206"
-	select ADK_CPU_CF_5206
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5206E
-	bool "coldfire 5206e"
-	select ADK_CPU_CF_5206E
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5208
-	bool "coldfire 5208"
-	select ADK_CPU_CF_5208
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5211A
-	bool "coldfire 5211a"
-	select ADK_CPU_CF_5211A
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5213
-	bool "coldfire 5213"
-	select ADK_CPU_CF_5213
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5216
-	bool "coldfire 5216"
-	select ADK_CPU_CF_5216
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_52235
-	bool "coldfire 52235"
-	select ADK_CPU_CF_52235
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5225
-	bool "coldfire 5225"
-	select ADK_CPU_CF_5225
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_52259
-	bool "coldfire 52259"
-	select ADK_CPU_CF_52259
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5235
-	bool "coldfire 5235"
-	select ADK_CPU_CF_5235
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5249
-	bool "coldfire 5249"
-	select ADK_CPU_CF_5249
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5250
-	bool "coldfire 5250"
-	select ADK_CPU_CF_5250
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5271
-	bool "coldfire 5271"
-	select ADK_CPU_CF_5271
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5272
-	bool "coldfire 5272"
-	select ADK_CPU_CF_5272
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5275
-	bool "coldfire 5275"
-	select ADK_CPU_CF_5275
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5282
-	bool "coldfire 5282"
-	select ADK_CPU_CF_5282
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_53017
-	bool "coldfire 53017"
-	select ADK_CPU_CF_53017
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5307
-	bool "coldfire 5307"
-	select ADK_CPU_CF_5307
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5328
-	bool "coldfire 5328"
-	select ADK_CPU_CF_5328
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5329
-	bool "coldfire 5329"
-	select ADK_CPU_CF_5329
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5373
-	bool "coldfire 5373"
-	select ADK_CPU_CF_5373
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5407
-	bool "coldfire 5407"
-	select ADK_CPU_CF_5407
-	select ADK_TARGET_UCLINUX
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_CF_5475
-	bool "coldfire 5475"
-	select ADK_CPU_CF_5475
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_M68K_68020
-	bool "m68k 68020"
-	select ADK_CPU_68020
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_M68K_68030
-	bool "m68k 68030"
-	select ADK_CPU_68030
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_M68K_68040
-	bool "m68k 68040"
-	select ADK_CPU_68040
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_M68K_68060
-	bool "m68k 68060"
-	select ADK_CPU_68060
-	depends on ADK_TARGET_ARCH_M68K
-
-config ADK_TARGET_CPU_MIPS_MIPS32
-	bool "mips32"
-	select ADK_CPU_MIPS32
-	depends on ADK_TARGET_ARCH_MIPS
-
-config ADK_TARGET_CPU_MIPS_MIPS32R2
-	bool "mips32r2"
-	select ADK_CPU_MIPS32R2
-	depends on ADK_TARGET_ARCH_MIPS
-
-config ADK_TARGET_CPU_MIPS_MIPS32R6
-	bool "mips32r6"
-	select ADK_CPU_MIPS32R6
-	depends on ADK_TARGET_ARCH_MIPS
-
-config ADK_TARGET_CPU_MIPS_MIPS64
-	bool "mips64"
-	select ADK_CPU_MIPS64
-	depends on ADK_TARGET_ARCH_MIPS64
-
-config ADK_TARGET_CPU_MIPS_MIPS64R2
-	bool "mips64r2"
-	select ADK_CPU_MIPS64R2
-	depends on ADK_TARGET_ARCH_MIPS64
-
-config ADK_TARGET_CPU_MIPS_MIPS64R6
-	bool "mips64r6"
-	select ADK_CPU_MIPS64R6
-	depends on ADK_TARGET_ARCH_MIPS64
-
-config ADK_TARGET_CPU_PPC64_POWER6
-	bool "power6"
-	select ADK_CPU_POWER6
-	depends on ADK_TARGET_ARCH_PPC64
-
-config ADK_TARGET_CPU_PPC64_POWER7
-	bool "power7"
-	select ADK_CPU_POWER7
-	depends on ADK_TARGET_ARCH_PPC64
-
-config ADK_TARGET_CPU_PPC64_POWER8
-	bool "power8"
-	select ADK_CPU_POWER8
-	depends on ADK_TARGET_ARCH_PPC64
-
-config ADK_TARGET_CPU_SH_SH2
-	bool "sh2"
-	select ADK_CPU_SH2
-	depends on ADK_TARGET_ARCH_SH
-
-config ADK_TARGET_CPU_SH_SH2A
-	bool "sh2a"
-	select ADK_CPU_SH2A
-	depends on ADK_TARGET_ARCH_SH
-
-config ADK_TARGET_CPU_SH_SH3
-	bool "sh3"
-	select ADK_CPU_SH3
-	depends on ADK_TARGET_ARCH_SH
-
-config ADK_TARGET_CPU_SH_SH4
-	bool "sh4"
-	select ADK_CPU_SH4
-	depends on ADK_TARGET_ARCH_SH
-
-config ADK_TARGET_CPU_SH_SH4A
-	bool "sh4a"
-	select ADK_CPU_SH4A
-	depends on ADK_TARGET_ARCH_SH
-
-config ADK_TARGET_CPU_SPARC_V8
-	bool "v8"
-	select ADK_CPU_SPARC_V8
-	depends on ADK_TARGET_ARCH_SPARC
-
-config ADK_TARGET_CPU_SPARC_LEON
-	bool "leon"
-	select ADK_CPU_SPARC_LEON
-	depends on ADK_TARGET_ARCH_SPARC
-
-config ADK_TARGET_CPU_TILE_TILEGX
-	bool "tilegx"
-	select ADK_CPU_TILEGX
-	depends on ADK_TARGET_ARCH_TILE
-
-config ADK_TARGET_CPU_TILE_TILEPRO
-	bool "tilepro"
-	select ADK_CPU_TILEPRO
-	depends on ADK_TARGET_ARCH_TILE
-
-config ADK_TARGET_CPU_X86_I486
-	bool "i486"
-	select ADK_CPU_I486
-	depends on ADK_TARGET_ARCH_X86
-
-config ADK_TARGET_CPU_X86_I586
-	bool "i586"
-	select ADK_CPU_I586
-	depends on ADK_TARGET_ARCH_X86
-
-config ADK_TARGET_CPU_X86_I686
-	bool "i686"
-	select ADK_CPU_I686
-	depends on ADK_TARGET_ARCH_X86
-
-config ADK_TARGET_CPU_X86_GEODE
-	bool "geode"
-	select ADK_CPU_GEODE
-	depends on ADK_TARGET_ARCH_X86
-
-config ADK_TARGET_CPU_X86_ATOM
-	bool "atom"
-	select ADK_CPU_ATOM
-	depends on ADK_TARGET_ARCH_X86
-
-config ADK_TARGET_CPU_X86_64_X86_64
-	bool "Generic x86_64"
-	select ADK_CPU_X86_64
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_ATHLON_FX
-	bool "Athlon 64 FX"
-	select ADK_CPU_ATHLON_FX
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_ATHLON_64
-	bool "Athlon 64"
-	select ADK_CPU_ATHLON_64
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_ATHLON_64_SSE3
-	bool "Athlon 64 with SSE3"
-	select ADK_CPU_ATHLON_64_SSE3
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BARCELONA
-	bool "Barcelona"
-	select ADK_CPU_BARCELONA
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BDVER1
-	bool "bdver1"
-	select ADK_CPU_BDVER1
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BDVER2
-	bool "bdver2"
-	select ADK_CPU_BDVER2
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BDVER3
-	bool "bdver3"
-	select ADK_CPU_BDVER3
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BDVER4
-	bool "bdver4"
-	select ADK_CPU_BDVER4
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BONNELL
-	bool "Bonnell"
-	select ADK_CPU_BONNELL
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BROADWELL
-	bool "Broadwell"
-	select ADK_CPU_BROADWELL
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BTVER1
-	bool "btver1"
-	select ADK_CPU_BTVER1
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_BTVER2
-	bool "btver2"
-	select ADK_CPU_BTVER1
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_CORE2
-	bool "Core 2"
-	select ADK_CPU_CORE2
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_HASWELL
-	bool "Haswell"
-	select ADK_CPU_HASWELL
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_IVYBRIDGE
-	bool "Ivybridge"
-	select ADK_CPU_IVYBRIDGE
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_K8
-	bool "K8"
-	select ADK_CPU_K8
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_K8_SSE3
-	bool "K8 with SSE3"
-	select ADK_CPU_K8_SSE3
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_KNL
-	bool "knl"
-	select config ADK_CPU_KNL
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_NEHALEM
-	bool "Nehalem"
-	select ADK_CPU_NEHALEM
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_OPTERON
-	bool "Opteron"
-	select ADK_CPU_OPTERON
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_OPTERON_SSE3
-	bool "Opteron with SSE3"
-	select ADK_CPU_OPTERON_SSE3
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_SANDYBRIDGE
-	bool "Sandybridge"
-	select ADK_CPU_SANDYBRIDGE
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_SILVERMONT
-	bool "Silvermont"
-	select ADK_CPU_SILVERMONT
-	depends on ADK_TARGET_ARCH_X86_64
-
-config ADK_TARGET_CPU_X86_64_WESTMERE
-	bool "Westmere"
-	select ADK_CPU_WESTMERE
-	depends on ADK_TARGET_ARCH_X86_64
-
-endchoice
-
-choice
-prompt "Toolchain options"
-depends on ADK_TARGET_TOOLCHAIN
-config ADK_TOOLCHAIN_ONLY
-	bool "Only build toolchain and selected packages"
-
-config ADK_TOOLCHAIN_ARCHIVE
-	bool "Build a complete system usable f.e. via chroot"
-
-endchoice

+ 16 - 5
target/config/Config.in.toolchain

@@ -2,10 +2,14 @@
 # material, please see the LICENCE file in the top-level directory.
 
 choice
+depends on ADK_TARGET_OS_LINUX
 prompt "Iconv implementation"
 bool
 default ADK_TARGET_WITHOUT_ICONV if ADK_TARGET_WITHOUT_MMU
-default ADK_TARGET_LIBICONV_TINY if ADK_TARGET_LIB_UCLIBC_NG
+
+config ADK_TARGET_LIBICONV_TINY
+	prompt "Use tiny libiconv package"
+	select ADK_PACKAGE_LIBICONV_TINY
 
 config ADK_TARGET_LIBC_ICONV
 	prompt "Use iconv from C library"
@@ -14,10 +18,6 @@ config ADK_TARGET_LIBICONV
 	prompt "Use libiconv package"
 	select ADK_PACKAGE_LIBICONV
 
-config ADK_TARGET_LIBICONV_TINY
-	prompt "Use tiny libiconv package"
-	select ADK_PACKAGE_LIBICONV_TINY
-
 config ADK_TARGET_WITHOUT_ICONV
 	prompt "Do not build any iconv code"
 
@@ -126,4 +126,15 @@ config ADK_STATIC_TOOLCHAIN
 	help
 	  If you want to create more portable toolchains, build them static.
 
+config ADK_PRELINK
+	bool "Prelink binaries and libraries in Image"
+	depends on ADK_TARGET_OS_LINUX
+	help
+	  Do prelinking for faster loading of binaries.
+
+config ADK_PRELINK_OPTS
+	string "additional options to pass to prelink"
+	default "-mR"
+	depends on ADK_PRELINK
+
 endmenu

+ 0 - 15
target/config/Config.in.x86_64

@@ -1,15 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-choice ADK_TARGET_CPU
-prompt "CPU type"
-depends on ADK_TARGET_SYSTEM_GENERIC_X86_64
-default ADK_TARGET_CPU_X86_64
-help
-  Selection of x86_64 CPU type which gives gcc optimization.
-  For details on the different types, see:
-  https://gcc.gnu.org/onlinedocs/gcc-5.3.0/gcc/x86-Options.html#x86-Options
-
-
-endchoice
-

+ 0 - 49
target/config/Config.in.xtensa

@@ -1,49 +0,0 @@
-# This file is part of the OpenADK project. OpenADK is copyrighted
-# material, please see the LICENCE file in the top-level directory.
-
-choice ADK_TARGET_XTENSA_VARIANT
-prompt "CPU variant"
-depends on ADK_TARGET_ARCH_XTENSA
-
-config ADK_TARGET_XTENSA_DC233C
-	bool "dc233c"
-	select ADK_KERNEL_XTENSA_VARIANT_DC233C
-	select ADK_TARGET_KERNEL_ZIMAGE
-	select ADK_KERNEL_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
-	select ADK_TARGET_LITTLE_ENDIAN
-	select ADK_TARGET_WITH_NPTL
-	select ADK_TARGET_WITH_MMU
-
-config ADK_TARGET_XTENSA_DC232B
-	bool "dc232b"
-	select ADK_KERNEL_XTENSA_VARIANT_DC232B
-	select ADK_TARGET_KERNEL_ZIMAGE
-	select ADK_TARGET_LITTLE_ENDIAN
-	select ADK_TARGET_WITH_NPTL
-	select ADK_TARGET_WITH_MMU
-
-config ADK_TARGET_XTENSA_FSF
-	bool "fsf"
-	select ADK_KERNEL_XTENSA_VARIANT_FSF
-	select ADK_TARGET_KERNEL_ZIMAGE
-	select ADK_TARGET_BIG_ENDIAN
-	select ADK_TARGET_WITH_NPTL
-	select ADK_TARGET_WITH_MMU
-
-config ADK_TARGET_XTENSA_DE212
-	bool "de212"
-	select ADK_KERNEL_XTENSA_VARIANT_CUSTOM
-	select ADK_TARGET_KERNEL_ZIMAGE
-	select ADK_TARGET_LITTLE_ENDIAN
-	select ADK_TARGET_WITH_LT
-	select ADK_TARGET_WITHOUT_MMU
-	select ADK_TARGET_UCLINUX
-
-endchoice
-
-config ADK_TARGET_XTENSA
-	string
-	default "dc233c" if ADK_TARGET_XTENSA_DC233C
-	default "dc232b" if ADK_TARGET_XTENSA_DC232B
-	default "fsf" if ADK_TARGET_XTENSA_FSF
-	default "de212" if ADK_TARGET_XTENSA_DE212

+ 1 - 1
target/cris/systems/qemu-cris

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_QEMU_CRIS
 	bool "Qemu Emulator"
-	select ADK_CPU_CRIS_V32
+	select ADK_TARGET_CPU_CRIS_CRISV32
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_KERNEL_IMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION

+ 0 - 7
target/cris/systems/toolchain-cris

@@ -1,7 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_CRIS
-	bool "Toolchain only"
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  CRIS toolchain.
-

+ 1 - 1
target/frv/systems/sim-frv

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_SIM_FRV
 	bool "GDB simulator"
-	select ADK_CPU_FRV
+	select ADK_TARGET_CPU_FRV
 	select ADK_TARGET_SIM
 	select ADK_TARGET_PACKAGE_TXZ
 	help

+ 0 - 8
target/frv/systems/toolchain-frv

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_FRV
-	bool "Toolchain only"
-	select ADK_CPU_FRV
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  FRV toolchain.
-

+ 1 - 1
target/h8300/systems/sim-h8300h

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_SIM_H8300H
 	bool "GDB simulator"
-	select ADK_CPU_H8300
+	select ADK_TARGET_CPU_H8300
 	select ADK_TARGET_SIM
 	select ADK_TARGET_PACKAGE_TXZ
 	help

+ 0 - 8
target/h8300/systems/toolchain-h8300

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_H8300
-	bool "Toolchain only"
-	select ADK_CPU_H8300
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  H8/300 toolchain.
-

+ 0 - 8
target/hppa/systems/toolchain-hppa

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_HPPA
-	bool "Toolchain only"
-	select ADK_CPU_PARISC
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  HPPA toolchain.
-

+ 0 - 8
target/ia64/systems/toolchain-ia64

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_IA64
-	bool "Toolchain only"
-	select ADK_CPU_IA64
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  IA64 toolchain.
-

+ 2 - 2
target/linux/config/Config.in.i2c

@@ -48,10 +48,10 @@ config ADK_KERNEL_I2C_IMX
 	
 config ADK_KERNEL_SCX200_ACB
 	tristate "I2C driver for Geode"
-	depends on ADK_CPU_GEODE
+	depends on ADK_TARGET_CPU_X86_GEODE
 	select ADK_KERNEL_I2C
 	select ADK_KERNEL_I2C_CHARDEV
-	default y if ADK_CPU_GEODE
+	default y if ADK_TARGET_CPU_X86_GEODE
 	default n
 	help
 	  I2C driver for Geode boards.

+ 1 - 1
target/linux/config/Config.in.watchdog

@@ -63,7 +63,7 @@ config ADK_KERNEL_AR7_WDT
 
 config ADK_KERNEL_GEODE_WDT
 	bool "Geode Hardware Watchdog"
-	depends on ADK_CPU_GEODE
+	depends on ADK_TARGET_SYSTEM_PCENGINES_ALIX
 	select ADK_KERNEL_WATCHDOG
 	select ADK_KERNEL_MISC_DEVICES
 	select ADK_KERNEL_CS5535_MFGPT

+ 2 - 2
target/linux/config/Config.in.xtensa

@@ -15,8 +15,8 @@ config ADK_KERNEL_XTENSA_VARIANT_CUSTOM
 
 config ADK_KERNEL_XTENSA_VARIANT_CUSTOM_NAME
 	string
-	default "de212" if ADK_TARGET_XTENSA_DE212
+	default "de212" if ADK_TARGET_CPU_XTENSA_DE212
 
 config ADK_KERNEL_BUILTIN_DTB
 	string
-	default "kc705_nommu" if ADK_TARGET_XTENSA_DE212
+	default "kc705_nommu" if ADK_TARGET_CPU_XTENSA_DE212

+ 1 - 1
target/lm32/systems/qemu-lm32

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_LM32
 	bool "Qemu Emulator"
 	select ADK_TARGET_QEMU
-	select ADK_CPU_LM32
+	select ADK_TARGET_CPU_LM32
 	select ADK_TARGET_UCLINUX
 	select ADK_TARGET_KERNEL_VERSION_GIT
 	select ADK_TARGET_KERNEL_REPO "https://github.com/m-labs/linux-milkymist.git"

+ 0 - 12
target/lm32/systems/toolchain-lm32

@@ -1,12 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_LM32
-	bool "Toolchain only"
-	select ADK_CPU_LM32
-	select ADK_TARGET_UCLINUX
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	select ADK_TARGET_KERNEL_VERSION_GIT
-	select ADK_TARGET_KERNEL_REPO "https://github.com/m-labs/linux-milkymist.git"
-	select ADK_TARGET_KERNEL_HASH "6a2f2e4198eaff63ee75f6085ce9f966c47b4441"
-	help
-	  LM32 toolchain.
-

+ 1 - 1
target/m68k/systems/aranym-m68k

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_ARANYM_M68K
 	bool "ARAnyM Emulator"
-	select ADK_CPU_68040
+	select ADK_TARGET_CPU_M68K_68040
 	select ADK_TARGET_WITH_VGA
 	select ADK_TARGET_WITH_INPUT
 	select ADK_TARGET_WITH_PCI

+ 1 - 1
target/m68k/systems/qemu-m68k-mcf5208

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_M68K_MCF5208
 	bool "Qemu M68K (Coldfire MCF5208)"
 	select ADK_TARGET_QEMU
-	select ADK_CPU_CF_5208
+	select ADK_TARGET_CPU_CF_5208
 	select ADK_TARGET_BINFMT_FLAT
 	select ADK_TARGET_UCLINUX
 	select ADK_TARGET_KERNEL_ZIMAGE

+ 1 - 1
target/m68k/systems/qemu-m68k-q800

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_M68K_Q800
 	bool "Qemu M68K (Q800)"
 	select ADK_TARGET_QEMU
-	select ADK_CPU_68040
+	select ADK_TARGET_CPU_M68K_68040
 	select ADK_TARGET_KERNEL_ZIMAGE
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION
 	help

+ 0 - 7
target/m68k/systems/toolchain-m68k

@@ -1,7 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_M68K
-	bool "Toolchain only"
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  M68K toolchain.
-

+ 1 - 1
target/metag/systems/qemu-metag

@@ -1,6 +1,6 @@
 config ADK_TARGET_SYSTEM_QEMU_METAG
 	bool "Qemu Emulator"
-	select ADK_CPU_METAG
+	select ADK_TARGET_CPU_METAG
 	select ADK_TARGET_QEMU
 	select ADK_TARGET_PACKAGE_TXZ
 	help

+ 0 - 8
target/metag/systems/toolchain-metag

@@ -1,8 +0,0 @@
-config ADK_TARGET_SYSTEM_TOOLCHAIN_METAG
-	bool "Toolchain only"
-	select ADK_CPU_METAG
-	select ADK_TARGET_TOOLCHAIN
-	select ADK_TARGET_PACKAGE_TXZ
-	help
-	  METAG toolchain.
-

+ 1 - 1
target/microblaze/systems/qemu-microblaze-ml605

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605
 	bool "Qemu Emulator (Xilinx ML605)"
-	select ADK_CPU_MICROBLAZE
 	select ADK_TARGET_QEMU
+	select ADK_TARGET_CPU_MICROBLAZE
 	select ADK_TARGET_KERNEL_LINUXBIN
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION
 	help

+ 1 - 1
target/microblaze/systems/qemu-microblaze-s3adsp1800

@@ -1,7 +1,7 @@
 config ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800
 	bool "Qemu Emulator (Xilinx Spartan S3ADSP1800)"
-	select ADK_CPU_MICROBLAZE
 	select ADK_TARGET_QEMU
+	select ADK_TARGET_CPU_MICROBLAZE
 	select ADK_TARGET_KERNEL_LINUXBIN
 	select ADK_TARGET_KERNEL_WITH_COMPRESSION
 	help

+ 0 - 7
target/microblaze/systems/toolchain-microblaze