summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile39
1 files changed, 23 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index 7021f7b..20cfbdc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,26 +1,33 @@
-default:
- @echo "Check targets"
+TARGET = crep
+SOURCES = $(wildcard *.c)
+TS_ALIBS = $(shell find vendor -name "*.a" -print)
+VENDOR_DIRS = $(wildcard vendor/*)
+CFLAGS = $(EXTRA_FLAGS) -Wall -Wextra -std=gnu99 -pedantic -ggdb -O3
+LIBS = -I./vendor/tree-sitter/lib/include
-crep:
- $(CC) main.c \
- -I./vendor/tree-sitter/lib/include \
- -o crep \
- ./vendor/tree-sitter/libtree-sitter.a \
- ./vendor/tree-sitter-json/libtree-sitter-json.a \
- ./vendor/tree-sitter-c/libtree-sitter-c.a \
- ./vendor/tree-sitter-python/libtree-sitter-python.a
+$(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)
ts-build:
-cd vendor/tree-sitter && make -B
- -cd vendor/tree-sitter-json && make -B
-cd vendor/tree-sitter-c && make -B
-cd vendor/tree-sitter-python && make -B
+ -cd vendor/tree-sitter-json && make -B
ts-clean:
- cd vendor/tree-sitter && make clean
- cd vendor/tree-sitter-json && make clean
- cd vendor/tree-sitter-c && make clean
- cd vendor/tree-sitter-python && make clean
+ -cd vendor/tree-sitter && make clean
+ -cd vendor/tree-sitter-c && make clean
+ -cd vendor/tree-sitter-python && make clean
+ -cd vendor/tree-sitter-json && make clean
+
+valgrind:
+ valgrind -s --leak-check=full ./$(TARGET)
clean:
- rm crep
+ rm -f *.o $(TARGET) callgrind.out.*