From d597afe7fbb0ac8ed0bcc48a5a73ca0ff62e7e63 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Wed, 3 Feb 2016 10:24:26 +0100 Subject: dts: update to v4.4-rc5 Signed-off-by: Sascha Hauer --- dts/Makefile | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 dts/Makefile (limited to 'dts/Makefile') diff --git a/dts/Makefile b/dts/Makefile new file mode 100644 index 0000000000..5e8930cb93 --- /dev/null +++ b/dts/Makefile @@ -0,0 +1,163 @@ + +DTC ?= dtc +CPP ?= cpp + +MAKEFLAGS += -rR --no-print-directory + +ALL_ARCHES := $(patsubst src/%,%,$(wildcard src/*)) + +PHONY += all +all: $(foreach i,$(ALL_ARCHES),all_$(i)) + +PHONY += clean +clean: $(foreach i,$(ALL_ARCHES),clean_$(i)) + +# Do not: +# o use make's built-in rules and variables +# (this increases performance and avoids hard-to-debug behaviour); +# o print "Entering directory ..."; +MAKEFLAGS += -rR --no-print-directory + +# To put more focus on warnings, be less verbose as default +# Use 'make V=1' to see the full commands + +ifeq ("$(origin V)", "command line") + KBUILD_VERBOSE = $(V) +endif +ifndef KBUILD_VERBOSE + KBUILD_VERBOSE = 0 +endif + +# Beautify output +# --------------------------------------------------------------------------- +# +# Normally, we echo the whole command before executing it. By making +# that echo $($(quiet)$(cmd)), we now have the possibility to set +# $(quiet) to choose other forms of output instead, e.g. +# +# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@ +# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< +# +# If $(quiet) is empty, the whole command will be printed. +# If it is set to "quiet_", only the short version will be printed. +# If it is set to "silent_", nothing will be printed at all, since +# the variable $(silent_cmd_cc_o_c) doesn't exist. +# +# A simple variant is to prefix commands with $(Q) - that's useful +# for commands that shall be hidden in non-verbose mode. +# +# $(Q)ln $@ :< +# +# If KBUILD_VERBOSE equals 0 then the above command will be hidden. +# If KBUILD_VERBOSE equals 1 then the above command is displayed. + +ifeq ($(KBUILD_VERBOSE),1) + quiet = + Q = +else + quiet=quiet_ + Q = @ +endif + +# If the user is running make -s (silent mode), suppress echoing of +# commands + +ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 +ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) + quiet=silent_ +endif +else # make-3.8x +ifneq ($(filter s% -s%,$(MAKEFLAGS)),) + quiet=silent_ +endif +endif + +export quiet Q KBUILD_VERBOSE + +all_%: + $(Q)$(MAKE) ARCH=$* all_arch + +clean_%: + $(Q)$(MAKE) ARCH=$* clean_arch + +ifeq ($(ARCH),) + +ALL_DTS := $(shell find src/* -name \*.dts) + +ALL_DTB := $(patsubst %.dts,%.dtb,$(ALL_DTS)) + +$(ALL_DTB): ARCH=$(word 2,$(subst /, ,$@)) +$(ALL_DTB): FORCE + $(Q)$(MAKE) ARCH=$(ARCH) $@ + +else + +ARCH_DTS := $(shell find src/$(ARCH) -name \*.dts) + +ARCH_DTB := $(patsubst %.dts,%.dtb,$(ARCH_DTS)) + +src := src/$(ARCH) +obj := src/$(ARCH) + +include scripts/Kbuild.include + +cmd_files := $(wildcard $(foreach f,$(ARCH_DTB),$(dir $(f)).$(notdir $(f)).cmd)) + +ifneq ($(cmd_files),) + include $(cmd_files) +endif + +quiet_cmd_clean = CLEAN $(obj) + cmd_clean = rm -f $(__clean-files) + +dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) + +dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \ + -Iinclude -I$(src) -Itestcase-data \ + -undef -D__DTS__ + +quiet_cmd_dtc = DTC $@ +cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ + $(DTC) -O dtb -o $@ -b 0 \ + -i $(src) $(DTC_FLAGS) \ + -d $(depfile).dtc.tmp $(dtc-tmp) ; \ + cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) + +$(obj)/%.dtb: $(src)/%.dts FORCE + $(call if_changed_dep,dtc) + +PHONY += all_arch +all_arch: $(ARCH_DTB) + @: + +RCS_FIND_IGNORE := \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \ + -o -name .pc -o -name .hg -o -name .git \) -prune -o + +PHONY += clean_arch +clean_arch: __clean-files = $(ARCH_DTB) +clean_arch: FORCE + $(call cmd,clean) + @find . $(RCS_FIND_IGNORE) \ + \( -name '.*.cmd' \ + -o -name '.*.d' \ + -o -name '.*.tmp' \ + \) -type f -print | xargs rm -f + +endif + +help: + @echo "Targets:" + @echo " all: Build all device tree binaries for all architectures" + @echo " clean: Clean all generated files" + @echo "" + @echo " all_: Build all device tree binaries for " + @echo " clean_: Clean all generated files for " + @echo "" + @echo " src//.dtb Build a single device tree binary" + @echo "" + @echo "Architectures: $(ALL_ARCHES)" + +PHONY += FORCE +FORCE: + +.PHONY: $(PHONY) -- cgit v1.2.3