xref: /openbmc/linux/scripts/dtc/Makefile (revision 658f29a5)
19fffb55fSDavid Gibson# scripts/dtc makefile
29fffb55fSDavid Gibson
39fffb55fSDavid Gibsonhostprogs-y	:= dtc
49fffb55fSDavid Gibsonalways		:= $(hostprogs-y)
59fffb55fSDavid Gibson
69fffb55fSDavid Gibsondtc-objs	:= dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
7*658f29a5SJohn Bonesio		   srcpos.o checks.o util.o
89fffb55fSDavid Gibsondtc-objs	+= dtc-lexer.lex.o dtc-parser.tab.o
99fffb55fSDavid Gibson
109fffb55fSDavid Gibson# Source files need to get at the userspace version of libfdt_env.h to compile
119fffb55fSDavid Gibson
129fffb55fSDavid GibsonHOSTCFLAGS_DTC := -I$(src) -I$(src)/libfdt
139fffb55fSDavid Gibson
149fffb55fSDavid GibsonHOSTCFLAGS_checks.o := $(HOSTCFLAGS_DTC)
159fffb55fSDavid GibsonHOSTCFLAGS_data.o := $(HOSTCFLAGS_DTC)
169fffb55fSDavid GibsonHOSTCFLAGS_dtc.o := $(HOSTCFLAGS_DTC)
179fffb55fSDavid GibsonHOSTCFLAGS_flattree.o := $(HOSTCFLAGS_DTC)
189fffb55fSDavid GibsonHOSTCFLAGS_fstree.o := $(HOSTCFLAGS_DTC)
199fffb55fSDavid GibsonHOSTCFLAGS_livetree.o := $(HOSTCFLAGS_DTC)
209fffb55fSDavid GibsonHOSTCFLAGS_srcpos.o := $(HOSTCFLAGS_DTC)
219fffb55fSDavid GibsonHOSTCFLAGS_treesource.o := $(HOSTCFLAGS_DTC)
22*658f29a5SJohn BonesioHOSTCFLAGS_util.o := $(HOSTCFLAGS_DTC)
239fffb55fSDavid Gibson
249fffb55fSDavid GibsonHOSTCFLAGS_dtc-lexer.lex.o := $(HOSTCFLAGS_DTC)
259fffb55fSDavid GibsonHOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC)
269fffb55fSDavid Gibson
279fffb55fSDavid Gibson# dependencies on generated files need to be listed explicitly
289fffb55fSDavid Gibson$(obj)/dtc-parser.tab.o: $(obj)/dtc-parser.tab.c $(obj)/dtc-parser.tab.h
299fffb55fSDavid Gibson$(obj)/dtc-lexer.lex.o:  $(obj)/dtc-lexer.lex.c $(obj)/dtc-parser.tab.h
309fffb55fSDavid Gibson
319fffb55fSDavid Gibsontargets += dtc-parser.tab.c dtc-lexer.lex.c
329fffb55fSDavid Gibson
339fffb55fSDavid Gibsonclean-files += dtc-parser.tab.h
349fffb55fSDavid Gibson
359fffb55fSDavid Gibson# GENERATE_PARSER := 1		# Uncomment to rebuild flex/bison output
369fffb55fSDavid Gibson
379fffb55fSDavid Gibsonifdef GENERATE_PARSER
389fffb55fSDavid Gibson
399fffb55fSDavid GibsonBISON = bison
409fffb55fSDavid GibsonFLEX = flex
419fffb55fSDavid Gibson
429fffb55fSDavid Gibsonquiet_cmd_bison = BISON   $@
439fffb55fSDavid Gibson      cmd_bison = $(BISON) -o$@ -d $<; cp $@ $@_shipped
449fffb55fSDavid Gibsonquiet_cmd_flex = FLEX    $@
459fffb55fSDavid Gibson      cmd_flex = $(FLEX) -o$@ $<; cp $@ $@_shipped
469fffb55fSDavid Gibson
479fffb55fSDavid Gibson$(obj)/dtc-parser.tab.c: $(src)/dtc-parser.y FORCE
489fffb55fSDavid Gibson        $(call if_changed,bison)
499fffb55fSDavid Gibson
509fffb55fSDavid Gibson$(obj)/dtc-parser.tab.h: $(obj)/dtc-parser.tab.c
519fffb55fSDavid Gibson
529fffb55fSDavid Gibson$(obj)/dtc-lexer.lex.c: $(src)/dtc-lexer.l FORCE
539fffb55fSDavid Gibson        $(call if_changed,flex)
549fffb55fSDavid Gibson
559fffb55fSDavid Gibsonendif
56