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.scmtests
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.zigvendor
tree-sitter
lib
src
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
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