1# scripts/dtc makefile 2 3hostprogs-y := dtc 4always := $(hostprogs-y) 5 6dtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ 7 srcpos.o checks.o 8dtc-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 12HOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt 13 14HOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC) 15HOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC) 16HOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC) 17HOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC) 18HOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC) 19HOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC) 20HOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC) 21HOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC) 22 23HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) 24HOSTCFLAGS_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 30targets += dtc-parser.tab.c dtc-lexer.lex.c 31 32clean-files += dtc-parser.tab.h 33 34# GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output 35 36ifdef GENERATE_PARSER 37 38BISON = bison 39FLEX = flex 40 41quiet_cmd_bison = BISON $@ 42 cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped 43quiet_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 54endif 55