X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/0a4b9c0e4427bd3d4321abae7a64548b58231d13..157c107494098fa037072372ed7ff34484158308:/include/target.mk diff --git a/include/target.mk b/include/target.mk index f673f9582..af3230925 100644 --- a/include/target.mk +++ b/include/target.mk @@ -17,9 +17,6 @@ DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg hotplug2 DEFAULT_PACKAGES.router:=dnsmasq iptables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall DEFAULT_PACKAGES.bootloader:= -# Add device specific packages -DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) - ifneq ($(DUMP),) all: dumpinfo endif @@ -30,6 +27,9 @@ ifeq ($(DUMP),) SUBTARGET:=$(strip $(foreach subdir,$(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk)),$(if $(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(subdir))),$(subdir)))) else PLATFORM_DIR:=${CURDIR} + ifeq ($(SUBTARGETS),) + SUBTARGETS:=$(strip $(patsubst $(PLATFORM_DIR)/%/target.mk,%,$(wildcard $(PLATFORM_DIR)/*/target.mk))) + endif endif TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)) @@ -48,6 +48,9 @@ else endif endif +# Add device specific packages (here below to allow device type set from subtarget) +DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) + define Profile/Default NAME:= PACKAGES:= @@ -112,42 +115,35 @@ __config_name_list = $(1)/config-$(KERNEL_PATCHVER) $(1)/config-default __config_list = $(firstword $(wildcard $(call __config_name_list,$(1)))) find_kernel_config=$(if $(__config_list),$(__config_list),$(lastword $(__config_name_list))) -GENERIC_LINUX_CONFIG:=$(call find_kernel_config,$(GENERIC_PLATFORM_DIR)) -LINUX_TARGET_CONFIG:=$(call find_kernel_config,$(PLATFORM_DIR)) +GENERIC_LINUX_CONFIG = $(call find_kernel_config,$(GENERIC_PLATFORM_DIR)) +LINUX_TARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_DIR)) ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) - LINUX_SUBTARGET_CONFIG:=$(call find_kernel_config,$(PLATFORM_SUBDIR)) + LINUX_SUBTARGET_CONFIG = $(call find_kernel_config,$(PLATFORM_SUBDIR)) endif # config file list used for compiling -LINUX_KCONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config) +LINUX_KCONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG) $(TOPDIR)/env/kernel-config) # default config list for reconfiguring # defaults to subtarget if subtarget exists and target does not # defaults to target otherwise -ifeq ($(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)),1) - LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG)) - LINUX_RECONFIG_TARGET := $(LINUX_SUBTARGET_CONFIG) -else - LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG)) - LINUX_RECONFIG_TARGET := $(LINUX_TARGET_CONFIG) -endif +USE_SUBTARGET_CONFIG = $(if $(wildcard $(LINUX_TARGET_CONFIG)),,$(if $(LINUX_SUBTARGET_CONFIG),1)) + +LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG))) +LINUX_RECONFIG_TARGET = $(if $(USE_SUBTARGET_CONFIG),$(LINUX_SUBTARGET_CONFIG),$(LINUX_TARGET_CONFIG)) # select the config file to be cahnged by kernel_menuconfig/kernel_oldconfig ifeq ($(CONFIG_TARGET),platform) - LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG)) - LINUX_RECONFIG_TARGET := $(LINUX_TARGET_CONFIG) + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_TARGET_CONFIG) endif ifeq ($(CONFIG_TARGET),subtarget) - ifeq ($(wildcard $(LINUX_SUBTARGET_CONFIG)),) - $(error Subtarget not available, cannot reconfigure) - else - LINUX_RECONFIG_LIST := $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG)) - LINUX_RECONFIG_TARGET := $(LINUX_SUBTARGET_CONFIG) - endif + LINUX_RECONFIG_LIST = $(wildcard $(GENERIC_LINUX_CONFIG) $(LINUX_TARGET_CONFIG) $(LINUX_SUBTARGET_CONFIG)) + LINUX_RECONFIG_TARGET = $(LINUX_SUBTARGET_CONFIG) endif ifeq ($(CONFIG_TARGET),env) - LINUX_RECONFIG_LIST := $(LINUX_KCONFIG_LIST) - LINUX_RECONFIG_TARGET := $(TOPDIR)/env/kernel-config + LINUX_RECONFIG_LIST = $(LINUX_KCONFIG_LIST) + LINUX_RECONFIG_TARGET = $(TOPDIR)/env/kernel-config endif __linux_confcmd = $(SCRIPT_DIR)/kconfig.pl $(2) $(patsubst %,+,$(wordlist 2,9999,$(1))) $(1) @@ -209,7 +205,6 @@ define BuildTargets/DumpCurrent dumpinfo: @echo 'Target: $(TARGETID)'; \ echo 'Target-Board: $(BOARD)'; \ - echo 'Target-Kernel: $(KERNEL)'; \ echo 'Target-Name: $(BOARDNAME)$(if $(SUBTARGETS),$(if $(SUBTARGET),))'; \ echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))'; \ echo 'Target-Arch: $(ARCH)'; \ @@ -220,6 +215,7 @@ define BuildTargets/DumpCurrent echo 'Linux-Version: $(LINUX_VERSION)'; \ echo 'Linux-Release: $(LINUX_RELEASE)'; \ echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ + $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) echo 'Target-Description:'; \ $(SH_FUNC) getvar $(call shvar,Target/Description); \ echo '@@'; \