linux/scripts/dtc/Makefile
<<
>>
Prefs
   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