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