Move dtc and libfdt sources from arch/powerpc/boot to scripts/dtc
[safe/jmp/linux-2.6] / scripts / dtc / Makefile
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