1diff --git a/Makefile b/Makefile
2index d2c7db4..dc107b3 100644
3--- a/Makefile
4+++ b/Makefile
5@@ -41,7 +41,7 @@ PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
6 # What to install.
7 TO_BIN= lua luac
8 TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
9-TO_LIB= liblua.a
10+TO_LIB= liblua.${pkgversion}.dylib
11 TO_MAN= lua.1 luac.1
12
13 # Lua version and release.
14@@ -63,6 +63,8 @@ install: dummy
15 cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
16 cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
17 cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
18+ ln -s -f liblua.${pkgversion}.dylib $(INSTALL_LIB)/liblua.${luaversion}.dylib
19+ ln -s -f liblua.${luaversion}.dylib $(INSTALL_LIB)/liblua.dylib
20
21 uninstall:
22 cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
23diff --git a/src/Makefile b/src/Makefile
24index 7b4b2b7..25001e5 100644
25--- a/src/Makefile
26+++ b/src/Makefile
27@@ -28,7 +28,7 @@ MYOBJS=
28
29 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
30
31-LUA_A= liblua.a
32+LUA_A= liblua.${pkgversion}.dylib
33 CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \
34 lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \
35 ltm.o lundump.o lvm.o lzio.o
36@@ -56,11 +56,13 @@ o: $(ALL_O)
37 a: $(ALL_A)
38
39 $(LUA_A): $(BASE_O)
40- $(AR) $@ $(BASE_O)
41- $(RANLIB) $@
42+ $(CC) -dynamiclib -install_name $(out)/lib/liblua.${pkgversion}.dylib \
43+ -compatibility_version ${pkgversion} -current_version ${pkgversion} \
44+ -o liblua.${pkgversion}.dylib $^
45
46 $(LUA_T): $(LUA_O) $(LUA_A)
47- $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
48+ $(CC) -fno-common $(MYLDFLAGS) \
49+ -o $@ $(LUA_O) $(LUA_A) -L. -llua.${pkgversion} $(LIBS)
50
51 $(LUAC_T): $(LUAC_O) $(LUA_A)
52 $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)