@ -5,17 +5,147 @@
# See /LICENSE for more information.
#
d e f i n e A d d P r o f i l e
ifeq ( $( CONFIG_LINUX_$( 1) ) ,y)
$( call Profile/$( 1) )
PROFILE = $$ ( ID)
i f n e q ( $( DUMP ) , )
all: dumpinfo
e n d i f
i f n e q ( $( __target_inc ) , 1 )
__target_inc = 1
TARGET_BUILD ?= 0
target_conf = $( subst .,_,$( subst -,_,$( subst /,_,$( 1) ) ) )
i f e q ( $( DUMP ) , )
PLATFORM_DIR:= $( TOPDIR) /target/linux/$( BOARD)
SUBTARGET:= $( strip $( foreach subdir,$( patsubst $( PLATFORM_DIR) /%/target.mk,%,$( wildcard $( PLATFORM_DIR) /*/target.mk) ) ,$( if $( CONFIG_TARGET_$( call target_conf,$( BOARD) _$( subdir) ) ) ,$( subdir) ) ) )
e l s e
PLATFORM_DIR:= ${ CURDIR }
e n d i f
TARGETID := $( BOARD) $( if $( SUBTARGET) ,/$( SUBTARGET) )
PLATFORM_SUBDIR := $( PLATFORM_DIR) $( if $( SUBTARGET) ,/$( SUBTARGET) )
d e f i n e T a r g e t
KERNEL_TARGETS += $( 1)
ifeq ( $( DUMP) ,1)
ifeq ( $( SUBTARGET) ,)
BuildTarget = $$ ( BuildTargets/DumpAll)
endif
endif
e n d e f
- i n c l u d e $( TMP_DIR ) / . t a r g e t . m k
i f n e q ( $( TARGET_BUILD ) , 1 )
include $( PLATFORM_DIR) /Makefile
ifneq ( $( PLATFORM_DIR) ,$( PLATFORM_SUBDIR) )
include $( PLATFORM_SUBDIR) /target.mk
endif
e l s e
ifneq ( $( SUBTARGET) ,)
-include ./$( SUBTARGET) /target.mk
endif
e n d i f
d e f i n e P r o f i l e / D e f a u l t
NAME:=
PACKAGES:=
e n d e f
d e f i n e P r o f i l e
$( eval $( call Profile/Default) )
$( eval $( call Profile/$( 1) ) )
$( eval $( call shexport,Profile/$( 1) /Config) )
$( eval $( call shexport,Profile/$( 1) /Description) )
DUMPINFO += \
echo " Target-Profile: $( 1) " ; \
echo " Target-Profile-Name: $( NAME) " ; \
echo " Target-Profile-Packages: $( PACKAGES) " ; \
if [ -f ./config/profile-$( 1) ] ; then \
echo "Target-Profile-Kconfig: yes" ; \
fi ; \
echo "Target-Profile-Config: " ; \
getvar " $( call shvar,Profile/$( 1) /Config) " ; \
echo "@@" ; \
echo "Target-Profile-Description:" ; \
getvar " $( call shvar,Profile/$( 1) /Description) " ; \
echo "@@" ; \
echo;
ifeq ( $( CONFIG_TARGET_$( call target_conf,$( BOARD) _$( if $( 2) ,$( 2) _) $( 1) ) ) ,y)
PROFILE = $( 1)
endif
e n d e f
$( eval $ ( call shexport ,Target /Description ) )
i n c l u d e $( INCLUDE_DIR ) / k e r n e l - v e r s i o n . m k
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_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_SUBCONFIG ?= $( firstword $( wildcard $( PLATFORM_SUBDIR) /config-$( KERNEL_PATCHVER) $( PLATFORM_SUBDIR) /config-default) )
i f e q ( $( LINUX_CONFIG ) , $( LINUX_SUBCONFIG ) )
LINUX_SUBCONFIG:=
e n d i f
LINUX_CONFCMD = $( if $( LINUX_CONFIG) ,$( SCRIPT_DIR) /kconfig.pl + $( GENERIC_LINUX_CONFIG) $( if $( LINUX_SUBCONFIG) ,+ $( LINUX_CONFIG) $( LINUX_SUBCONFIG) ,$( LINUX_CONFIG) ) ,true)
i f e q ( $( DUMP ) , 1 )
BuildTarget = $( BuildTargets/DumpCurrent)
ifneq ( $( BOARD) ,)
TMP_CONFIG:= $( TMP_DIR) /.kconfig-$( call target_conf,$( TARGETID) )
$( TMP_CONFIG) : $( GENERIC_LINUX_CONFIG) $( LINUX_CONFIG) $( LINUX_SUBCONFIG)
$( LINUX_CONFCMD) > $@ || rm -f $@
-include $( TMP_CONFIG)
.SILENT: $( TMP_CONFIG)
.PRECIOUS: $( TMP_CONFIG)
ifneq ( $( CONFIG_PCI) ,)
FEATURES += pci
endif
ifneq ( $( CONFIG_USB) ,)
FEATURES += usb
endif
ifneq ( $( CONFIG_PCMCIA) $( CONFIG_PCCARD) ,)
FEATURES += pcmcia
endif
# remove duplicates
FEATURES:= $( sort $( FEATURES) )
endif
e n d i f
d e f i n e B u i l d T a r g e t s / D u m p A l l
dumpinfo:
@$( foreach SUBTARGET,$( KERNEL_TARGETS) ,$( SUBMAKE) -s DUMP = 1 SUBTARGET = $( SUBTARGET) ; )
e n d e f
d e f i n e B u i l d T a r g e t s / D u m p C u r r e n t
dumpinfo:
@echo 'Target: $(TARGETID)' ; \
echo 'Target-Board: $(BOARD)' ; \
echo 'Target-Kernel: $(KERNEL)' ; \
echo 'Target-Name: $(BOARDNAME) [$(KERNEL)]' ; \
echo 'Target-Path: $(subst $(TOPDIR)/,,$(PWD))' ; \
echo 'Target-Arch: $(ARCH)' ; \
echo 'Target-Features: $(FEATURES)' ; \
echo 'Linux-Version: $(LINUX_VERSION)' ; \
echo 'Linux-Release: $(LINUX_RELEASE)' ; \
echo 'Linux-Kernel-Arch: $(LINUX_KARCH)' ; \
echo 'Target-Description:' ; \
getvar $( call shvar,Target/Description) ; \
echo '@@' ; \
echo 'Default-Packages: $(DEFAULT_PACKAGES)' ; \
$( DUMPINFO)
e n d e f
i f e q ( $( IB ) , 1 )
$(TMP_DIR)/.target.mk : $( TOPDIR ) /.target .mk
$( CP) $< $@
i n c l u d e $( INCLUDE_DIR ) / k e r n e l . m k
i f e q ( $( TARGET_BUILD ) , 1 )
include $( INCLUDE_DIR) /kernel-build.mk
BuildTarget?= $( BuildKernel)
e n d i f
e n d i f #__target_inc