lua-immutable/Makefile
2018-02-11 13:43:42 -08:00

57 lines
998 B
Makefile

# makefile for immutable table library for Lua
# usage: make LUA=/path/to/lua
LUAINC= $(LUA)/src
LUALIB= $(LUA)/src
LUABIN= $(LUA)/src
LUASUFFIX=
# these will probably work if Lua has been installed globally
#LUA= /usr/local
#LUAINC= $(LUA)/include
#LUALIB= $(LUA)/lib
#LUABIN= $(LUA)/bin
# probably no need to change anything below here
CC= gcc
CFLAGS= $(INCS) $(WARN) -O2 $G
WARN= -std=c11 -pedantic -Wall -Wextra
INCS= -I$(LUAINC)
#MAKESO= $(CC) -shared
MAKESO= $(CC) -bundle -undefined dynamic_lookup
MYNAME= immutable
MYLIB= l$(MYNAME)
T= $(MYNAME).so
OBJS= $(MYLIB).o
TEST= tests.lua
all: $T
test: $T
$(LUABIN)/lua$(LUASUFFIX) $(TEST)
o: $(MYLIB).o
so: $T
$T: $(OBJS)
$(MAKESO) -o $@ $(OBJS)
$(OBJS): check-lua limmutable.c
clean:
rm -f $(OBJS) $T lua_path core core.*
doc:
@echo "$(MYNAME) library:"
@fgrep '/**' $(MYLIB).c | cut -f2 -d/ | tr -d '*' | sort | column
check-lua:
@if [ "$(LUA)" = "" ]; then \
echo "usage: make LUA=/path/to/lua"; \
exit 1; \
fi
# eof