tal

Clone repo: git clone https://git.topcheto.eu/tal.git
All branches, All tags, View raw

File contents

export PREFIX ?= /usr/local

LUAJIT_LIBS := deps/luajit/src/libluajit.a deps/luajit/src/libluajit.so
LUAJIT_EXE := deps/luajit/src/luajit
LUAJIT_MK := deps/luajit/Makefile

OS ?= $(shell uname)

LIBEV_LIBS := deps/libev/bin/$(OS)/libev.a deps/libev/bin/$(OS)/libev.so
LIBEV_MK := deps/libev/Makefile

LIBS := $(LUAJIT_LIBS)

ifneq ($(SYSLIBS),yes)
	LIBS += $(LIBEV_LIBS)
endif

.PHONY: luajit clean install uninstall

all: $(LIBS) $(LUAJIT_EXE)

install: $(PREFIX)/bin/tal all
	mkdir -p "$(PREFIX)/bin"
	mkdir -p "$(PREFIX)/lib"
	mkdir -p "$(PREFIX)/lib/lua"

	cp $(LUAJIT_EXE) "$(PREFIX)/bin/"
	cp $(LIBS) "$(PREFIX)/lib"
	cp -r deps/luajit/src/jit "$(PREFIX)/lib/lua/"
	cp -r lib/* "$(PREFIX)/lib/lua"

clean: $(LUAJIT_MK) $(LIBEV_MK)
	$(MAKE) -C deps/luajit clean
	$(MAKE) -C deps/libev clean
	rm -rf bin

$(PREFIX)/bin/tal:
	mkdir -p $(dir $@)
	echo '#!/usr/bin/env sh' > $@
	echo '"$(PREFIX)/bin/luajit" "$(PREFIX)/lib/lua/tal.lua" "$$@"' >> $@
	chmod +x $@

$(LUAJIT_MK):
	git submodule update --init deps/luajit
$(LUAJIT_EXE) $(LUAJIT_LIBS)&: $(LUAJIT_MK)
	$(MAKE) -C deps/luajit XCFLAGS=-DLUAJIT_ENABLE_LUA52COMPAT

$(LIBEV_MK):
	git submodule update --init deps/libev
$(LIBEV_LIBS)&: $(LIBEV_MK)
	$(MAKE) -C deps/libev