1
- VERSION := 0.21.2
1
+ ifeq ($(OS ) ,Windows_NT)
2
+ $(error Windows is not supported)
3
+ endif
4
+
5
+ VERSION := 0.23.0
6
+
7
+ LANGUAGE_NAME := tree-sitter-typescript
2
8
3
9
# repository
4
10
SRC_DIR := src
15
21
16
22
TS ?= tree-sitter
17
23
18
- # ABI versioning
19
- SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION ) ) )
20
- SONAME_MINOR := $(word 2,$(subst ., ,$(VERSION ) ) )
21
-
22
24
# install directory layout
23
25
PREFIX ?= /usr/local
24
26
INCLUDEDIR ?= $(PREFIX ) /include
@@ -34,27 +36,29 @@ OBJS := $(patsubst %.c,%.o,$(PARSER) $(EXTRAS))
34
36
ARFLAGS ?= rcs
35
37
override CFLAGS += -I$(SRC_DIR ) -std=c11 -fPIC
36
38
39
+ # ABI versioning
40
+ SONAME_MAJOR := $(word 1,$(subst ., ,$(VERSION ) ) )
41
+ SONAME_MINOR := $(shell sed -n 's/#define LANGUAGE_VERSION //p' $(PARSER ) )
42
+
37
43
# OS-specific bits
38
- ifeq ($(OS ) ,Windows_NT)
39
- $(error "Windows is not supported")
40
- else ifeq ($(shell uname),Darwin)
44
+ ifeq ($(shell uname) ,Darwin)
41
45
SOEXT = dylib
42
- SOEXTVER_MAJOR = $(SONAME_MAJOR).dylib
43
- SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).dylib
46
+ SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT)
47
+ SOEXTVER = $(SONAME_MAJOR).$(SONAME_MINOR).$(SOEXT)
44
48
LINKSHARED := $(LINKSHARED)-dynamiclib -Wl,
45
49
ifneq ($(ADDITIONAL_LIBS),)
46
50
LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS),
47
51
endif
48
- LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SONAME_MAJOR).dylib ,-rpath,@executable_path/../Frameworks
52
+ LINKSHARED := $(LINKSHARED)-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER) ,-rpath,@executable_path/../Frameworks
49
53
else
50
54
SOEXT = so
51
- SOEXTVER_MAJOR = so .$(SONAME_MAJOR)
52
- SOEXTVER = so .$(SONAME_MAJOR).$(SONAME_MINOR)
55
+ SOEXTVER_MAJOR = $(SOEXT) .$(SONAME_MAJOR)
56
+ SOEXTVER = $(SOEXT) .$(SONAME_MAJOR).$(SONAME_MINOR)
53
57
LINKSHARED := $(LINKSHARED)-shared -Wl,
54
58
ifneq ($(ADDITIONAL_LIBS),)
55
59
LINKSHARED := $(LINKSHARED)$(ADDITIONAL_LIBS)
56
60
endif
57
- LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).so.$(SONAME_MAJOR )
61
+ LINKSHARED := $(LINKSHARED)-soname,lib$(LANGUAGE_NAME).$(SOEXTVER )
58
62
endif
59
63
ifneq ($(filter $(shell uname) ,FreeBSD NetBSD DragonFly) ,)
60
64
PCLIBDIR := $(PREFIX)/libdata/pkgconfig
@@ -81,14 +85,14 @@ $(LANGUAGE_NAME).pc: ../bindings/c/$(LANGUAGE_NAME).pc.in
81
85
-e ' s|=$(PREFIX)|=$${prefix}|' \
82
86
-e ' s|@PREFIX@|$(PREFIX)|' $< > $@
83
87
84
- $(PARSER ) : grammar.js
85
- $(TS ) generate --no-bindings
88
+ $(PARSER ) : $( SRC_DIR ) / grammar.json
89
+ $(TS ) generate --no-bindings $^
86
90
87
91
install : all
88
92
install -d ' $(DESTDIR)$(INCLUDEDIR)' /tree_sitter ' $(DESTDIR)$(PCLIBDIR)' ' $(DESTDIR)$(LIBDIR)'
89
- install -m644 ../ bindings/c/$(LANGUAGE_NAME ) .h ' $(DESTDIR)$(INCLUDEDIR)' /tree_sitter/$(LANGUAGE_NAME ) .h
93
+ install -m644 bindings/c/$(LANGUAGE_NAME ) .h ' $(DESTDIR)$(INCLUDEDIR)' /tree_sitter/$(LANGUAGE_NAME ) .h
90
94
install -m644 $(LANGUAGE_NAME ) .pc ' $(DESTDIR)$(PCLIBDIR)' /$(LANGUAGE_NAME ) .pc
91
- install -m755 lib$(LANGUAGE_NAME ) .a ' $(DESTDIR)$(LIBDIR)' /lib$(LANGUAGE_NAME ) .a
95
+ install -m644 lib$(LANGUAGE_NAME ) .a ' $(DESTDIR)$(LIBDIR)' /lib$(LANGUAGE_NAME ) .a
92
96
install -m755 lib$(LANGUAGE_NAME ) .$(SOEXT ) ' $(DESTDIR)$(LIBDIR)' /lib$(LANGUAGE_NAME ) .$(SOEXTVER )
93
97
ln -sf lib$(LANGUAGE_NAME ) .$(SOEXTVER ) ' $(DESTDIR)$(LIBDIR)' /lib$(LANGUAGE_NAME ) .$(SOEXTVER_MAJOR )
94
98
ln -sf lib$(LANGUAGE_NAME ) .$(SOEXTVER_MAJOR ) ' $(DESTDIR)$(LIBDIR)' /lib$(LANGUAGE_NAME ) .$(SOEXT )
0 commit comments