|
@@ -0,0 +1,78 @@
|
|
|
+Add the compilation of a shared library.
|
|
|
+Compile the lua binary with the shared library.
|
|
|
+And install the shared library.
|
|
|
+The variable BUILDMODE allows to switch between static and dynamic mode.
|
|
|
+
|
|
|
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
|
|
|
+
|
|
|
+Index: b/Makefile
|
|
|
+===================================================================
|
|
|
+--- a/Makefile
|
|
|
++++ b/Makefile
|
|
|
+@@ -42,6 +42,7 @@
|
|
|
+ TO_BIN= lua luac
|
|
|
+ TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
|
|
|
+ TO_LIB= liblua.a
|
|
|
++TO_SOLIB = liblua.so.$(R)
|
|
|
+ TO_MAN= lua.1 luac.1
|
|
|
+
|
|
|
+ # Lua version and release.
|
|
|
+@@ -57,6 +58,8 @@
|
|
|
+ install: dummy
|
|
|
+ cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
|
|
+ cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
|
|
++ test -f src/$(TO_SOLIB) && cd src && $(INSTALL_EXEC) $(TO_SOLIB) $(INSTALL_LIB) || :
|
|
|
++ test -f src/$(TO_SOLIB) && ln -sf $(TO_SOLIB) $(INSTALL_LIB)/liblua.so || :
|
|
|
+ cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
|
|
+ cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
|
|
+ cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
|
|
+Index: b/src/Makefile
|
|
|
+===================================================================
|
|
|
+--- a/src/Makefile
|
|
|
++++ b/src/Makefile
|
|
|
+@@ -33,6 +33,7 @@
|
|
|
+ PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris
|
|
|
+
|
|
|
+ LUA_A= liblua.a
|
|
|
++LUA_SO= liblua.so
|
|
|
+ CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
|
|
|
+ LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o linit.o
|
|
|
+ BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
|
|
|
+@@ -44,8 +45,13 @@
|
|
|
+ LUAC_O= luac.o
|
|
|
+
|
|
|
+ ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
|
|
|
++ifneq (dynamic,$(BUILDMODE))
|
|
|
+ ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
|
|
++else
|
|
|
++ALL_T= $(LUA_A) $(LUA_SO) $(LUA_T) $(LUAC_T)
|
|
|
++endif
|
|
|
+ ALL_A= $(LUA_A)
|
|
|
++ALL_SO= $(LUA_SO)
|
|
|
+
|
|
|
+ # Targets start here.
|
|
|
+ default: $(PLAT)
|
|
|
+@@ -56,12 +62,23 @@
|
|
|
+
|
|
|
+ a: $(ALL_A)
|
|
|
+
|
|
|
++so: $(ALL_SO)
|
|
|
++
|
|
|
+ $(LUA_A): $(BASE_O)
|
|
|
+ $(AR) $@ $(BASE_O)
|
|
|
+ $(RANLIB) $@
|
|
|
+
|
|
|
++$(LUA_SO): $(CORE_O) $(LIB_O)
|
|
|
++ $(CC) -o $@.$(PKG_VERSION) -shared -Wl,-soname="$@.$(PKG_VERSION)" $?
|
|
|
++ ln -fs $@.$(PKG_VERSION) $@
|
|
|
++
|
|
|
++ifneq (dynamic,$(BUILDMODE))
|
|
|
+ $(LUA_T): $(LUA_O) $(LUA_A)
|
|
|
+ $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
|
|
++else
|
|
|
++$(LUA_T): $(LUA_O) $(LUA_SO)
|
|
|
++ $(CC) -o $@ -L. $(LDFLAGS) $(LUA_O) -llua $(LIBS)
|
|
|
++endif
|
|
|
+
|
|
|
+ $(LUAC_T): $(LUAC_O) $(LUA_A)
|
|
|
+ $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|