2012-04-29 01:45:52 +01:00
|
|
|
|
2012-05-26 16:00:43 +02:00
|
|
|
PARSERS := \
|
|
|
|
|
unimplemented \
|
|
|
|
|
bits \
|
|
|
|
|
token \
|
|
|
|
|
whitespace \
|
2012-06-02 17:31:06 +02:00
|
|
|
ignoreseq \
|
2012-05-26 16:00:43 +02:00
|
|
|
ch \
|
|
|
|
|
action \
|
|
|
|
|
charset \
|
|
|
|
|
int_range \
|
|
|
|
|
sequence \
|
|
|
|
|
choice \
|
|
|
|
|
nothing \
|
|
|
|
|
end \
|
|
|
|
|
butnot \
|
|
|
|
|
difference \
|
|
|
|
|
many \
|
|
|
|
|
xor \
|
|
|
|
|
optional \
|
|
|
|
|
ignore \
|
|
|
|
|
epsilon \
|
|
|
|
|
and \
|
2012-05-26 16:05:01 +02:00
|
|
|
not \
|
2012-06-01 20:00:10 +02:00
|
|
|
attr_bool \
|
|
|
|
|
indirect
|
2012-05-26 16:00:43 +02:00
|
|
|
|
2012-11-02 17:16:53 -04:00
|
|
|
BACKENDS := \
|
2013-04-17 15:10:33 +02:00
|
|
|
packrat \
|
2013-05-11 19:04:59 +02:00
|
|
|
llk \
|
2013-06-04 22:14:06 +02:00
|
|
|
lalr \
|
2013-03-09 21:42:49 -08:00
|
|
|
regex
|
2012-11-02 17:16:53 -04:00
|
|
|
|
|
|
|
|
HAMMER_PARTS := \
|
|
|
|
|
bitreader.o \
|
|
|
|
|
hammer.o \
|
|
|
|
|
bitwriter.o \
|
|
|
|
|
pprint.o \
|
|
|
|
|
allocator.o \
|
2013-03-16 14:30:15 -07:00
|
|
|
desugar.o \
|
2012-11-02 17:16:53 -04:00
|
|
|
datastructures.o \
|
|
|
|
|
system_allocator.o \
|
|
|
|
|
benchmark.o \
|
2013-05-07 23:56:47 +02:00
|
|
|
cfgrammar.o \
|
2013-02-17 15:24:13 +01:00
|
|
|
glue.o \
|
2012-11-02 17:16:53 -04:00
|
|
|
$(PARSERS:%=parsers/%.o) \
|
|
|
|
|
$(BACKENDS:%=backends/%.o)
|
|
|
|
|
|
2012-11-13 22:29:25 -05:00
|
|
|
TESTS := t_benchmark.o \
|
|
|
|
|
t_bitreader.o \
|
|
|
|
|
t_bitwriter.o \
|
|
|
|
|
t_parser.o \
|
2013-05-08 00:48:46 +02:00
|
|
|
t_grammar.o \
|
2013-01-07 23:44:26 +01:00
|
|
|
t_misc.o \
|
2012-11-13 22:29:25 -05:00
|
|
|
test_suite.o
|
2012-11-02 17:16:53 -04:00
|
|
|
|
|
|
|
|
OUTPUTS := libhammer.a \
|
2012-10-10 15:58:03 +02:00
|
|
|
test_suite.o \
|
2012-05-26 16:00:43 +02:00
|
|
|
test_suite \
|
2012-11-02 17:16:53 -04:00
|
|
|
$(HAMMER_PARTS) \
|
|
|
|
|
$(TESTS)
|
2012-04-30 02:20:49 +01:00
|
|
|
|
2012-04-30 23:35:11 +01:00
|
|
|
TOPLEVEL := ../
|
|
|
|
|
|
|
|
|
|
include ../common.mk
|
|
|
|
|
|
2012-11-13 22:29:25 -05:00
|
|
|
$(TESTS): CFLAGS += $(TEST_CFLAGS)
|
|
|
|
|
$(TESTS): LDFLAGS += $(TEST_LDFLAGS)
|
2012-04-30 23:35:11 +01:00
|
|
|
|
2013-05-10 12:05:20 +02:00
|
|
|
CFLAGS += -fPIC
|
|
|
|
|
|
2012-10-10 16:45:10 +02:00
|
|
|
all: libhammer.a
|
2012-04-29 01:45:52 +01:00
|
|
|
|
2012-11-02 17:16:53 -04:00
|
|
|
libhammer.a: $(HAMMER_PARTS)
|
2012-04-29 01:45:52 +01:00
|
|
|
|
|
|
|
|
bitreader.o: test_suite.h
|
2012-05-11 23:35:21 +01:00
|
|
|
hammer.o: hammer.h
|
2013-02-17 15:24:13 +01:00
|
|
|
glue.o: hammer.h glue.h
|
2012-05-12 00:40:54 +01:00
|
|
|
|
2012-11-13 22:29:25 -05:00
|
|
|
all: libhammer.a
|
2012-11-05 23:08:18 -05:00
|
|
|
|
2012-05-12 00:40:54 +01:00
|
|
|
test: test_suite
|
|
|
|
|
./test_suite -v
|
2012-10-10 16:45:10 +02:00
|
|
|
|
2012-11-13 22:29:25 -05:00
|
|
|
test_suite: $(TESTS) libhammer.a
|
|
|
|
|
$(call hush, "Linking $@") $(CC) -o $@ $^ $(LDFLAGS) $(TEST_LDFLAGS)
|
2013-05-23 23:26:22 +02:00
|
|
|
|
|
|
|
|
backends/regex.o: backends/regex_debug.c
|