--- ./Makefile.orig +++ ./Makefile @@ -126,3 +126,18 @@ .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) --- ./src/Makefile.orig +++ ./src/Makefile @@ -51,10 +51,10 @@ $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files $(RANLIB) $@ -$(LUA_T): $(LUA_O) $(LUA_A) +origin$(LUA_T): $(LUA_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) -$(LUAC_T): $(LUAC_O) $(LUA_A) +origin$(LUAC_T): $(LUAC_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) clean: @@ -178,5 +178,34 @@ lzio.h print.o: print.c ldebug.h lstate.h lua.h luaconf.h lobject.h llimits.h \ ltm.h lzio.h lmem.h lopcodes.h lundump.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) \ + -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)