34 lines
795 B
Makefile
34 lines
795 B
Makefile
include $(top_srcdir)/Makefile.decl
|
|
|
|
PARSER = $(top_srcdir)/sql/sql-parser.c
|
|
|
|
DIR = $(top_srcdir)/sql/parser
|
|
TMPL = $(DIR)/lempar-tmpl.c
|
|
SCAN = scan.rl
|
|
GRAM = gram.y
|
|
|
|
all: $(PARSER)
|
|
$(PARSER): $(SCAN) gram.c gram.h
|
|
$(ragel_v)$(RAGEL) -C -G2 -o $(PARSER) $<
|
|
|
|
gram.h: gram.c
|
|
gram.c: $(GRAM) lemon $(TMPL)
|
|
ln -fs $(TMPL) $(top_builddir)/sql/parser/lempar.c
|
|
$(lemon_v)./lemon -q $<
|
|
|
|
lemon: $(DIR)/lemon.c
|
|
$(CC) -o lemon $<
|
|
|
|
EXTRA_DIST = gram.y scan.rl lemon.c lempar-tmpl.c
|
|
|
|
CLEANFILES = $(DIR)/gram.c $(DIR)/gram.h $(PARSER)
|
|
|
|
DISTCLEANFILES = lemon lempar.c
|
|
|
|
ragel_v = $(ragel_v_@AM_V@)
|
|
ragel_v_ = $(ragel_v_@AM_DEFAULT_V@)
|
|
ragel_v_0 = @echo " RAGEL $@";
|
|
|
|
lemon_v = $(lemon_v_@AM_V@)
|
|
lemon_v_ = $(lemon_v_@AM_DEFAULT_V@)
|
|
lemon_v_0 = @echo " LEMON $(subst y,c,$(GRAM)) $(subst y,h,$(GRAM))";
|