2008-05-29 12:01:51 +04:00
# ==========================================================================
# Installing firmware
#
# We don't include the .config, so all firmware files are in $(fw-shipped-)
# rather than in $(fw-shipped-y) or $(fw-shipped-n).
# ==========================================================================
INSTALL := install
2008-05-31 16:07:18 +04:00
src := $( obj)
2008-05-29 12:01:51 +04:00
# For modules_install installing firmware, we want to see .config
# But for firmware_install, we don't care, but don't want to require it.
- i n c l u d e $( objtree ) / . c o n f i g
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
i n c l u d e $( srctree ) / $( obj ) / M a k e f i l e
i n c l u d e s c r i p t s / M a k e f i l e . h o s t
2008-07-25 22:17:19 +04:00
mod-fw := $( fw-shipped-m)
2008-05-29 12:01:51 +04:00
# If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the
# firmware for in-kernel drivers too.
i f n d e f C O N F I G _ F I R M W A R E _ I N _ K E R N E L
2008-07-25 22:17:19 +04:00
mod-fw += $( fw-shipped-y)
2008-05-29 12:01:51 +04:00
e n d i f
2008-07-25 22:17:19 +04:00
installed-mod-fw := $( addprefix $( INSTALL_FW_PATH) /,$( mod-fw) )
2008-05-29 12:01:51 +04:00
installed-fw := $( addprefix $( INSTALL_FW_PATH) /,$( fw-shipped-all) )
installed-fw-dirs := $( sort $( dir $( installed-fw) ) ) $( INSTALL_FW_PATH) /.
2008-07-17 10:44:32 +04:00
# Workaround for make < 3.81, where .SECONDEXPANSION doesn't work.
PHONY += $( INSTALL_FW_PATH) /$$ ( %) install-all-dirs
$(INSTALL_FW_PATH)/$$(%) : install -all -dirs
@true
install-all-dirs : $( installed -fw -dirs )
@true
2008-05-29 12:01:51 +04:00
quiet_cmd_install = INSTALL $( subst $( srctree) /,,$@ )
cmd_install = $( INSTALL) -m0644 $< $@
$(installed-fw-dirs) :
$( call cmd,mkdir)
2008-07-17 10:44:32 +04:00
$(installed-fw) : $( INSTALL_FW_PATH ) /%: $( obj ) /% | $( INSTALL_FW_PATH ) /$$( dir %)
2008-05-29 12:01:51 +04:00
$( call cmd,install)
2008-07-17 10:44:32 +04:00
PHONY += __fw_install __fw_modinst FORCE
.PHONY : $( PHONY )
2008-05-29 12:01:51 +04:00
__fw_install : $( installed -fw )
2008-08-02 02:58:36 +04:00
2008-07-25 22:17:19 +04:00
__fw_modinst : $( installed -mod -fw )
2008-08-02 02:58:36 +04:00
@:
2008-07-25 22:17:19 +04:00
__fw_modbuild : $( addprefix $ ( obj ) /,$ ( mod -fw ) )
2008-08-02 02:58:36 +04:00
@:
2008-05-29 12:01:51 +04:00
FORCE :
2008-07-17 10:44:32 +04:00
# Read all saved command lines and dependencies for the $(targets) we
# may be building using $(if_changed{,_dep}). As an optimization, we
# don't need to read them if the target does not exist; we will rebuild
# anyway in that case.
targets := $( wildcard $( sort $( targets) ) )
cmd_files := $( wildcard $( foreach f,$( targets) ,$( dir $( f) ) .$( notdir $( f) ) .cmd) )
i f n e q ( $( cmd_files ) , )
include $( cmd_files)
e n d i f