1*9fffb55fSDavid Gibson# scripts/dtc makefile 2*9fffb55fSDavid Gibson 3*9fffb55fSDavid Gibsonhostprogs-y := dtc 4*9fffb55fSDavid Gibsonalways := $(hostprogs-y) 5*9fffb55fSDavid Gibson 6*9fffb55fSDavid Gibsondtc-objs := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \ 7*9fffb55fSDavid Gibson srcpos.o checks.o 8*9fffb55fSDavid Gibsondtc-objs += dtc-lexer.lex.o dtc-parser.tab.o 9*9fffb55fSDavid Gibson 10*9fffb55fSDavid Gibson# Source files need to get at the userspace version of libfdt_env.h to compile 11*9fffb55fSDavid Gibson 12*9fffb55fSDavid GibsonHOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt 13*9fffb55fSDavid Gibson 14*9fffb55fSDavid GibsonHOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC) 15*9fffb55fSDavid GibsonHOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC) 16*9fffb55fSDavid GibsonHOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC) 17*9fffb55fSDavid GibsonHOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC) 18*9fffb55fSDavid GibsonHOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC) 19*9fffb55fSDavid GibsonHOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC) 20*9fffb55fSDavid GibsonHOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC) 21*9fffb55fSDavid GibsonHOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC) 22*9fffb55fSDavid Gibson 23*9fffb55fSDavid GibsonHOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC) 24*9fffb55fSDavid GibsonHOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC) 25*9fffb55fSDavid Gibson 26*9fffb55fSDavid Gibson# dependencies on generated files need to be listed explicitly 27*9fffb55fSDavid Gibson$(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h 28*9fffb55fSDavid Gibson$(obj)/dtc-lexer.lex.o: $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h 29*9fffb55fSDavid Gibson 30*9fffb55fSDavid Gibsontargets += dtc-parser.tab.c dtc-lexer.lex.c 31*9fffb55fSDavid Gibson 32*9fffb55fSDavid Gibsonclean-files += dtc-parser.tab.h 33*9fffb55fSDavid Gibson 34*9fffb55fSDavid Gibson# GENERATE_PARSER := 1 # Uncomment to rebuild flex/bison output 35*9fffb55fSDavid Gibson 36*9fffb55fSDavid Gibsonifdef GENERATE_PARSER 37*9fffb55fSDavid Gibson 38*9fffb55fSDavid GibsonBISON = bison 39*9fffb55fSDavid GibsonFLEX = flex 40*9fffb55fSDavid Gibson 41*9fffb55fSDavid Gibsonquiet_cmd_bison = BISON $@ 42*9fffb55fSDavid Gibson cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped 43*9fffb55fSDavid Gibsonquiet_cmd_flex = FLEX $@ 44*9fffb55fSDavid Gibson cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped 45*9fffb55fSDavid Gibson 46*9fffb55fSDavid Gibson$(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE 47*9fffb55fSDavid Gibson $(call if_changed,bison) 48*9fffb55fSDavid Gibson 49*9fffb55fSDavid Gibson$(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c 50*9fffb55fSDavid Gibson 51*9fffb55fSDavid Gibson$(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE 52*9fffb55fSDavid Gibson $(call if_changed,flex) 53*9fffb55fSDavid Gibson 54*9fffb55fSDavid Gibsonendif 55