--- src/Makefile.orig	2012-02-13 13:41:22
+++ src/Makefile	2023-02-11 02:19:28
@@ -36,7 +36,7 @@
 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) $(MACPORTS_SHARED_LIB)
 ALL_A= $(LUA_A)
 
 default: $(PLAT)
@@ -47,15 +47,21 @@
 
 a:	$(ALL_A)
 
+%.dylib: $(CORE_O) $(LIB_O)
+	$(CC) -o $@ -dynamiclib $(LDFLAGS) $^ -install_name $(MACPORTS_PREFIX)/lib/$(MACPORTS_SHARED_LIB) -compatibility_version $(MACPORTS_BRANCH) -current_version $(MACPORTS_VERSION)
+
+%.so: $(CORE_O) $(LIB_O)
+	$(CC) -o $@ -shared $(LDFLAGS) $^ -ldl -lm -Wl,-soname,$(MACPORTS_SHARED_LIB)
+
 $(LUA_A): $(CORE_O) $(LIB_O)
 	$(AR) $@ $(CORE_O) $(LIB_O)	# DLL needs all object files
 	$(RANLIB) $@
 
-$(LUA_T): $(LUA_O) $(LUA_A)
-	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
+$(LUA_T): $(LUA_O) $(MACPORTS_SHARED_LIB)
+	$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(MACPORTS_SHARED_LIB) $(LIBS)
 
-$(LUAC_T): $(LUAC_O) $(LUA_A)
-	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+$(LUAC_T): $(LUAC_O) $(MACPORTS_SHARED_LIB)
+	$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(MACPORTS_SHARED_LIB) $(LIBS)
 
 clean:
 	$(RM) $(ALL_T) $(ALL_O)
