blob: 3492186072b4dce7dfc8534cc39becba360ad7f5 (
plain) (
tree)
|
|
diff --git a/Makefile b/Makefile
index 7fa91c8..c85ede2 100644
--- a/Makefile
+++ b/Makefile
@@ -112,3 +112,18 @@ pc:
.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
# (end of Makefile)
+
+# Use libtool for binary installs, etc.
+
+export V
+export LIBTOOL = ../libtool --quiet --tag=CC
+# See libtool manual about how to set this
+
+alpine_clean:
+ cd src; $(MAKE) $@
+
+alpine_install:
+ mkdir -p $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB)
+ cd src; $(LIBTOOL) --mode=install $(INSTALL_EXEC) lua luac $(INSTALL_BIN)
+ cd src; $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
+ cd src; $(LIBTOOL) --mode=install $(INSTALL_DATA) liblua.la $(INSTALL_LIB)
diff --git a/src/Makefile b/src/Makefile
index 2e7a412..a72f342 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -59,10 +59,10 @@ $(LUA_A): $(BASE_O)
$(AR) $@ $(BASE_O)
$(RANLIB) $@
-$(LUA_T): $(LUA_O) $(LUA_A)
+origin$(LUA_T): $(LUA_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
-$(LUAC_T): $(LUAC_O) $(LUA_A)
+origin$(LUAC_T): $(LUAC_O) $(LUA_A)
$(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
clean:
@@ -194,4 +194,33 @@ lvm.o: lvm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \
lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \
lobject.h ltm.h lzio.h
+
+export LIBTOOL = ../libtool --quiet --tag=CC
+export LIB_VERSION = 0:0:0
+
+# The following rules use libtool for compiling and linking in order to
+# provide shared library support.
+
+LIB_NAME = liblua.la
+LIB_OBJS = $(CORE_O:.o=.lo) $(LIB_O:.o=.lo)
+
+%.lo %.o: %.c
+ $(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
+
+$(LIB_NAME): $(LIB_OBJS)
+ $(LIBTOOL) --mode=link $(CC) -version-info $(LIB_VERSION) -release $(V) \
+ -rpath $(RPATH) $(LDFLAGS) -o $(LIB_NAME) $(LIB_OBJS) $(LIB_LIBS)
+
+$(LUA_T): $(LUA_O:.o=.lo) $(LIB_NAME)
+ $(LIBTOOL) --mode=link $(CC) -export-dynamic $(LDFLAGS) -o $@ \
+ $(LUA_O:.o=.lo) $(LIB_NAME) $(LUA_LIBS)
+
+$(LUAC_T): $(LUAC_O:.o=.lo) $(LIB_NAME)
+ $(LIBTOOL) --mode=link $(CC) -static $(LDFLAGS) -o $@ $(LUAC_O:.o=.lo) \
+ $(LIB_NAME)
+
+alpine_clean:
+ $(LIBTOOL) --mode=clean $(RM) $(ALL_O:.o=.lo) $(LIB_NAME) lua luac
+
+alpine_all: $(LIB_NAME) $(LUA_T) $(LUAC_T)
# (end of Makefile)
|