diff options
author | David Woodhouse <dwmw2@infradead.org> | 2008-05-29 04:01:51 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2008-07-10 09:47:34 -0400 |
commit | 88ecf814c47f577248751ddbe9626d98aeef5783 (patch) | |
tree | f289bb81a8ec81dbe82fbc314f39a07f8df1d562 /scripts | |
parent | d172e7f5c67f2d41f453c7aa83d3bdb405ef8ba5 (diff) |
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 000000000000..1c030087037f --- /dev/null +++ b/scripts/Makefile.fwinst | |||
@@ -0,0 +1,45 @@ | |||
1 | # ========================================================================== | ||
2 | # Installing firmware | ||
3 | # | ||
4 | # We don't include the .config, so all firmware files are in $(fw-shipped-) | ||
5 | # rather than in $(fw-shipped-y) or $(fw-shipped-n). | ||
6 | # ========================================================================== | ||
7 | |||
8 | INSTALL := install | ||
9 | |||
10 | # For modules_install installing firmware, we want to see .config | ||
11 | # But for firmware_install, we don't care, but don't want to require it. | ||
12 | -include $(objtree)/.config | ||
13 | |||
14 | include scripts/Kbuild.include | ||
15 | include $(srctree)/$(obj)/Makefile | ||
16 | |||
17 | include scripts/Makefile.host | ||
18 | |||
19 | mod-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-m)) | ||
20 | |||
21 | # If CONFIG_FIRMWARE_IN_KERNEL isn't set, then install the | ||
22 | # firmware for in-kernel drivers too. | ||
23 | ifndef CONFIG_FIRMWARE_IN_KERNEL | ||
24 | mod-fw += $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-y)) | ||
25 | endif | ||
26 | |||
27 | installed-fw := $(addprefix $(INSTALL_FW_PATH)/,$(fw-shipped-all)) | ||
28 | installed-fw-dirs := $(sort $(dir $(installed-fw))) $(INSTALL_FW_PATH)/. | ||
29 | |||
30 | quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@) | ||
31 | cmd_install = $(INSTALL) -m0644 $< $@ | ||
32 | |||
33 | $(installed-fw-dirs): | ||
34 | $(call cmd,mkdir) | ||
35 | |||
36 | $(installed-fw): $(INSTALL_FW_PATH)/%: $(obj)/% | $(INSTALL_FW_PATH)/$$(dir %)/ | ||
37 | $(call cmd,install) | ||
38 | |||
39 | .PHONY: __fw_install __fw_modinst FORCE | ||
40 | |||
41 | __fw_install: $(installed-fw) | ||
42 | __fw_modinst: $(mod-fw) | ||
43 | |||
44 | |||
45 | FORCE: | ||