X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/b26d576fd70a23f515d573e2bd301856f8b73fbc..ea77fa9c7d2349d2e0af570b6f3628d09e5b75f8:/include/target.mk?ds=sidebyside diff --git a/include/target.mk b/include/target.mk index 1590b9109..ce842da79 100644 --- a/include/target.mk +++ b/include/target.mk @@ -1,19 +1,32 @@ -# +# # 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 +# 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 iptables 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,11 +79,24 @@ define Profile PROFILE=$(1) endif endef +endif -ifeq ($(DUMP)$(if $(TARGET_BUILD),,1),) - -include $(PLATFORM_DIR)/profiles/*.mk - ifneq ($(PLATFORM_DIR),$(PLATFORM_SUBDIR)) +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 @@ -108,6 +126,9 @@ ifeq ($(DUMP),1) .SILENT: $(TMP_CONFIG) .PRECIOUS: $(TMP_CONFIG) + ifneq ($(CONFIG_GENERIC_GPIO),) + FEATURES += gpio + endif ifneq ($(CONFIG_PCI),) FEATURES += pci endif @@ -117,27 +138,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)'; \ @@ -146,6 +166,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