CC =gcc
INCLUDES = -I../tree-sitter/lib/include

all: c cpp javascript json lua python

c: cparser.o

cparser.o: tree-sitter-c/src/parser.c
	$(CC) -c $(INCLUDES) tree-sitter-c/src/parser.c -o cparser.o

cpp: cppparser.o cppscanner.o

cppscanner.o: tree-sitter-cpp/src/scanner.c
	$(CC) -c $(INCLUDES) tree-sitter-cpp/src/scanner.c -o cppscanner.o

cppparser.o: tree-sitter-cpp/src/parser.c 
	$(CC) -c $(INCLUDES) tree-sitter-cpp/src/parser.c -o cppparser.o

javascript: javascriptparser.o javascriptscanner.o

javascriptscanner.o: tree-sitter-javascript/src/scanner.c
	$(CC) -c $(INCLUDES) tree-sitter-javascript/src/scanner.c -o javascriptscanner.o

javascriptparser.o: tree-sitter-javascript/src/parser.c 
	$(CC) -c $(INCLUDES) tree-sitter-javascript/src/parser.c -o javascriptparser.o

json: jsonparser.o

jsonparser.o: tree-sitter-json/src/parser.c
	$(CC) -c $(INCLUDES) tree-sitter-json/src/parser.c -o jsonparser.o

lua: luaparser.o luascanner.o

luascanner.o: tree-sitter-lua/src/scanner.c
	$(CC) -c $(INCLUDES) tree-sitter-lua/src/scanner.c -o luascanner.o

luaparser.o: tree-sitter-lua/src/parser.c 
	$(CC) -c $(INCLUDES) tree-sitter-lua/src/parser.c -o luaparser.o

python: pythonparser.o pythonscanner.o

pythonscanner.o: tree-sitter-python/src/scanner.c
	$(CC) -c $(INCLUDES) tree-sitter-python/src/scanner.c -o pythonscanner.o

pythonparser.o: tree-sitter-python/src/parser.c 
	$(CC) -c $(INCLUDES) tree-sitter-python/src/parser.c -o pythonparser.o

