--- src/Makefile.orig	2011-03-27 16:49:54.000000000 +0200
+++ src/Makefile	2011-03-27 16:55:30.000000000 +0200
@@ -23,6 +23,7 @@
 PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris
 
 LUA_A=	liblua.a
+LUA_DYLIB=	liblua.dylib
 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,8 @@
 LUAC_O=	luac.o print.o
 
 ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
-ALL_A= $(LUA_A)
+ALL_T= $(LUA_DYLIB) $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_A= $(LUA_DYLIB) $(LUA_A)
 
 default: $(PLAT)
 
@@ -48,14 +49,20 @@
 a:	$(ALL_A)
 
 $(LUA_A): $(CORE_O) $(LIB_O)
+	@echo "Building static library"
 	$(AR) $@ $?
 	$(RANLIB) $@
 
+$(LUA_DYLIB): $(CORE_O) $(LIB_O)
+	@echo "Building dylib"
+	$(CC) -o $@ $(MYLDFLAGS) -dynamiclib -install_name %PREFIX%/lib/liblua.dylib \
+		-compatibility_version %COMPAT_VERSION% -current_version %VERSION% $^
+
 $(LUA_T): $(LUA_O) $(LUA_A)
-	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+	$(CC) -o $@ -L. $(MYLDFLAGS) $(MYCFLAGS) $(MYLIBS) -llua lua.c
 
 $(LUAC_T): $(LUAC_O) $(LUA_A)
-	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_DYLIB) $(LIBS)
 
 clean:
 	$(RM) $(ALL_T) $(ALL_O)
@@ -99,7 +106,7 @@
 	$(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
 
 macosx:
-	$(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-lreadline"
+	$(MAKE) all MYCFLAGS="-fno-common -DLUA_USE_LINUX" MYLIBS="-lreadline"
 # use this on Mac OS X 10.3-
 #	$(MAKE) all MYCFLAGS=-DLUA_USE_MACOSX
 
