diff --git a/src/sbbs3/GNUmakefile b/src/sbbs3/GNUmakefile
index d4bb30124ee7be91e2ea6827046505e1e8376899..cfac249e595f3bd22fb359e4bca6dc15afd9c14e 100644
--- a/src/sbbs3/GNUmakefile
+++ b/src/sbbs3/GNUmakefile
@@ -216,9 +216,9 @@ $(JSEXEC): $(JSEXEC_OBJS) $(SBBS)
 	$(QUIET)$(CXX) $(LDFLAGS) $(MT_LDFLAGS) -o $@ $(JSEXEC_OBJS) -lsbbs $(JS_LIBS) $(SMBLIB_LIBS) $(UIFC-MT_LIBS) $(CIOLIB-MT_LIBS) $(XPDEV-MT_LIBS)
 
 # ANS2ASC
-$(ANS2ASC): $(OBJODIR)/ans2asc.o
+$(ANS2ASC): $(OBJODIR)/ans2asc.o $(OBJODIR)/sauce.o $(XPDEV_LIB)
 	@echo Linking $@
-	$(QUIET)$(CC) $(CONSOLE_LDFLAGS) -o $@ $(OBJODIR)/ans2asc.o
+	$(QUIET)$(CC) $(CONSOLE_LDFLAGS) -lm -o $@ $?
 
 # ASC2ANS
 $(ASC2ANS): $(OBJODIR)/asc2ans.o
diff --git a/src/sbbs3/filedat.h b/src/sbbs3/filedat.h
index 54022c65dcd4c8fd14053fbe6ecb938e85d354a4..c478d93436201030b66cd374dfdaed170fd62c50 100644
--- a/src/sbbs3/filedat.h
+++ b/src/sbbs3/filedat.h
@@ -26,6 +26,7 @@
 #include "client.h"
 #include "dllexport.h"
 #include "smblib.h"
+#include "sauce.h"
 
 #include <stdbool.h>
 
diff --git a/src/sbbs3/objects.mk b/src/sbbs3/objects.mk
index 159992113169ec11b269218fe90224b7934fb168..4ede13f39feb31ab538dbd9ca57952cfcca7f463 100644
--- a/src/sbbs3/objects.mk
+++ b/src/sbbs3/objects.mk
@@ -91,6 +91,7 @@ OBJS	=	$(MTOBJODIR)$(DIRSEP)ansiterm$(OFILE) \
 			$(MTOBJODIR)$(DIRSEP)readmsgs$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)readtext$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)ringbuf$(OFILE)\
+			$(MTOBJODIR)$(DIRSEP)sauce$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)scandirs$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)scansubs$(OFILE)\
 			$(MTOBJODIR)$(DIRSEP)scfglib1$(OFILE)\
@@ -190,6 +191,7 @@ SBBSECHO_OBJS = \
 			$(OBJODIR)$(DIRSEP)msg_id$(OFILE) \
 			$(OBJODIR)$(DIRSEP)msgdate$(OFILE) \
 			$(OBJODIR)$(DIRSEP)getmail$(OFILE) \
+			$(OBJODIR)$(DIRSEP)sauce$(OFILE) \
 			$(SMB_OBJS)
 
 ECHOCFG_OBJS = \
@@ -211,7 +213,8 @@ ADDFILES_OBJS = \
 			$(OBJODIR)$(DIRSEP)dat_rec$(OFILE) \
 			$(OBJODIR)$(DIRSEP)userdat$(OFILE) \
 			$(OBJODIR)$(DIRSEP)msgdate$(OFILE) \
-			$(OBJODIR)$(DIRSEP)filedat$(OFILE)
+			$(OBJODIR)$(DIRSEP)filedat$(OFILE) \
+			$(OBJODIR)$(DIRSEP)sauce$(OFILE)
 
 FILELIST_OBJS = \
 			$(OBJODIR)$(DIRSEP)filelist$(OFILE) \
@@ -224,6 +227,7 @@ FILELIST_OBJS = \
 			$(OBJODIR)$(DIRSEP)str_util$(OFILE) \
 			$(OBJODIR)$(DIRSEP)dat_rec$(OFILE) \
 			$(OBJODIR)$(DIRSEP)filedat$(OFILE) \
+			$(OBJODIR)$(DIRSEP)sauce$(OFILE) \
 			$(OBJODIR)$(DIRSEP)userdat$(OFILE)
 
 MAKEUSER_OBJS = \
@@ -320,6 +324,7 @@ DELFILES_OBJS = \
 			$(OBJODIR)$(DIRSEP)ars$(OFILE) \
 			$(OBJODIR)$(DIRSEP)nopen$(OFILE) \
 			$(OBJODIR)$(DIRSEP)filedat$(OFILE) \
+			$(OBJODIR)$(DIRSEP)sauce$(OFILE) \
 			$(OBJODIR)$(DIRSEP)userdat$(OFILE) \
 			$(OBJODIR)$(DIRSEP)dat_rec$(OFILE)
 
@@ -359,6 +364,7 @@ FMSGDUMP_OBJS = 	$(OBJODIR)$(DIRSEP)fmsgdump$(OFILE)
 
 UPGRADE_TO_V319_OBJS =	$(OBJODIR)$(DIRSEP)upgrade_to_v319$(OFILE) \
 			$(OBJODIR)$(DIRSEP)filedat$(OFILE) \
+			$(OBJODIR)$(DIRSEP)sauce$(OFILE) \
 			$(OBJODIR)$(DIRSEP)userdat$(OFILE) \
 			$(OBJODIR)$(DIRSEP)dat_rec$(OFILE) \
 			$(OBJODIR)$(DIRSEP)load_cfg$(OFILE) \