David Gibson | 9fffb55 | 2009-04-30 15:25:53 +1000 | [diff] [blame] | 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 \ |
John Bonesio | 658f29a | 2010-11-17 15:28:20 -0800 | [diff] [blame^] | 7 | srcpos.o checks.o util.o |
David Gibson | 9fffb55 | 2009-04-30 15:25:53 +1000 | [diff] [blame] | 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) |
John Bonesio | 658f29a | 2010-11-17 15:28:20 -0800 | [diff] [blame^] | 22 | HOSTCFLAGS_util.o := $(HOSTCFLAGS_DTC) |
David Gibson | 9fffb55 | 2009-04-30 15:25:53 +1000 | [diff] [blame] | 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 |