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))) \
+ ) \
+)
-CPPFLAGS=-I..
-LIBS=-L.. -luci
+# 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_LD) $(PLUGIN_LDFLAGS) -o $@ $^ $(LIBS)
%.o: %.c
- $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
+ $(CC) $(CPPFLAGS) $(CFLAGS) $(FPIC) -c -o $@ $<
install:
- mkdir -p $(DESTDIR)$(prefix)/lib/lua/5.1
- $(INSTALL) -m0644 uci.so $(DESTDIR)$(prefix)/lib/lua/5.1/
+ mkdir -p $(DESTDIR)$(luadir)
+ $(INSTALL) -m0644 uci.so $(DESTDIR)$(luadir)/
clean:
rm -f *.so *.o uci.so