X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/d8391c02649d53f3ae11c572b06e0a7e4832eba9..f44890b6fb35c11b7c52c3134cf05d1d3d77d50b:/include/target.mk diff --git a/include/target.mk b/include/target.mk index c8eb76c25..be9f128cd 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,6 +106,7 @@ 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))) @@ -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