X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Ftarget.mk;h=ef3f1dbbe07d9314754f25eedb12558b0654489f;hb=70014e13845197e15045866c3a1d8755a9f265d0;hp=c8eb76c254c03089e59347a0aa4e7f849caecc5f;hpb=ac2af6affae6e73279347336dea1b8d7e76d84d5;p=oweals%2Fopenwrt.git diff --git a/include/target.mk b/include/target.mk index c8eb76c254..ef3f1dbbe0 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 +# 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,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)) @@ -115,27 +135,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 +163,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