2009-12-07 18:38:33 +03:00
# ==========================================================================
# Generating modules.builtin
# ==========================================================================
src := $( obj)
PHONY := __modbuiltin
__modbuiltin :
- i n c l u d e i n c l u d e / c o n f i g / a u t o . c o n f
# tristate.conf sets tristate variables to uppercase 'Y' or 'M'
# That way, we get the list of built-in modules in obj-Y
- i n c l u d e i n c l u d e / c o n f i g / t r i s t a t e . c o n f
i n c l u d e s c r i p t s / K b u i l d . i n c l u d e
2010-06-10 14:23:08 +04:00
i f n e q ( $( KBUILD_SRC ) , )
# Create output directory if not already present
_dummy := $( shell [ -d $( obj) ] || mkdir -p $( obj) )
e n d i f
2009-12-07 18:38:33 +03:00
# The filename Kbuild has precedence over Makefile
kbuild-dir := $( if $( filter /%,$( src) ) ,$( src) ,$( srctree) /$( src) )
kbuild-file := $( if $( wildcard $( kbuild-dir) /Kbuild) ,$( kbuild-dir) /Kbuild,$( kbuild-dir) /Makefile)
i n c l u d e $( kbuild -file )
i n c l u d e s c r i p t s / M a k e f i l e . l i b
__subdir-Y := $( patsubst %/,%,$( filter %/, $( obj-Y) ) )
subdir-Y += $( __subdir-Y)
subdir-ym := $( sort $( subdir-y) $( subdir-Y) $( subdir-m) )
subdir-ym := $( addprefix $( obj) /,$( subdir-ym) )
obj-Y := $( addprefix $( obj) /,$( obj-Y) )
modbuiltin-subdirs := $( patsubst %,%/modules.builtin, $( subdir-ym) )
modbuiltin-mods := $( filter %.ko, $( obj-Y:.o= .ko) )
modbuiltin-target := $( obj) /modules.builtin
__modbuiltin : $( modbuiltin -target ) $( subdir -ym )
@:
$(modbuiltin-target) : $( subdir -ym ) FORCE
$( Q) ( for m in $( modbuiltin-mods) ; do echo kernel/$$ m; done ; \
cat /dev/null $( modbuiltin-subdirs) ) > $@
PHONY += FORCE
FORCE :
# Descending
# ---------------------------------------------------------------------------
PHONY += $( subdir-ym)
$(subdir-ym) :
$( Q) $( MAKE) $( modbuiltin) = $@
# Declare the contents of the .PHONY variable as phony. We keep that
# information in a variable se we can use it in if_changed and friends.
.PHONY : $( PHONY )