44 lines
1.1 KiB
Makefile
44 lines
1.1 KiB
Makefile
include ../Makefile.inc
|
|
LUA_VERSION=5.1
|
|
PREFIX_SEARCH=/usr /usr/local /opt/local
|
|
LUA_PLUGINDIR=$(firstword \
|
|
$(foreach ldir,$(subst ;, ,$(shell lua -e 'print(package.cpath)')), \
|
|
$(if $(findstring lib/lua/,$(ldir)),$(patsubst %/?.so,%,$(ldir))) \
|
|
) \
|
|
)
|
|
|
|
# find lua prefix
|
|
LUA_PREFIX=$(firstword \
|
|
$(foreach prefix,$(PREFIX_SEARCH),\
|
|
$(if $(wildcard $(prefix)/include/lua.h),$(prefix)) \
|
|
) \
|
|
)
|
|
|
|
libdir=$(prefix)/libs
|
|
luadir=$(if $(LUA_PLUGINDIR),$(LUA_PLUGINDIR),$(libdir)/lua/$(LUA_VERSION))
|
|
luainc=$(shell pkg-config --silence-errors --cflags lua$(LUA_VERSION))
|
|
|
|
CPPFLAGS=-I.. $(if $(luainc),$(luainc), -I$(LUA_PREFIX)/include)
|
|
LIBS=-L.. -luci $(shell pkg-config --silence-errors --libs lua$(LUA_VERSION))
|
|
|
|
PLUGIN_LD=$(CC)
|
|
ifeq ($(OS),Darwin)
|
|
PLUGIN_LDFLAGS=-bundle -undefined dynamic_lookup
|
|
else
|
|
PLUGIN_LDFLAGS=-shared -Wl,-soname,$(SHLIB_FILE)
|
|
endif
|
|
|
|
all: uci.so
|
|
|
|
uci.so: uci.o
|
|
$(PLUGIN_LD) $(PLUGIN_LDFLAGS) -o $@ $^ $(LIBS)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) $(FPIC) -c -o $@ $<
|
|
|
|
install:
|
|
mkdir -p $(DESTDIR)$(luadir)
|
|
$(INSTALL) -m0644 uci.so $(DESTDIR)$(luadir)/
|
|
|
|
clean:
|
|
rm -f *.so *.o uci.so
|