File: make-parser.mk

package info (click to toggle)
redisearch 1%3A1.2.1-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 12,076 kB
  • sloc: ansic: 79,131; python: 3,419; pascal: 1,644; makefile: 431; yacc: 422; sh: 5
file content (18 lines) | stat: -rw-r--r-- 451 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LEMON := $(SRCUTIL)/lemon
TEMPLATE := $(SRCUTIL)/lempar.c
RAGEL := ragel

all: lexer.c parser-toplevel.c parser.c.inc

lexer.c: lexer.rl
	$(RAGEL) -s lexer.rl -o $@

parser.c.inc: parser.y
	$(LEMON) -s -T$(TEMPLATE) parser.y
	mv parser.c parser.c.inc

parser-toplevel.c: $(SRCUTIL)/gen_parser_toplevel.py
	$(SRCUTIL)/gen_parser_toplevel.py -p $(PARSER_SYMBOL_PREFIX) -i parser.c.inc > $@

clean:
	rm -f lexer.c parser.c parser.c.inc parser-toplevel.c