Merge tag 'notifications-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / scripts / dtc / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 # scripts/dtc makefile
3
4 hostprogs                       := dtc
5 always-$(CONFIG_DTC)            += $(hostprogs)
6 always-$(CHECK_DT_BINDING)      += $(hostprogs)
7
8 dtc-objs        := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
9                    srcpos.o checks.o util.o
10 dtc-objs        += dtc-lexer.lex.o dtc-parser.tab.o
11
12 # Source files need to get at the userspace version of libfdt_env.h to compile
13 HOST_EXTRACFLAGS := -I $(srctree)/$(src)/libfdt
14
15 ifeq ($(shell pkg-config --exists yaml-0.1 2>/dev/null && echo yes),)
16 ifneq ($(CHECK_DT_BINDING)$(CHECK_DTBS),)
17 $(error dtc needs libyaml for DT schema validation support. \
18         Install the necessary libyaml development package.)
19 endif
20 HOST_EXTRACFLAGS += -DNO_YAML
21 else
22 dtc-objs        += yamltree.o
23 # To include <yaml.h> installed in a non-default path
24 HOSTCFLAGS_yamltree.o := $(shell pkg-config --cflags yaml-0.1)
25 # To link libyaml installed in a non-default path
26 HOSTLDLIBS_dtc  := $(shell pkg-config yaml-0.1 --libs)
27 endif
28
29 # Generated files need one more search path to include headers in source tree
30 HOSTCFLAGS_dtc-lexer.lex.o := -I $(srctree)/$(src)
31 HOSTCFLAGS_dtc-parser.tab.o := -I $(srctree)/$(src)
32
33 # dependencies on generated files need to be listed explicitly
34 $(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h