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-php/src/common/common.mak
raw
1ifeq ($(OS),Windows_NT)
2$(error Windows is not supported)
3endif
4
5VERSION := 0.23.2
6
7LANGUAGE_NAME := tree-sitter-php
8
9# repository
10SRC_DIR := src
11
12PARSER_REPO_URL := $(shell git -C $(SRC_DIR) remote get-url origin 2>/dev/null)
13
14ifeq ($(PARSER_URL),)
15 PARSER_URL := $(subst .git,,$(PARSER_REPO_URL))
16ifeq ($(shell echo $(PARSER_URL) | grep '^[a-z][-+.0-9a-z]*://'),)
17 PARSER_URL := $(subst :,/,$(PARSER_URL))
18 PARSER_URL := $(subst git@,https://,$(PARSER_URL))
19endif
20endif
21
22TS ?= tree-sitter
23
24# install directory layout
25PREFIX ?= /usr/local
26INCLUDEDIR ?= $(PREFIX)/include
27LIBDIR ?= $(PREFIX)/lib
28PCLIBDIR ?= $(LIBDIR)/pkgconfig
29
30# source/object files
31PARSER := $(SRC_DIR)/parser.c
32EXTRAS := $(filter-out $(PARSER),$(wildcard $(SRC_DIR)/*.c))
33OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS))
34
35# flags
36ARFLAGS ?= rcs
37override CFLAGS += -I$(SRC_DIR) -std=c11 -fPIC
38
39# ABI versioning
40SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION)))
41SONAME_MINOR := $(shell sed -n 's/#define LANGUAGE_VERSION //p' $(PARSER))
42
43# OS-specific bits
44ifeq ($(shell uname),Darwin)
45 SOEXT = dylib
46 SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT)
47 SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).$(SOEXT)
48 LINKSHARED := $(LINKSHARED)-dynamiclib -Wl,
49 ifneq ($(ADDITIONAL_LIBS),)
50 LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS),
51 endif
52 LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER),-rpath,@executable_path/../Frameworks
53else
54 SOEXT = so
55 SOEXTVER_MAJOR = $(SOEXT).$(SONAME_MAJOR)
56 SOEXTVER = $(SOEXT).$(SONAME_MAJOR).$(SONAME_MINOR)
57 LINKSHARED := $(LINKSHARED)-shared -Wl,
58 ifneq ($(ADDITIONAL_LIBS),)
59 LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS)
60 endif
61 LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).$(SOEXTVER)
62endif
63ifneq ($(filter $(shell uname),FreeBSD NetBSD DragonFly),)
64 PCLIBDIR := $(PREFIX)/libdata/pkgconfig
65endif
66
67all: lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT) $(LANGUAGE_NAME).pc
68
69lib$(LANGUAGE_NAME).a: $(OBJS)
70 $(AR) $(ARFLAGS) $@ $^
71
72lib$(LANGUAGE_NAME).$(SOEXT): $(OBJS)
73 $(CC) $(LDFLAGS) $(LINKSHARED) $^ $(LDLIBS) -o $@
74ifneq ($(STRIP),)
75 $(STRIP) $@
76endif
77
78$(LANGUAGE_NAME).pc: bindings/c/$(LANGUAGE_NAME).pc.in
79 sed -e 's|@URL@|$(PARSER_URL)|' \
80 -e 's|@VERSION@|$(VERSION)|' \
81 -e 's|@LIBDIR@|$(LIBDIR)|' \
82 -e 's|@INCLUDEDIR@|$(INCLUDEDIR)|' \
83 -e 's|@REQUIRES@|$(REQUIRES)|' \
84 -e 's|@ADDITIONAL_LIBS@|$(ADDITIONAL_LIBS)|' \
85 -e 's|=$(PREFIX)|=$${prefix}|' \
86 -e 's|@PREFIX@|$(PREFIX)|' $< > $@
87
88$(PARSER): $(SRC_DIR)/grammar.json
89 $(TS) generate --no-bindings $^
90
91install: all
92 install -d '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter '$(DESTDIR)$(PCLIBDIR)' '$(DESTDIR)$(LIBDIR)'
93 install -m644 bindings/c/$(LANGUAGE_NAME).h '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h
94 install -m644 $(LANGUAGE_NAME).pc '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
95 install -m644 lib$(LANGUAGE_NAME).a '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a
96 install -m755 lib$(LANGUAGE_NAME).$(SOEXT) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER)
97 ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR)
98 ln -sf lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT)
99
100uninstall:
101 $(RM) '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).a \
102 '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER) \
103 '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXTVER_MAJOR) \
104 '$(DESTDIR)$(LIBDIR)'/lib$(LANGUAGE_NAME).$(SOEXT) \
105 '$(DESTDIR)$(INCLUDEDIR)'/tree_sitter/$(LANGUAGE_NAME).h \
106 '$(DESTDIR)$(PCLIBDIR)'/$(LANGUAGE_NAME).pc
107
108clean:
109 $(RM) $(OBJS) $(LANGUAGE_NAME).pc lib$(LANGUAGE_NAME).a lib$(LANGUAGE_NAME).$(SOEXT)
110
111.PHONY: all install uninstall clean