|  | # scripts/dtc makefile | 
|  |  | 
|  | hostprogs-y	:= dtc | 
|  | always		:= $(hostprogs-y) | 
|  |  | 
|  | dtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ | 
|  | srcpos.o checks.o util.o | 
|  | dtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o | 
|  |  | 
|  | # Source files need to get at the userspace version of libfdt_env.h to compile | 
|  |  | 
|  | HOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt | 
|  |  | 
|  | HOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_util.o := $(HOSTCFLAGS_DTC) | 
|  |  | 
|  | HOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) | 
|  | HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC) | 
|  |  | 
|  | # dependencies on generated files need to be listed explicitly | 
|  | $(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h | 
|  | $(obj)/dtc-lexer.lex.o:  $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h | 
|  |  | 
|  | targets += dtc-parser.tab.c dtc-lexer.lex.c | 
|  |  | 
|  | clean-files += dtc-parser.tab.h | 
|  |  | 
|  | # GENERATE_PARSER := 1		# Uncomment to rebuild flex/bison output | 
|  |  | 
|  | ifdef GENERATE_PARSER | 
|  |  | 
|  | BISON = bison | 
|  | FLEX = flex | 
|  |  | 
|  | quiet_cmd_bison = BISON   $@ | 
|  | cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped | 
|  | quiet_cmd_flex = FLEX    $@ | 
|  | cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped | 
|  |  | 
|  | $(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE | 
|  | $(call if_changed,bison) | 
|  |  | 
|  | $(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c | 
|  |  | 
|  | $(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE | 
|  | $(call if_changed,flex) | 
|  |  | 
|  | endif |