2008-05-29 12:01:51 +04:00
# ==========================================================================
# Installing firmware
#
# We don't include the .config, so all firmware files are in $(fw-shipped-)
2014-09-09 14:26:21 +04:00
# rather than in $(fw-shipped-y) or $(fw-shipped-m).
2008-05-29 12:01:51 +04:00
# ==========================================================================
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
2015-03-27 14:43:37 +03:00
i n c l u d e $( src ) / M a k e f i l e
2008-05-29 12:01:51 +04:00
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)
2014-04-28 11:26:18 +04:00
# If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the
2008-05-29 12:01:51 +04:00
# 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
2014-04-29 13:54:47 +04:00
i f n e q ( $( KBUILD_SRC ) , )
# Create output directory if not already present
_dummy := $( shell [ -d $( obj) ] || mkdir -p $( obj) )
firmware-dirs := $( sort $( addprefix $( objtree) /$( obj) /,$( dir $( fw-external-y) $( fw-shipped-all) ) ) )
# Create directories for firmware in subdirectories
_dummy := $( foreach d,$( firmware-dirs) , $( shell [ -d $( d) ] || mkdir -p $( d) ) )
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) )
2008-07-17 10:44:32 +04:00
2008-05-29 12:01:51 +04:00
quiet_cmd_install = INSTALL $( subst $( srctree) /,,$@ )
2014-04-29 13:54:47 +04:00
cmd_install = mkdir -p $( @D) ; $( INSTALL) -m0644 $< $@
2008-05-29 12:01:51 +04:00
2014-04-29 13:54:47 +04:00
$(installed-fw) : $( INSTALL_FW_PATH ) /%: $( obj ) /%
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