--- old/Makefile 2019-07-10 08:19:37.075185927 +0200 +++ old/Makefile 2019-07-10 08:17:19.250188499 +0200 @@ -22,7 +22,8 @@ # How to install. If your install program does not support "-p", then you # may have to run ranlib on the installed liblua.a (do "make ranlib"). -INSTALL= install -p +INSTALL?= install -p +INSTALL_LINK= ln -s INSTALL_EXEC= $(INSTALL) -m 0755 INSTALL_DATA= $(INSTALL) -m 0644 # @@ -33,7 +33,7 @@ # Utilities. MKDIR= mkdir -p -RANLIB= ranlib +RANLIB= $(CC)-ranlib # == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= @@ -47,13 +47,17 @@ TO_MAN= lua.1 luac.1 # Lua version and release. +M= 5 V= 5.1 R= 5.1.5 +# Export to sub-make +export M R + all: $(PLAT) $(PLATS) clean: - cd src && $(MAKE) $@ + cd src && $(MKDIR) .libs && $(MAKE) $@ test: dummy src/lua test/hello.lua @@ -61,6 +65,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) + cd src && $(INSTALL_EXEC) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB) + cd src && $(INSTALL_LINK) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB)/$(TO_LIB:.a=.so.$(M)) cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) --- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100 +++ old/src/Makefile 2019-07-09 19:15:51.817359984 +0200 @@ -7,12 +7,13 @@ # Your platform. See PLATS for possible values. PLAT= none -CC= gcc -CFLAGS= -O2 -Wall $(MYCFLAGS) -AR= ar rcu -RANLIB= ranlib +CC?= gcc +CFLAGS?= -O2 -Wall $(MYCFLAGS) +SOFLAGS= -shared -fPIC -DPIC -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,$(LUA_A:.a=.so.$(M)) +AR= $(CC)-ar rcu +RANLIB= $(CC)-ranlib RM= rm -f -LIBS= -lm $(MYLIBS) +LIBS?= -lm $(MYLIBS) MYCFLAGS= MYLDFLAGS= @@ -35,8 +36,11 @@ LUAC_T= luac LUAC_O= luac.o print.o -ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) -ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) +LUAS_T= $(LUA_A:.a=.so.$(R)) +LUAS_O= $(addprefix .libs/,$(CORE_O) $(LIB_O) $(LUA_O)) + +ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) $(LUAS_O) +ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUAS_T) ALL_A= $(LUA_A) default: $(PLAT) @@ -51,6 +55,9 @@ $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files $(RANLIB) $@ +$(LUAS_T): $(LUAS_O) + $(CC) -o $@ $(SOFLAGS) $(LUAS_O) $(LIBS) + $(LUA_T): $(LUA_O) $(LUA_A) $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) @@ -120,6 +127,9 @@ # DO NOT DELETE +.libs/%o: %c + $(CC) $(CFLAGS) -fPIC -DPIC -c -o $@ $< + lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \ lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \ lundump.h lvm.h