fennel-ls/Makefile
XeroOl 1f44c99ef1 fix sh function
I think it would probably be better to just make a shell script instead
of this whole lua stuff, but I'll leave it for now.
2024-06-08 12:20:54 -05:00

58 lines
1.2 KiB
Makefile

LUA ?= lua
FENNEL=$(LUA) fennel
EXE=fennel-ls
SRC=$(wildcard src/*.fnl)
SRC+=$(wildcard src/fennel-ls/*.fnl)
SRC+=$(wildcard src/fennel-ls/docs/*.fnl)
BUILD_DIR=./build
DESTDIR ?=
PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
FENNELFLAGS=--add-package-path "src/?.lua" --add-fennel-path "src/?.fnl"
FENNELFLAGS+=--skip-include fennel.compiler
EXTRA_FENNELFLAGS ?=
FENNELFLAGS+= $(EXTRA_FENNELFLAGS)
.PHONY: all clean test install ci selfcheck
all: $(EXE)
$(EXE): $(SRC)
echo "#!/usr/bin/env $(LUA)" > $@
$(FENNEL) $(FENNELFLAGS) --require-as-include --compile src/fennel-ls.fnl >> $@
chmod 755 $@
clean:
rm -f $(EXE)
test:
TESTING=1 $(FENNEL) $(FENNELFLAGS) --add-fennel-path "test/faith/?.fnl" test/init.fnl
repl:
$(FENNEL) $(FENNELFLAGS) --add-fennel-path "test/faith/?.fnl"
testall:
$(MAKE) test LUA=lua5.1
$(MAKE) test LUA=lua5.2
$(MAKE) test LUA=lua5.3
$(MAKE) test LUA=lua5.4
$(MAKE) test LUA=luajit
docs:
$(FENNEL) $(FENNELFLAGS) tools/gen-docs.fnl
install-deps:
$(FENNEL) $(FENNELFLAGS) tools/vendor.fnl
install: $(EXE)
mkdir -p $(DESTDIR)$(BINDIR) && cp $< $(DESTDIR)$(BINDIR)/
ci: testall $(EXE)
selfcheck:
$(FENNEL) $(FENNELFLAGS) src/fennel-ls.fnl --check $(SRC)