queries c.h c.scm cpp.h cpp.scm cuda.h cuda.scm glsl.h glsl.scm go.h go.scm javascript.h javascript.scm kotlin.h kotlin.scm lua.h lua.scm odin.h odin.scm php.h php.scm python.h python.scm rust.h rust.scm tcl.h tcl.scm zig.h zig.scm
tests
depth_test
sub level1.c
level0.c
test.c test.cpp test.cu test.cuh test.glsl test.go test.js test.kt test.lua test.odin test.php test.py test.rs test.tcl test.zig
vendor
tree-sitter
lib
include
tree_sitter api.h parser.h
src
unicode ICU_SHA LICENSE README.md ptypes.h umachine.h urename.h utf.h utf16.h utf8.h
alloc.c alloc.h array.h atomic.h clock.h error_costs.h get_changed_ranges.c get_changed_ranges.h host.h language.c language.h length.h lexer.c lexer.h lib.c node.c parser.c point.h query.c reduce_action.h reusable_node.h stack.c stack.h subtree.c subtree.h tree.c tree.h tree_cursor.c tree_cursor.h unicode.h
LICENSE Makefile
tree-sitter-c
src
tree_sitter parser.h
grammar.json node-types.json parser.c
LICENSE Makefile
tree-sitter-cpp
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-cuda
src
tree_sitter alloc.h array.h parser.h runtime.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-glsl
src
tree_sitter alloc.h array.h parser.h runtime.h
grammar.json node-types.json parser.c
LICENSE Makefile
tree-sitter-go
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c
LICENSE Makefile
tree-sitter-javascript
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-kotlin
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-lua
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE.md Makefile
tree-sitter-odin
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-php
src
common common.mak define-grammar.js scanner.h
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-python
src
tree_sitter parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-rust
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-tcl
src
tree_sitter parser.h
grammar.json node-types.json parser.c scanner.c
LICENSE Makefile
tree-sitter-template Makefile
tree-sitter-zig
src
tree_sitter alloc.h array.h parser.h
grammar.json node-types.json parser.c
LICENSE Makefile
.clang-format .gitattributes .gitignore LICENSE Makefile README.md abicheck.c compile_flags.txt file.c file.h list.c list.h main.c tests.sh tpool.c tpool.h
vendor/tree-sitter/Makefile raw
 1VERSION := 0.20.10
 2
 3# install directory layout
 4PREFIX ?= /usr/local
 5INCLUDEDIR ?= $(PREFIX)/include
 6LIBDIR ?= $(PREFIX)/lib
 7PCLIBDIR ?= $(LIBDIR)/pkgconfig
 8
 9# collect sources
10ifneq ($(AMALGAMATED),1)
11	SRC := $(wildcard lib/src/*.c)
12	# do not double-include amalgamation
13	SRC := $(filter-out lib/src/lib.c,$(SRC))
14else
15	# use amalgamated build
16	SRC := lib/src/lib.c
17endif
18OBJ := $(SRC:.c=.o)
19
20# define default flags, and override to append mandatory flags
21override CFLAGS := -O3 -std=gnu99 -fPIC -fvisibility=hidden -Wall -Wextra -Wshadow $(CFLAGS)
22override CFLAGS += -Ilib/src -Ilib/include
23
24# ABI versioning
25SONAME_MAJOR := 0
26SONAME_MINOR := 0
27
28# OS-specific bits
29ifeq ($(shell uname),Darwin)
30	SOEXT = dylib
31	SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib
32	SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib
33	LINKSHARED += -dynamiclib -Wl,-install_name,$(LIBDIR)/libtree-sitter.$(SONAME_MAJOR).dylib
34else
35	SOEXT = so
36	SOEXTVER_MAJOR = so.$(SONAME_MAJOR)
37	SOEXTVER = so.$(SONAME_MAJOR).$(SONAME_MINOR)
38	LINKSHARED += -shared -Wl,-soname,libtree-sitter.so.$(SONAME_MAJOR)
39endif
40ifneq (,$(filter $(shell uname),FreeBSD NetBSD DragonFly))
41	PCLIBDIR := $(PREFIX)/libdata/pkgconfig
42endif
43
44all: libtree-sitter.a libtree-sitter.$(SOEXTVER)
45
46libtree-sitter.a: $(OBJ)
47	$(AR) rcs $@ $^
48
49libtree-sitter.$(SOEXTVER): $(OBJ)
50	$(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
51	ln -sf $@ libtree-sitter.$(SOEXT)
52	ln -sf $@ libtree-sitter.$(SOEXTVER_MAJOR)
53ifneq ($(STRIP),)
54	$(STRIP) $@
55endif
56
57install: all
58	sed -e 's|@LIBDIR@|$(LIBDIR)|;s|@INCLUDEDIR@|$(INCLUDEDIR)|;s|@VERSION@|$(VERSION)|' \
59	    -e 's|=$(PREFIX)|=$${prefix}|' \
60	    -e 's|@PREFIX@|$(PREFIX)|' \
61	    tree-sitter.pc.in > tree-sitter.pc
62
63	install -d '$(DESTDIR)$(LIBDIR)'
64	install -m644 libtree-sitter.a '$(DESTDIR)$(LIBDIR)'/
65	install -m755 libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/
66	ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXTVER_MAJOR)
67	ln -sf libtree-sitter.$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/libtree-sitter.$(SOEXT)
68
69	install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter
70	install -m644 lib/include/tree_sitter/api.h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/
71
72	install -d '$(DESTDIR)$(PCLIBDIR)'
73	install -m644 tree-sitter.pc '$(DESTDIR)$(PCLIBDIR)'/
74
75clean:
76	rm -f lib/src/*.o libtree-sitter.a libtree-sitter.$(SOEXT) libtree-sitter.$(SOEXTVER_MAJOR) libtree-sitter.$(SOEXTVER)
77
78.PHONY: all install clean