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 \ | |
7 | srcpos.o checks.o | |
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) | |
22 | ||
23 | HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) | |
24 | HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC) | |
25 | ||
26 | # dependencies on generated files need to be listed explicitly | |
27 | $(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h | |
28 | $(obj)/dtc-lexer.lex.o: $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h | |
29 | ||
30 | targets += dtc-parser.tab.c dtc-lexer.lex.c | |
31 | ||
32 | clean-files += dtc-parser.tab.h | |
33 | ||
34 | # GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output | |
35 | ||
36 | ifdef GENERATE_PARSER | |
37 | ||
38 | BISON = bison | |
39 | FLEX = flex | |
40 | ||
41 | quiet_cmd_bison = BISON $@ | |
42 | cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped | |
43 | quiet_cmd_flex = FLEX $@ | |
44 | cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped | |
45 | ||
46 | $(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE | |
47 | $(call if_changed,bison) | |
48 | ||
49 | $(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c | |
50 | ||
51 | $(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE | |
52 | $(call if_changed,flex) | |
53 | ||
54 | endif |