Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7373f4f8 authored by Arnaud Lacombe's avatar Arnaud Lacombe
Browse files

kbuild: add implicit rules for parser generation



Cc: David Gibson <david@gibson.dropbear.id.au>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: default avatarArnaud Lacombe <lacombar@gmail.com>
parent e0318d85
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -160,6 +160,44 @@ ld_flags = $(LDFLAGS) $(ldflags-y)
modname-multi = $(sort $(foreach m,$(multi-used),\
		$(if $(filter $(subst $(obj)/,,$*.o), $($(m:.o=-objs)) $($(m:.o=-y))),$(m:.o=))))

ifdef REGENERATE_PARSERS

# GPERF
# ---------------------------------------------------------------------------
quiet_cmd_gperf = GPERF $@
      cmd_gperf = gperf -t --output-file $@ -a -C -E -g -k 1,3,$$ -p -t $<

$(src)/%.hash.c_shipped: $(src)/%.gperf
	$(call cmd,gperf)

# LEX
# ---------------------------------------------------------------------------
LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy)

quiet_cmd_flex = LEX     $@
      cmd_flex = flex -o$@ -L -P $(LEX_PREFIX) $<

$(src)/%.lex.c_shipped: $(src)/%.l
	$(call cmd,flex)

# YACC
# ---------------------------------------------------------------------------
YACC_PREFIX = $(if $(YACC_PREFIX_${baseprereq}),$(YACC_PREFIX_${baseprereq}),yy)

quiet_cmd_bison = YACC    $@
      cmd_bison = bison -o$@ -t -l -p $(YACC_PREFIX) $<

$(src)/%.tab.c_shipped: $(src)/%.y
	$(call cmd,bison)

quiet_cmd_bison_h = YACC    $@
      cmd_bison_h = bison -o/dev/null --defines=$@ -t -l -p $(YACC_PREFIX) $<

$(src)/%.tab.h_shipped: $(src)/%.y
	$(call cmd,bison_h)

endif

# Shipped files
# ===========================================================================