@@ -2,23 +2,13 @@ ifeq ($(OS),Windows_NT)
22$(error Windows is not supported)
33endif
44
5- VERSION := PARSER_VERSION
6-
75LANGUAGE_NAME := tree-sitter-PARSER_NAME
6+ HOMEPAGE_URL := PARSER_URL
7+ VERSION := PARSER_VERSION
88
99# repository
1010SRC_DIR := src
1111
12- PARSER_REPO_URL := $(shell git -C $(SRC_DIR ) remote get-url origin 2>/dev/null)
13-
14- ifeq ($(PARSER_URL ) ,)
15- PARSER_URL := $(subst .git,,$(PARSER_REPO_URL))
16- ifeq ($(shell echo $(PARSER_URL ) | grep '^[a-z][-+.0-9a-z]* ://'),)
17- PARSER_URL := $(subst :,/,$(PARSER_URL ) )
18- PARSER_URL := $(subst git@,https://,$(PARSER_URL ) )
19- endif
20- endif
21-
2212TS ?= tree-sitter
2313
2414# install directory layout
@@ -37,28 +27,20 @@ ARFLAGS ?= rcs
3727override CFLAGS += -I$(SRC_DIR ) -std=c11 -fPIC
3828
3929# ABI versioning
40- SONAME_MAJOR : = $(word 1, $( subst ., , $( VERSION ) ) )
41- SONAME_MINOR : = $(shell sed -n 's/#define LANGUAGE_VERSION //p' $( PARSER ) )
30+ SONAME_MAJOR = $(shell sed -n 's/\#define LANGUAGE_VERSION //p' $( PARSER ) )
31+ SONAME_MINOR = $(word 1, $( subst ., , $( VERSION ) ) )
4232
4333# OS-specific bits
4434ifeq ($(shell uname) ,Darwin)
4535 SOEXT = dylib
4636 SOEXTVER_MAJOR = $(SONAME_MAJOR).$(SOEXT)
4737 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
38+ LINKSHARED = -dynamiclib -Wl,-install_name,$(LIBDIR)/lib$(LANGUAGE_NAME).$(SOEXTVER),-rpath,@executable_path/../Frameworks
5339else
5440 SOEXT = so
5541 SOEXTVER_MAJOR = $(SOEXT).$(SONAME_MAJOR)
5642 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)
43+ LINKSHARED = -shared -Wl,-soname,lib$(LANGUAGE_NAME).$(SOEXTVER)
6244endif
6345ifneq ($(filter $(shell uname) ,FreeBSD NetBSD DragonFly) ,)
6446 PCLIBDIR := $(PREFIX)/libdata/pkgconfig
@@ -76,14 +58,12 @@ ifneq ($(STRIP),)
7658endif
7759
7860$(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)|' $< > $@
61+ sed -e ' s|@PROJECT_VERSION@|$(VERSION)|' \
62+ -e ' s|@CMAKE_INSTALL_LIBDIR@|$(LIBDIR)|' \
63+ -e ' s|@CMAKE_INSTALL_INCLUDEDIR@|$(INCLUDEDIR)|' \
64+ -e ' s|@PROJECT_DESCRIPTION@|$(DESCRIPTION)|' \
65+ -e ' s|@PROJECT_HOMEPAGE_URL@|$(HOMEPAGE_URL)|' \
66+ -e ' s|@CMAKE_INSTALL_PREFIX@|$(PREFIX)|' $< > $@
8767
8868$(PARSER ) : $(SRC_DIR ) /grammar.json
8969 $(TS ) generate $^
0 commit comments