diff options
author | David Woodhouse <dwmw2@infradead.org> | 2008-05-29 11:01:51 +0300 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2008-07-10 14:47:34 +0100 |
commit | 88ecf814c47f577248751ddbe9626d98aeef5783 (patch) | |
tree | f289bb81a8ec81dbe82fbc314f39a07f8df1d562 /scripts | |
parent | d172e7f5c67f2d41f453c7aa83d3bdb405ef8ba5 (diff) | |
download | op-kernel-dev-88ecf814c47f577248751ddbe9626d98aeef5783.zip op-kernel-dev-88ecf814c47f577248751ddbe9626d98aeef5783.tar.gz |
firmware: Add firmware installation to modules_install, add firmware_install
For 'make modules_install', install any firmware required by
the modules which are being installed.
Also add a 'make firmware_install' target which doesn't depend on the
configuration, but installs _all_ available in-kernel-tree firmware into
$(INSTALL_FW_PATH), which defaults to /lib/firmware. This is intended
for distributors to make arch-independent (and config-independent)
packages containing firmware.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.fwinst | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst new file mode 100644 index 0000000..1c03008 --- /dev/null +++ b/scripts/Makefile.fwinst @@ -0,0 +1,45 @@ +# ========================================================================== +# 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 + +# 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. +-include $(objtree)/.config + +include scripts/Kbuild.include +include $(srctree)/$(obj)/Makefile + +include scripts/Makefile.host + +mod-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-m)) + +# If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the +# firmware for in-kernel drivers too. +ifndef CONFIG_FIRMWARE_IN_KERNEL +mod-fw += $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-y)) +endif + +installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all)) +installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/. + +quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) + cmd_install = $(INSTALL) -m0644 $< $@ + +$(installed-fw-dirs): + $(call cmd,mkdir) + +$(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %)/ + $(call cmd,install) + +.PHONY: __fw_install __fw_modinst FORCE + +__fw_install: $(installed-fw) +__fw_modinst: $(mod-fw) + + +FORCE: |