aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorRobert Richter <rrichter@cavium.com>2014-09-03 09:29:24 -0400
committerRobert Richter <rrichter@cavium.com>2014-10-21 12:06:58 -0400
commit9fb5e5372208973984a23ee6f5f025c05d364633 (patch)
treec8aaa3059e1d9eace7cc2e5532d8b18b8a93d4c1 /scripts
parent862f464a540554a28273b761b4ce72541dc75914 (diff)
dts, kbuild: Factor out dtbs install rules to Makefile.dtbinst
Move dtbs install rules to Makefile.dtbinst. This change is needed to implement support for dts vendor subdirs. The change makes Makefiles easier and smaller as no longer the dtbs_install rule needs to be defined. Another advantage is that install goals are not encoded in targets anymore (%.dtb_dtbinst_). Signed-off-by: Robert Richter <rrichter@cavium.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Kbuild.include6
-rw-r--r--scripts/Makefile.dtbinst38
-rw-r--r--scripts/Makefile.lib12
3 files changed, 44 insertions, 12 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 65e7b08bb2cc..5374b1bdf02f 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -179,6 +179,12 @@ build := -f $(srctree)/scripts/Makefile.build obj
179# $(Q)$(MAKE) $(modbuiltin)=dir 179# $(Q)$(MAKE) $(modbuiltin)=dir
180modbuiltin := -f $(srctree)/scripts/Makefile.modbuiltin obj 180modbuiltin := -f $(srctree)/scripts/Makefile.modbuiltin obj
181 181
182###
183# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.dtbinst obj=
184# Usage:
185# $(Q)$(MAKE) $(dtbinst)=dir
186dtbinst := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.dtbinst obj
187
182# Prefix -I with $(srctree) if it is not an absolute path. 188# Prefix -I with $(srctree) if it is not an absolute path.
183# skip if -I has no parameter 189# skip if -I has no parameter
184addtree = $(if $(patsubst -I%,%,$(1)), \ 190addtree = $(if $(patsubst -I%,%,$(1)), \
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
new file mode 100644
index 000000000000..54286cccc289
--- /dev/null
+++ b/scripts/Makefile.dtbinst
@@ -0,0 +1,38 @@
1# ==========================================================================
2# Installing dtb files
3#
4# Installs all dtb files listed in $(dtb-y) either in the
5# INSTALL_DTBS_PATH directory or the default location:
6#
7# $INSTALL_PATH/dtbs/$KERNELRELEASE
8#
9# ==========================================================================
10
11src := $(obj)
12
13PHONY := __dtbs_install
14__dtbs_install:
15
16include include/config/auto.conf
17include scripts/Kbuild.include
18include $(srctree)/$(obj)/Makefile
19
20PHONY += __dtbs_install_prep
21__dtbs_install_prep:
22 $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi
23 $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi
24 $(Q)mkdir -p $(INSTALL_DTBS_PATH)
25
26dtbinst-files := $(dtb-y)
27
28# Helper targets for Installing DTBs into the boot directory
29quiet_cmd_dtb_install = INSTALL $<
30 cmd_dtb_install = cp $< $(2)
31
32$(dtbinst-files): %.dtb: $(obj)/%.dtb | __dtbs_install_prep
33 $(call cmd,dtb_install,$(INSTALL_DTBS_PATH))
34
35PHONY += $(dtbinst-files)
36__dtbs_install: $(dtbinst-files)
37
38.PHONY: $(PHONY)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 54be19a0fa51..511755200634 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -283,18 +283,6 @@ $(obj)/%.dtb: $(src)/%.dts FORCE
283 283
284dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) 284dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
285 285
286# Helper targets for Installing DTBs into the boot directory
287quiet_cmd_dtb_install = INSTALL $<
288 cmd_dtb_install = cp $< $(2)
289
290_dtbinst_pre_:
291 $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi
292 $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi
293 $(Q)mkdir -p $(INSTALL_DTBS_PATH)
294
295%.dtb_dtbinst_: $(obj)/%.dtb _dtbinst_pre_
296 $(call cmd,dtb_install,$(INSTALL_DTBS_PATH))
297
298# Bzip2 286# Bzip2
299# --------------------------------------------------------------------------- 287# ---------------------------------------------------------------------------
300 288