X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=include%2Ftarget.mk;h=8b123959d32cf8061fc863248ed9519f349d6e0f;hb=c0ede8c7f54fecea6f34974b1fb71a39512b23b1;hp=c8eb76c254c03089e59347a0aa4e7f849caecc5f;hpb=de6d7e93e2bc4ffa1ca877f3547d21b9255b6a25;p=openwrt%2Fsvn-archive%2Farchive.git diff --git a/include/target.mk b/include/target.mk index c8eb76c254..8b123959d3 100644 --- a/include/target.mk +++ b/include/target.mk @@ -1,19 +1,32 @@ -# -# Copyright (C) 2007 OpenWrt.org +# +# Copyright (C) 2007-2008 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 +# default device type +DEVICE_TYPE?=router + +# Default packages - the really basic set +DEFAULT_PACKAGES:=base-files libgcc uclibc busybox dropbear mtd uci +# For router targets +DEFAULT_PACKAGES.router:=dnsmasq iptables ppp ppp-mod-pppoe kmod-ipt-nathelper bridge + +# Additional packages for Linux 2.6 +ifneq ($(KERNEL),2.4) + DEFAULT_PACKAGES += udevtrigger hotplug2 +endif +# Add device specific packages +DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) + +ifneq ($(DUMP),) + all: dumpinfo +endif target_conf=$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) ifeq ($(DUMP),) @@ -26,15 +39,6 @@ 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)) @@ -51,6 +55,7 @@ define Profile/Default PACKAGES:= endef +ifndef Profile define Profile $(eval $(call Profile/Default)) $(eval $(call Profile/$(1))) @@ -74,10 +79,25 @@ define Profile PROFILE=$(1) endif endef +endif --include $(PLATFORM_DIR)/profiles/*.mk ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) - -include $(PLATFORM_SUBDIR)/profiles/*.mk + 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)) @@ -86,9 +106,10 @@ 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_FILES_DIR := $(GENERIC_PLATFORM_DIR)/files$(shell [ -d "$(GENERIC_PLATFORM_DIR)/files-$(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_CONFIG?=$(firstword $(wildcard $(foreach subdir,$(PLATFORM_DIR) $(PLATFORM_SUBDIR),$(subdir)/config-$(KERNEL_PATCHVER) $(subdir)/config-default)) $(PLATFORM_DIR)/config-$(KERNEL_PATCHVER)) LINUX_SUBCONFIG?=$(firstword $(wildcard $(PLATFORM_SUBDIR)/config-$(KERNEL_PATCHVER) $(PLATFORM_SUBDIR)/config-default)) ifeq ($(LINUX_CONFIG),$(LINUX_SUBCONFIG)) LINUX_SUBCONFIG:= @@ -106,6 +127,9 @@ ifeq ($(DUMP),1) .SILENT: $(TMP_CONFIG) .PRECIOUS: $(TMP_CONFIG) + ifneq ($(CONFIG_GENERIC_GPIO),) + FEATURES += gpio + endif ifneq ($(CONFIG_PCI),) FEATURES += pci endif @@ -115,27 +139,26 @@ ifeq ($(DUMP),1) ifneq ($(CONFIG_PCMCIA)$(CONFIG_PCCARD),) FEATURES += pcmcia endif + ifneq ($(CONFIG_VGA_CONSOLE)$(CONFIG_FB),) + FEATURES += display + endif # remove duplicates FEATURES:=$(sort $(FEATURES)) endif endif -define BuildTargets/DumpAll - dumpinfo: - @$(foreach SUBTARGET,$(KERNEL_TARGETS),$(SUBMAKE) -s DUMP=1 SUBTARGET=$(SUBTARGET); ) -endef - define BuildTargets/DumpCurrent - + .PHONY: dumpinfo dumpinfo: @echo 'Target: $(TARGETID)'; \ echo 'Target-Board: $(BOARD)'; \ echo 'Target-Kernel: $(KERNEL)'; \ - echo 'Target-Name: $(BOARDNAME) [$(KERNEL)]'; \ + echo 'Target-Name: $(BOARDNAME)$(if $(SUBTARGET),, [$(KERNEL)])'; \ echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))'; \ echo 'Target-Arch: $(ARCH)'; \ echo 'Target-Features: $(FEATURES)'; \ + echo 'Target-Depends: $(DEPENDS)'; \ echo 'Linux-Version: $(LINUX_VERSION)'; \ echo 'Linux-Release: $(LINUX_RELEASE)'; \ echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ @@ -144,6 +167,7 @@ define BuildTargets/DumpCurrent echo '@@'; \ echo 'Default-Packages: $(DEFAULT_PACKAGES)'; \ $(DUMPINFO) + $(if $(SUBTARGET),,@$(foreach SUBTARGET,$(SUBTARGETS),$(SUBMAKE) -s DUMP=1 SUBTARGET=$(SUBTARGET); )) endef include $(INCLUDE_DIR)/kernel.mk