--- Makefile.orig	2009-02-22 09:57:22.000000000 -0500
+++ Makefile	2009-02-22 09:57:55.000000000 -0500
@@ -43,7 +43,8 @@
 # What to install.
 TO_BIN= lua luac
 TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
-TO_LIB= liblua.a
+TO_LIB= liblua.a liblua.so
+
 TO_MAN= lua.1 luac.1
 
 # Lua version and release.
--- src/Makefile.orig	2009-02-22 09:55:14.000000000 -0500
+++ src/Makefile	2009-02-22 15:14:17.000000000 -0500
@@ -8,7 +8,7 @@
 PLAT= none
 
 CC= gcc
-CFLAGS= -O2 -Wall $(MYCFLAGS)
+CFLAGS= -O2 -Wall $(MYCFLAGS) -fPIC -fpic
 AR= ar rcu
 RANLIB= ranlib
 RM= rm -f
@@ -31,12 +31,13 @@
 
 LUA_T=	lua
 LUA_O=	lua.o
+LUA_SO= liblua.so
 
 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)
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
 ALL_A= $(LUA_A)
 
 default: $(PLAT)
@@ -57,6 +58,9 @@
 $(LUAC_T): $(LUAC_O) $(LUA_A)
 	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
 
+$(LUA_SO): $(CORE_O) $(LIB_O)
+	$(CC) -o $@ -shared $?
+
 clean:
 	$(RM) $(ALL_T) $(ALL_O)
 
--- etc/Makefile.orig	2009-02-22 10:05:01.000000000 -0500
+++ etc/Makefile	2009-02-22 15:14:32.000000000 -0500
@@ -8,7 +8,7 @@
 TST= $(TOP)/test
 
 CC= gcc
-CFLAGS= -O2 -Wall -I$(INC) $(MYCFLAGS)
+CFLAGS= -O2 -Wall -I$(INC) $(MYCFLAGS) -fPIC -fpic
 MYCFLAGS= 
 MYLDFLAGS= -Wl,-E
 MYLIBS= -lm
