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 util.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) 22HOSTCFLAGS_util.o := $(HOSTCFLAGS_DTC) 23 24HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) 25HOSTCFLAGS_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 31targets += dtc-parser.tab.c dtc-lexer.lex.c 32 33clean-files += dtc-parser.tab.h 34 35# GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output 36 37ifdef GENERATE_PARSER 38 39BISON = bison 40FLEX = flex 41 42quiet_cmd_bison = BISON $@ 43 cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped 44quiet_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 55endif 56