|
diff --git a/Makefile b/Makefile
|
| 1 |
default: |
1 |
TARGET = crep |
| 2 |
@echo "Check targets" |
2 |
SOURCES = $(wildcard *.c) |
|
|
3 |
TS_ALIBS = $(shell find vendor -name "*.a" -print) |
|
|
4 |
VENDOR_DIRS = $(wildcard vendor/*) |
|
|
5 |
CFLAGS = $(EXTRA_FLAGS) -Wall -Wextra -std=gnu99 -pedantic -ggdb -O3 |
|
|
6 |
LIBS = -I./vendor/tree-sitter/lib/include |
| 3 |
|
7 |
|
| 4 |
crep: |
8 |
$(info VENDOR_DIRS: $(VENDOR_DIRS)) |
| 5 |
$(CC) main.c \ |
9 |
$(info SOURCES: $(SOURCES)) |
| 6 |
-I./vendor/tree-sitter/lib/include \ |
10 |
$(info TS_ALIBS: $(TS_ALIBS)) |
| 7 |
-o crep \ |
11 |
$(info CFLAGS: $(CFLAGS)) |
| 8 |
./vendor/tree-sitter/libtree-sitter.a \ |
12 |
$(info LIBS: $(LIBS)) |
| 9 |
./vendor/tree-sitter-json/libtree-sitter-json.a \ |
13 |
|
| 10 |
./vendor/tree-sitter-c/libtree-sitter-c.a \ |
14 |
$(TARGET): |
| 11 |
./vendor/tree-sitter-python/libtree-sitter-python.a |
15 |
$(CC) $(CFLAGS) $(SOURCES) $(LIBS) -o $(TARGET) $(TS_ALIBS) |
| 12 |
|
16 |
|
| 13 |
ts-build: |
17 |
ts-build: |
| 14 |
-cd vendor/tree-sitter && make -B |
18 |
-cd vendor/tree-sitter && make -B |
| 15 |
-cd vendor/tree-sitter-json && make -B |
|
|
| 16 |
-cd vendor/tree-sitter-c && make -B |
19 |
-cd vendor/tree-sitter-c && make -B |
| 17 |
-cd vendor/tree-sitter-python && make -B |
20 |
-cd vendor/tree-sitter-python && make -B |
|
|
21 |
-cd vendor/tree-sitter-json && make -B |
| 18 |
|
22 |
|
| 19 |
ts-clean: |
23 |
ts-clean: |
| 20 |
cd vendor/tree-sitter && make clean |
24 |
-cd vendor/tree-sitter && make clean |
| 21 |
cd vendor/tree-sitter-json && make clean |
25 |
-cd vendor/tree-sitter-c && make clean |
| 22 |
cd vendor/tree-sitter-c && make clean |
26 |
-cd vendor/tree-sitter-python && make clean |
| 23 |
cd vendor/tree-sitter-python && make clean |
27 |
-cd vendor/tree-sitter-json && make clean |
|
|
28 |
|
|
|
29 |
valgrind: |
|
|
30 |
valgrind -s --leak-check=full ./$(TARGET) |
| 24 |
|
31 |
|
| 25 |
clean: |
32 |
clean: |
| 26 |
rm crep |
33 |
rm -f *.o $(TARGET) callgrind.out.* |