+#
+# Copyright (C) 2007 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+ifneq ($(DUMP),)
+ all: dumpinfo
+endif
+
+ifneq ($(__target_inc),1)
+__target_inc=1
+
+TARGET_BUILD?=0
+
+
+target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1))))
+ifeq ($(DUMP),)
+ PLATFORM_DIR:=$(TOPDIR)/target/linux/$(BOARD)
+ 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}
+endif
+
+TARGETID:=$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET))
+PLATFORM_SUBDIR:=$(PLATFORM_DIR)$(if $(SUBTARGET),/$(SUBTARGET))
+
+define Target
+ KERNEL_TARGETS+=$(1)
+ ifeq ($(DUMP),1)
+ ifeq ($(SUBTARGET),)
+ BuildTarget=$$(BuildTargets/DumpAll)
+ endif
+ endif
+endef
+
+ifneq ($(TARGET_BUILD),1)
+ include $(PLATFORM_DIR)/Makefile
+ ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
+ include $(PLATFORM_SUBDIR)/target.mk
+ endif
+else
+ ifneq ($(SUBTARGET),)
+ -include ./$(SUBTARGET)/target.mk
+ endif
+endif
+
+define Profile/Default
+ NAME:=
+ PACKAGES:=
+endef
+
+define Profile
+ $(eval $(call Profile/Default))
+ $(eval $(call Profile/$(1)))
+ $(eval $(call shexport,Profile/$(1)/Config))
+ $(eval $(call shexport,Profile/$(1)/Description))
+ DUMPINFO += \
+ echo "Target-Profile: $(1)"; \
+ echo "Target-Profile-Name: $(NAME)"; \
+ echo "Target-Profile-Packages: $(PACKAGES)"; \
+ if [ -f ./config/profile-$(1) ]; then \
+ echo "Target-Profile-Kconfig: yes"; \
+ fi; \
+ echo "Target-Profile-Config: "; \
+ getvar "$(call shvar,Profile/$(1)/Config)"; \
+ echo "@@"; \
+ echo "Target-Profile-Description:"; \
+ getvar "$(call shvar,Profile/$(1)/Description)"; \
+ echo "@@"; \
+ echo;
+ ifeq ($(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(if $(SUBTARGET),$(SUBTARGET)_)$(1))),y)
+ PROFILE=$(1)
+ endif
+endef
+
+ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR))
+ define IncludeProfiles
+ -include $(PLATFORM_DIR)/profiles/*.mk
+ -include $(PLATFORM_SUBDIR)/profiles/*.mk
+ endef
+else
+ define IncludeProfiles
+ -include $(PLATFORM_DIR)/profiles/*.mk
+ endef
+endif
+
+ifeq ($(TARGET_BUILD),1)
+ $(eval $(call IncludeProfiles))
+else
+ ifeq ($(DUMP),)
+ $(eval $(call IncludeProfiles))
+ endif
+endif
+
+$(eval $(call shexport,Target/Description))
+
+include $(INCLUDE_DIR)/kernel-version.mk
+
+GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic-$(KERNEL)
+GENERIC_PATCH_DIR := $(GENERIC_PLATFORM_DIR)/patches$(shell [ -d "$(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)" ] && printf -- "-$(KERNEL_PATCHVER)" || true )
+
+GENERIC_LINUX_CONFIG?=$(firstword $(wildcard $(GENERIC_PLATFORM_DIR)/config-$(KERNEL_PATCHVER) $(GENERIC_PLATFORM_DIR)/config-default))
+LINUX_CONFIG?=$(firstword $(wildcard $(foreach subdir,$(PLATFORM_DIR) $(PLATFORM_SUBDIR),$(subdir)/config-$(KERNEL_PATCHVER) $(subdir)/config-default)))
+LINUX_SUBCONFIG?=$(firstword $(wildcard $(PLATFORM_SUBDIR)/config-$(KERNEL_PATCHVER) $(PLATFORM_SUBDIR)/config-default))
+ifeq ($(LINUX_CONFIG),$(LINUX_SUBCONFIG))
+ LINUX_SUBCONFIG:=