123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 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
- @@ -44,6 +44,7 @@
- TO_BIN= lua luac
- TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
- TO_LIB= liblua.a
- +TO_SOLIB = liblua.so.$(R)
- TO_MAN= lua.1 luac.1
-
- # Lua version and release.
- @@ -61,6 +62,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
- @@ -23,6 +23,7 @@
- PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
-
- LUA_A= liblua.a
- +LUA_SO= liblua.so
- CORE_O= lapi.o lcode.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
- @@ -36,8 +37,13 @@
- LUAC_O= luac.o print.o
-
- ALL_O= $(CORE_O) $(LIB_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)
-
- default: $(PLAT)
-
- @@ -47,12 +53,23 @@
-
- a: $(ALL_A)
-
- +so: $(ALL_SO)
- +
- $(LUA_A): $(CORE_O) $(LIB_O)
- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
- $(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 $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
- +else
- +$(LUA_T): $(LUA_O) $(LUA_SO)
- + $(CC) -o $@ -L. $(MYLDFLAGS) $(LUA_O) -llua $(LIBS)
- +endif
-
- $(LUAC_T): $(LUAC_O) $(LUA_A)
- $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
|