Commit | Line | Data |
---|---|---|
9fffb55f DG |
1 | # scripts/dtc makefile |
2 | ||
3 | hostprogs-y := dtc | |
4 | always := $(hostprogs-y) | |
5 | ||
6 | dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ | |
658f29a5 | 7 | srcpos.o checks.o util.o |
9fffb55f DG |
8 | dtc-objs += dtc-lexer.lex.o dtc-parser.tab.o |
9 | ||
10 | # Source files need to get at the userspace version of libfdt_env.h to compile | |
11 | ||
12 | HOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt | |
13 | ||
14 | HOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC) | |
15 | HOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC) | |
16 | HOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC) | |
17 | HOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC) | |
18 | HOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC) | |
19 | HOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC) | |
20 | HOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC) | |
21 | HOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC) | |
658f29a5 | 22 | HOSTCFLAGS_util.o := $(HOSTCFLAGS_DTC) |
9fffb55f DG |
23 | |
24 | HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) | |
25 | HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC) | |
26 | ||
27 | # dependencies on generated files need to be listed explicitly | |
28 | $(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h | |
29 | $(obj)/dtc-lexer.lex.o: $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h | |
30 | ||
31 | targets += dtc-parser.tab.c dtc-lexer.lex.c | |
32 | ||
33 | clean-files += dtc-parser.tab.h | |
34 | ||
35 | # GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output | |
36 | ||
37 | ifdef GENERATE_PARSER | |
38 | ||
39 | BISON = bison | |
40 | FLEX = flex | |
41 | ||
42 | quiet_cmd_bison = BISON $@ | |
43 | cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped | |
44 | quiet_cmd_flex = FLEX $@ | |
45 | cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped | |
46 | ||
47 | $(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE | |
48 | $(call if_changed,bison) | |
49 | ||
50 | $(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c | |
51 | ||
52 | $(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE | |
53 | $(call if_changed,flex) | |
54 | ||
55 | endif |