@ -1,60 +1,20 @@
#
#
# Copyright (C) 2006-2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
KERNEL_BUILD := 1
i n c l u d e $( INCLUDE_DIR ) / h o s t . m k
i n c l u d e $( INCLUDE_DIR ) / k e r n e l . m k
i n c l u d e $( INCLUDE_DIR ) / p r e r e q . m k
o v e r r i d e MAKEFLAGS =
GENERIC_LINUX_CONFIG := $( GENERIC_PLATFORM_DIR) /config-$( shell [ -f " $( GENERIC_PLATFORM_DIR) /config- $( KERNEL_PATCHVER) " ] && echo " $( KERNEL_PATCHVER) " || echo template )
LINUX_CONFIG_DIR ?= ./config$( shell [ -d " ./config- $( KERNEL_PATCHVER) " ] && printf -- " - $( KERNEL_PATCHVER) " || true )
LINUX_CONFIG ?= $( LINUX_CONFIG_DIR) /default
i f n e q ( $( DUMP ) , )
TMP_CONFIG:= $( TMP_DIR) /.kconfig-$( BOARD) -$( KERNEL)
$( TMP_CONFIG) : $( GENERIC_LINUX_CONFIG) $( LINUX_CONFIG)
$( SCRIPT_DIR) /config.pl + $^ > $@
-include $( TMP_CONFIG)
.SILENT: $( TMP_CONFIG)
i f n e q ( $( DUMP ) , 1 )
override MAKEFLAGS =
e n d i f
i f n e q ( $( CONFIG_PCI ) , )
FEATURES += pci
e n d i f
i f n e q ( $( CONFIG_USB ) , )
FEATURES += usb
e n d i f
i f n e q ( $( CONFIG_PCMCIA ) $( CONFIG_PCCARD ) , )
FEATURES += pcmcia
e n d i f
# remove duplicates
FEATURES := $( sort $( FEATURES) )
i f e q ( $( DUMP ) , 1 )
all: dumpinfo
e l s e
i f n e q ( $( DUMP ) , 1 )
all: compile
e n d i f
i f n e q ( , $( findstring uml ,$ ( BOARD ) ) )
LINUX_KARCH:= um
e l s e
LINUX_KARCH:= $( shell echo $( ARCH) | sed -e 's/i[3-9]86/i386/' \
-e 's/mipsel/mips/' \
-e 's/mipseb/mips/' \
-e 's/powerpc/ppc/' \
-e 's/sh[234]/sh/' \
-e 's/armeb/arm/' \
)
e n d i f
STAMP_PREPARED := $( LINUX_DIR) /.prepared
STAMP_CONFIGURED := $( LINUX_DIR) /.configured
i n c l u d e $( INCLUDE_DIR ) / q u i l t . m k
@ -90,106 +50,54 @@ define BuildKernel
$( STAMP_PREPARED) : $( DL_DIR) /$( LINUX_SOURCE)
-rm -rf $( KERNEL_BUILD_DIR)
-mkdir -p $( KERNEL_BUILD_DIR)
$( call Kernel/Prepare)
$( Kernel/Prepare)
touch $$ @
$( STAMP_CONFIGURED) : $( STAMP_PREPARED) $( LINUX_CONFIG) $( GENERIC_LINUX_CONFIG) $( TOPDIR) /.config
$( call Kernel/Configure)
$( Kernel/Configure)
touch $$ @
$( LINUX_DIR) /.modules: $( STAMP_CONFIGURED) $( LINUX_DIR) /.config FORCE
$( call Kernel/CompileModules)
$( Kernel/CompileModules)
touch $$ @
$( LINUX_DIR) /.image: $( STAMP_CONFIGURED) FORCE
$( call Kernel/CompileImage)
$( Kernel/CompileImage)
touch $$ @
mostlyclean: FORCE
$( call Kernel/Clean)
ifeq ( $( DUMP) ,1)
dumpinfo:
@echo 'Target: $(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)'
ifneq ( $( DUMPINFO) ,)
@$( DUMPINFO)
endif
endif
$( Kernel/Clean)
define BuildKernel
endef
e n d e 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
confname = $( subst .,_,$( subst -,_,$( 1) ) )
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_LINUX_$( call confname,$( KERNEL) _$( 1) ) ) ,y)
PROFILE = $( 1)
endif
e n d e f
$( eval $ ( call shexport ,Target /Description ) )
download : $( DL_DIR ) /$( LINUX_SOURCE )
prepare : $( STAMP_CONFIGURED )
compile : $( LINUX_DIR ) /.modules
$( MAKE) -C image compile
download: $( DL_DIR) /$( LINUX_SOURCE)
prepare: $( STAMP_CONFIGURED)
compile: $( LINUX_DIR) /.modules
$( MAKE) -C image compile TARGET_BUILD =
oldconfig menuconfig : $( STAMP_PREPARED ) FORCE
$( call Kernel/Configure)
$( SCRIPT_DIR) /config.pl '+' $( GENERIC_LINUX_CONFIG) $( LINUX_CONFIG ) > $( LINUX_DIR) /.config
oldconfig menuconfig: $( STAMP_PREPARED) FORCE
$( Kernel/Configure)
$( LINUX_CONFCMD) > $( LINUX_DIR) /.config
$( MAKE) -C $( LINUX_DIR) $( KERNEL_MAKEOPTS) $@
$( SCRIPT_DIR) /config.pl '>' $( GENERIC_LINUX_CONFIG) $( LINUX_DIR) /.config > $( LINUX_CONFIG)
$( SCRIPT_DIR) /kconfig.pl '>' $( GENERIC_LINUX_CONFIG) $( LINUX_DIR) /.config > $( LINUX_CONFIG)
install : $( LINUX_DIR ) /.image
$( MAKE) -C image compile install
install: $( LINUX_DIR) /.image
TARGET_BUILD = "" $( MAKE) -C image compile install
clean : FORCE
rm -f $( STAMP_DIR) /.linux-compile
clean: FORCE
rm -rf $( KERNEL_BUILD_DIR)
rebuild : FORCE
rebuild: FORCE
@$( MAKE) mostlyclean
@if [ -f $( LINUX_KERNEL) ] ; then \
$( MAKE) clean; \
fi
@$( MAKE) compile
image-prereq :
$( SUBMAKE) -s -C image prereq
image-prereq:
$( SUBMAKE) -s -C image prereq TARGET_BUILD =
prereq : image -prereq
prereq: image-prereq
e n d e f