X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=include%2Ftarget.mk;h=92edaec96b0e8b40a4cdcc3bee02912c30232ff9;hp=c99c2825f211c1d0261c24f1c6805a4e6e17f989;hb=c4ae33b0488a37267e6ae24abb5726ee31fc05bd;hpb=6435b8bb27eaa3ba3d0320725e5ba8211b907e85 diff --git a/include/target.mk b/include/target.mk index c99c2825f2..92edaec96b 100644 --- a/include/target.mk +++ b/include/target.mk @@ -1,5 +1,6 @@ # # Copyright (C) 2007-2008 OpenWrt.org +# Copyright (C) 2016 LEDE Project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -12,9 +13,11 @@ __target_inc=1 DEVICE_TYPE?=router # Default packages - the really basic set -DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd +DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd +# For nas targets +DEFAULT_PACKAGES.nas:=block-mount fdisk lsblk mdadm # For router targets -DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall odhcpd odhcp6c +DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe firewall odhcpd odhcp6c DEFAULT_PACKAGES.bootloader:= ifneq ($(DUMP),) @@ -54,34 +57,26 @@ DEFAULT_PACKAGES += $(DEFAULT_PACKAGES.$(DEVICE_TYPE)) filter_packages = $(filter-out -% $(patsubst -%,%,$(filter -%,$(1))),$(1)) extra_packages = $(if $(filter wpad-mini wpad nas,$(1)),iwinfo) -define Profile/Default +define ProfileDefault NAME:= + PRIORITY:= PACKAGES:= endef ifndef Profile define Profile - $(eval $(call Profile/Default)) + $(eval $(call ProfileDefault)) $(eval $(call Profile/$(1))) - $(eval $(call shexport,Profile/$(1)/Config)) - $(eval $(call shexport,Profile/$(1)/Description)) + dumpinfo : $(call shexport,Profile/$(1)/Description) DUMPINFO += \ echo "Target-Profile: $(1)"; \ + $(if $(PRIORITY), echo "Target-Profile-Priority: $(PRIORITY)"; ) \ echo "Target-Profile-Name: $(NAME)"; \ echo "Target-Profile-Packages: $(PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES) $(PACKAGES))"; \ - if [ -f ./config/profile-$(1) ]; then \ - echo "Target-Profile-Kconfig: yes"; \ - fi; \ - echo "Target-Profile-Config: "; \ - $(SH_FUNC) getvar "$(call shvar,Profile/$(1)/Config)"; \ - echo "@@"; \ echo "Target-Profile-Description:"; \ - $(SH_FUNC) getvar "$(call shvar,Profile/$(1)/Description)"; \ + echo "$$$$$$$$$(call shvar,Profile/$(1)/Description)"; \ echo "@@"; \ echo; - ifeq ($(CONFIG_TARGET_$(call target_conf,$(BOARD)_$(if $(SUBTARGET),$(SUBTARGET)_))$(1)),y) - PROFILE=$(1) - endif endef endif @@ -96,16 +91,14 @@ else endef endif +PROFILE:=$(call qstrip,$(CONFIG_TARGET_PROFILE)) + ifeq ($(TARGET_BUILD),1) - $(eval $(call IncludeProfiles)) -else - ifeq ($(DUMP),) + ifneq ($(DUMP),) $(eval $(call IncludeProfiles)) endif endif -$(eval $(call shexport,Target/Description)) - ifneq ($(TARGET_BUILD)$(if $(DUMP),,1),) include $(INCLUDE_DIR)/kernel-version.mk endif @@ -212,14 +205,19 @@ ifeq ($(DUMP),1) CPU_CFLAGS_mips32 = -mips32 -mtune=mips32 CPU_CFLAGS_mips32r2 = -mips32r2 -mtune=mips32r2 CPU_CFLAGS_mips64 = -mips64 -mtune=mips64 -mabi=64 + CPU_CFLAGS_24kc = -mips32r2 -mtune=24kc CPU_CFLAGS_24kec = -mips32r2 -mtune=24kec CPU_CFLAGS_34kc = -mips32r2 -mtune=34kc + CPU_CFLAGS_74kc = -mips32r2 -mtune=74kc + CPU_CFLAGS_1004kc = -mips32r2 -mtune=1004kc + CPU_CFLAGS_octeon = -march=octeon -mabi=64 CPU_CFLAGS_dsp = -mdsp CPU_CFLAGS_dsp2 = -mdspr2 endif ifeq ($(ARCH),i386) CPU_TYPE ?= i486 CPU_CFLAGS_i486 = -march=i486 + CPU_CFLAGS_pentium4 = -march=pentium4 CPU_CFLAGS_geode = -march=geode -mmmx -m3dnow endif ifneq ($(findstring arm,$(ARCH)),) @@ -228,9 +226,12 @@ ifeq ($(DUMP),1) CPU_CFLAGS_arm926ej-s = -march=armv5te -mtune=arm926ej-s CPU_CFLAGS_arm1136j-s = -march=armv6 -mtune=arm1136j-s CPU_CFLAGS_arm1176jzf-s = -march=armv6 -mtune=arm1176jzf-s + CPU_CFLAGS_cortex-a5 = -march=armv7-a -mtune=cortex-a5 CPU_CFLAGS_cortex-a7 = -march=armv7-a -mtune=cortex-a7 CPU_CFLAGS_cortex-a8 = -march=armv7-a -mtune=cortex-a8 CPU_CFLAGS_cortex-a9 = -march=armv7-a -mtune=cortex-a9 + CPU_CFLAGS_cortex-a15 = -march=armv7-a -mtune=cortex-a15 + CPU_CFLAGS_cortex-a53 = -march=armv8-a -mtune=cortex-a53 CPU_CFLAGS_fa526 = -march=armv4 -mtune=fa526 CPU_CFLAGS_mpcore = -march=armv6k -mtune=mpcore CPU_CFLAGS_xscale = -march=armv5te -mtune=xscale @@ -238,6 +239,7 @@ ifeq ($(DUMP),1) CPU_CFLAGS_neon = -mfpu=neon CPU_CFLAGS_vfp = -mfpu=vfp CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16 + CPU_CFLAGS_neon-vfpv4 = -mfpu=neon-vfpv4 endif endif ifeq ($(ARCH),powerpc) @@ -250,18 +252,33 @@ ifeq ($(DUMP),1) CPU_TYPE = sparc CPU_CFLAGS_ultrasparc = -mcpu=ultrasparc endif + ifeq ($(ARCH),aarch64) + CPU_TYPE ?= armv8-a + CPU_CFLAGS_armv8-a = -mcpu=armv8-a + endif + ifeq ($(ARCH),arc) + CPU_TYPE ?= arc700 + CPU_CFLAGS += -matomic + CPU_CFLAGS_arc700 = -marc700 + CPU_CFLAGS_archs = -marchs + endif DEFAULT_CFLAGS=$(strip $(CPU_CFLAGS) $(CPU_CFLAGS_$(CPU_TYPE)) $(CPU_CFLAGS_$(CPU_SUBTYPE))) endif +CUR_SUBTARGET:=$(SUBTARGET) +ifeq ($(SUBTARGETS),) + CUR_SUBTARGET := default +endif + define BuildTargets/DumpCurrent .PHONY: dumpinfo + dumpinfo : export DESCRIPTION=$$(Target/Description) dumpinfo: @echo 'Target: $(TARGETID)'; \ echo 'Target-Board: $(BOARD)'; \ echo 'Target-Name: $(BOARDNAME)$(if $(SUBTARGETS),$(if $(SUBTARGET),))'; \ - echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))'; \ echo 'Target-Arch: $(ARCH)'; \ - echo 'Target-Arch-Packages: $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD))'; \ + echo 'Target-Arch-Packages: $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(ARCH)$(if $(CPU_TYPE),_$(CPU_TYPE))$(if $(CPU_SUBTYPE),_$(CPU_SUBTYPE)))'; \ echo 'Target-Features: $(FEATURES)'; \ echo 'Target-Depends: $(DEPENDS)'; \ echo 'Target-Optimization: $(if $(CFLAGS),$(CFLAGS),$(DEFAULT_CFLAGS))'; \ @@ -269,12 +286,13 @@ define BuildTargets/DumpCurrent echo 'Linux-Version: $(LINUX_VERSION)'; \ echo 'Linux-Release: $(LINUX_RELEASE)'; \ echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \ - $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) + $(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) \ echo 'Target-Description:'; \ - $(SH_FUNC) getvar $(call shvar,Target/Description); \ + echo "$$$$DESCRIPTION"; \ echo '@@'; \ echo 'Default-Packages: $(DEFAULT_PACKAGES) $(call extra_packages,$(DEFAULT_PACKAGES))'; \ $(DUMPINFO) + $(if $(CUR_SUBTARGET),$(SUBMAKE) -r --no-print-directory -C image -s DUMP=1 SUBTARGET=$(CUR_SUBTARGET)) $(if $(SUBTARGET),,@$(foreach SUBTARGET,$(SUBTARGETS),$(SUBMAKE) -s DUMP=1 SUBTARGET=$(SUBTARGET); )) endef