blob: cce2c264eef75908c5c26a56c9d76fc68088a0cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
.PHONY: all queries tsbuild valgrind tests format clean
TARGET = crep
SOURCES = $(wildcard *.c *.h)
TS_ALIBS = $(shell find vendor -name "*.a" -print)
VENDOR_DIRS = $(wildcard vendor/*)
CFLAGS = $(EXTRA_FLAGS) -Wall -Wextra -std=gnu99 -pedantic -O3
LIBS = -I./vendor/tree-sitter/lib/include -lpthread
$(info VENDOR_DIRS: $(VENDOR_DIRS))
$(info SOURCES: $(SOURCES))
$(info TS_ALIBS: $(TS_ALIBS))
$(info CFLAGS: $(CFLAGS))
$(info LIBS: $(LIBS))
$(TARGET):
$(CC) $(CFLAGS) $(SOURCES) $(LIBS) -o $(TARGET) $(TS_ALIBS)
all: queries tsbuild $(TARGET)
queries:
xxd -i -n query_c queries/c.scm > queries/c.h
xxd -i -n query_cpp queries/cpp.scm > queries/cpp.h
xxd -i -n query_python queries/python.scm > queries/python.h
xxd -i -n query_php queries/php.scm > queries/php.h
xxd -i -n query_go queries/go.scm > queries/go.h
xxd -i -n query_rust queries/rust.scm > queries/rust.h
xxd -i -n query_javascript queries/javascript.scm > queries/javascript.h
xxd -i -n query_lua queries/lua.scm > queries/lua.h
xxd -i -n query_zig queries/zig.scm > queries/zig.h
tsbuild:
-$(MAKE) -C vendor/tree-sitter -B
-$(MAKE) -C vendor/tree-sitter-c -B
-$(MAKE) -C vendor/tree-sitter-cpp -B
-$(MAKE) -C vendor/tree-sitter-python -B
-$(MAKE) -C vendor/tree-sitter-php -B
-$(MAKE) -C vendor/tree-sitter-go -B
-$(MAKE) -C vendor/tree-sitter-rust -B
-$(MAKE) -C vendor/tree-sitter-javascript -B
-$(MAKE) -C vendor/tree-sitter-lua -B
-$(MAKE) -C vendor/tree-sitter-zig -B
valgrind:
valgrind -s --leak-check=full ./$(TARGET)
tests: $(TARGET)
sh tests.sh
format:
clang-format -i *.c *.h
clean:
rm -f *.o $(TARGET) callgrind.out.*
$(MAKE) -C vendor/tree-sitter -B clean
$(MAKE) -C vendor/tree-sitter-c -B clean
$(MAKE) -C vendor/tree-sitter-cpp -B clean
$(MAKE) -C vendor/tree-sitter-python -B clean
$(MAKE) -C vendor/tree-sitter-php -B clean
$(MAKE) -C vendor/tree-sitter-go -B clean
$(MAKE) -C vendor/tree-sitter-rust -B clean
$(MAKE) -C vendor/tree-sitter-javascript -B clean
$(MAKE) -C vendor/tree-sitter-lua -B clean
$(MAKE) -C vendor/tree-sitter-zig -B clean
|